HTTP协议安全头部的笔记

这篇具有很好参考价值的文章主要介绍了HTTP协议安全头部的笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文于2016年3月完成,发布在个人博客网站上。 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。


近日项目组对当前开发、维护的Web系统做了AppScan扫描,扫描的结果惨不忍睹,问题很多。报告中报到“缺乏HTTP安全头部”。之前对HTTP协议的安全头部了解不多,为了消除AppScan报告中的警告,同时做更多的了解,搜集了一些相关的资料,于是有了本篇汇总笔记。

HTTP协议的安全头部

安全是一个非常大的话题,比如下面提到的HTTP安全头部,每个都可以使用单独的文章来说明和介绍。但Jackie当前还处于Web开发的入门阶段,还谈不上什么心得体会,先把找到的文章罗列出来吧。

  • 4 HTTP SECURITY HEADERS YOU SHOULD ALWAYS BE USING,中文翻译一,中文翻译二
  • Guidelines for Setting Security Headers,中文版
  • 一些安全相关的HTTP响应头

HTTP Strict Transport Security

  • 来自mozilla开发者网站,HTTP Strict Transport Security
  • 来自wikipedia,HTTP Strict Transport Security
  • 来自owasp,HTTP Strict Transport Security
  • 为什么我们要使用HTTP Strict Transport Security?

对于企业级Web应用,最简单直接的方法是禁用HTTP访问方式,全站启用HTTPS协议的支持,省事也安全;不过对于大型网站而言,全站启用HTTPS会带来其它方面的工作,来自百度运维部的相关总结值得一看,如下。

  • 全站 https 时代的号角 : 大型网站的 https 实践系列
  • 大型网站的 HTTPS 实践(1):HTTPS 协议和原理
  • 大型网站的 HTTPS 实践(2):HTTPS 对性能的影响
  • 大型网站的 HTTPS 实践(3):基于协议和配置的优化
  • 大型网站的 HTTPS 实践(4):协议层以外的实践

X-Frame-Options

  • X-Frame-Options的介绍,中文版
  • 使用HTTP 响应头信息中的 X-Frame-Options 属性防止网页被Frame
  • 点击劫持(clickjacking)与X-Frame-Options Header
  • Overcoming “Display forbidden by X-Frame-Options”,stackoverflow上的帖子,值得一读

X-Content-Type-Options

  • 减少 MIME 类型的安全风险
  • IE8 Security Part V: Comprehensive Protection
  • [Web开发] IE 如何判断文件的类型

X-XSS-Protection

  • Controlling the XSS Filter
  • 利用IE8/9浏览器XSS跨站攻击脚本筛选过滤特性(X-XSS-Protection)
  • 一个跨域请求的XSS漏洞再续

Content-Security-Policy

据caniuse上查询到的数据,IE系列的浏览器对CSP支持程度较低;由于我厂的用户主要还是使用IE系列的浏览器,因此暂时不需要启用支持。

  • Content Security Policy Level 2
  • W3C中文网站wiki上CSP的词条
  • Content Security Policy Level 2 介绍
  • Content Security Policy 介绍
  • HTTP 的内容安全策略(CSP)
  • HTML5安全介绍之内容安全策略(CSP)简介,中文版
  • HTTP 的内容安全策略(CSP)

如何增加安全头部

nginx的配置

网上有很多现成的资料,如下内容来自keakon的涂鸦馆,折腾了一下 nginx 配置

add_header X-Frame-Options SAMEORIGIN; # 只允许本站用 frame 来嵌套
add_header X-Content-Type-Options nosniff; # 禁止嗅探文件类型
add_header X-XSS-Protection "1; mode=block"; # XSS 保护
add_header Strict-Transport-Security: max-age=31536000; includeSubDomains

Tomcat的配置

大概是在7.0.63版本,Apache Tomcat引入了org.apache.catalina.filters.HttpHeaderSecurityFilter,用于增加对前述安全头部的支持,但并不完善;当前9.0.X版本中支持如下安全头部。

  • Strict-Transport-Security
  • X-Frame-Options
  • X-Content-Type-Options
  • X-XSS-Protection

如果使用7.0.63版本以后的Tomcat,可以修改$CATALINA_BASE/conf/web.xml文件,找到并取消如下Filter的配置。

<!--
    <filter>
        <filter-name>httpHeaderSecurity</filter-name>
        <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
        <async-supported>true</async-supported>
    </filter>
-->
<!-- 其它配置 -->
<!--
    <filter-mapping>
        <filter-name>httpHeaderSecurity</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
-->

如果使用低于7.0.63版本的Tomcat,可以使用org.apache.catalina.filters.HttpHeaderSecurityFilter类的最新代码编译、打包成扩展包,放在$CATALINA_BASE/lib路径下;同时在$CATALINA_BASE/conf/web.xml文件中增加上述配置。

org.apache.catalina.filters.HttpHeaderSecurityFilter提供了一些扩展配置,具体使用方法可以参考Apache Tomcat的官方文档。文章来源地址https://www.toymoban.com/news/detail-765353.html

其它资料

  • Can I Use,浏览器兼容情况验证的网站
  • 使用HTTP Headers防御WEB攻击(Part1)
  • 使用HTTP Headers防御WEB攻击(Part2)
  • 利用CSP探测网站登陆状态(alipay/baidu为例)
  • 浏览器安全策略说之内容安全策略CSP
  • web前端利用HSTS(新的Web安全协议HTTP Strict Transport Security)漏洞的超级Cookie(HSTS Super Cookie)

到了这里,关于HTTP协议安全头部的笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HTTP协议安全传输教程

    HTTP协议有多个版本,包括但不限于HTTP/0.9、HTTP/1.0、HTTP/1.1、HTTP/2和HTTP/3。这些版本各自具有不同的特点和改进,以适应网络技术的发展和满足不同的需求。例如,HTTP/1.0使用文本格式传输数据,简单易用且兼容性好,但性能较低,每个请求都需要建立和关闭TCP连接。而HTTP/2则

    2024年04月27日
    浏览(30)
  • HTTP协议学习笔记1

      输入网址进入网页过程发生了什么? DNS解析:浏览器会向本地DNS服务器发出 域名解析请求 ,如果本地DNS服务器中没有对应的IP地址,则会向上级DNS服务器继续发出请求,直到找到正确的IP地址为止。 建立TCP连接:浏览器会根据IP地址向服务器发送一个 TCP连接请求 ,建立起

    2024年02月14日
    浏览(27)
  • 什么是HTTP头部(HTTP headers)?

    前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个

    2024年02月07日
    浏览(39)
  • Java课题笔记~ HTTP协议(请求和响应)

    Servlet最主要的作用就是处理客户端请求,并向客户端做出响应。为此,针对Servlet的每次请求,Web服务器在调用service()方法之前,都会创建两个对象 分别是HttpServletRequest和HttpServletResponse。 其中HttpServletRequest用于封装HTTP请求消息,简称request对象; HttpServletResponse用于封装HTT

    2024年02月13日
    浏览(36)
  • 【网络技术】【Kali Linux】Wireshark嗅探(九)安全HTTP协议(HTTPS协议)

    本次实验是基于之前的实验:Wireshark嗅探(七)(HTTP协议)进行的。本次实验使用Wireshark流量分析工具进行网络嗅探,旨在初步了解安全的HTTP协议(HTTPS协议)的工作原理。 HTTPS的含义是HTTP + SSL,即使用SSL(安全套接字)协议对通信数据进行加密。HTTP和HTTPS协议的区别(用

    2024年01月20日
    浏览(51)
  • HTTP头部信息解释(超级详细)

    本篇文章将会详细的介绍HTTP头部信息,若大家在使用过程中有不了解的,可以适当参考。 若有问题,欢迎随时私聊!!! HTTP头部信息是HTTP协议中的一部分,它包含了HTTP请求和响应的元数据信息。HTTP头部由一组由冒号分隔的键值对组成,每个键值对占一行,每行以回车换行

    2024年02月16日
    浏览(43)
  • http请求头部(header)详解

    通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可 选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域

    2024年02月12日
    浏览(39)
  • HTTP 头部- Origin Referer

    Origin Header 示例 Origin 请求头部是一个 HTTP 头部,它提供了发起请求的网页的源(协议、域名和端口)信息。它通常在进行跨域资源共享(CORS)请求时使用,以便服务器可以决定是否接受请求。 假设我们在浏览器的地址栏输入并访问 http://www.example.com ,这个网站上有一个 AJ

    2024年02月21日
    浏览(34)
  • Jenkins通过OpenSSH发布WinServer2016

    上一篇文章 Jenkins集成SonarQube代码质量检测 jenkins环境 jenkins入门与安装 容器为docker 主机 IP 系统版本 jenkins 10.10.10.10 rhel7.5 1、下载 官网地址:https://learn.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_install_firstuse Win32-OpenSSH下载地址:https://github.com/PowerShell/Win32-OpenSSH/rele

    2024年02月14日
    浏览(45)
  • SQL注入之HTTP头部注入

    向服务器传参三大基本方法:GPC GET方法,参数在URL中 POST,参数在body中 COOKIE,参数http在请求头部中COOKIE cookie注入的注入点在cookie数据中,以sqil-labs-20关为例,做cookie注入练习,在虚拟机中打开链接http://127.0.0.1/sqli-labs-master/Less-20/index.php,用户名和密码都输入dumb登录 打开火狐

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包