知识专栏
多方位、多角度、深度解读您所关心的问题

漏洞报告:

检测到目标网站Strict-Transport-Security响应头缺失。

漏洞描述:

Web 服务器对于 HTTP 请求的响应头中缺少 Strict-Transport-Security,这将导致浏览器提供的安全特性失效。 当 Web 服务器的 HTTP 头中包含 Strict-Transport-Security 头时,浏览器将持续使用 HTTPS 来访问 Web 站点,可以用来对抗协议降级攻击和 Cookie 劫持攻击。 

其可选的值有: max-age=SECONDS,表示本次命令在未来的生效时间;includeSubDomains,可以用来指定是否对子域名生效。

漏洞危害:

Web 服务器对于 HTTP 请求的响应头中缺少 Strict-Transport-Security,这将导致浏览器提供的安全特性失效,更容易遭受 Web 前端黑客攻击的影响。

解决办法:

(1)修改服务端程序,给 HTTP 响应头加上 Strict-Transport-Security

【a】如果是 java 服务端,可以使用如下方式添加 HTTP 响应头:

response.setHeader("Strict-Transport-Security", "value")

【b】如果是 php 服务端,可以使用如下方式添加 HTTP 响应头:

header("Strict-Transport-Security: value")

【c】如果是 asp 服务端,可以使用如下方式添加 HTTP 响应头:

Response.AddHeader "Strict-Transport-Security", "value"

【d】如果是 python django 服务端,可以使用如下方式添加 HTTP 响应头:

response = HttpResponse() response["Strict-Transport-Security"] = "value"

【e】如果是 python flask 服务端,可以使用如下方式添加 HTTP 响应头:

response = make_response() response.headers["Strict-Transport-Security"] = "value"; 

(2)修改负载均衡或反向代理服务器,给 HTTP 响应头加上 Strict-Transport-Security

【a】如果使用 Nginx、Tengine、Openresty 等作为代理服务器,在配置文件中写入如下内容即可添加 HTTP 响应头:

add_header Strict-Transport-Security value;

【b】如果使用 Apache 作为代理服务器,在配置文件中写入如下内容即可添加 HTTP 响应头:

Header add Strict-Transport-Security "value"。

实际操作如下:

(1)如果是iis环境,在网站根目录新建web.config配置文件,并在文件中加入以下代码:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <!--检测到目标Strict-Transport-Security响应头缺失-->
                <add name="Strict-Transport-Security" value="max-age=63072000; includeSubdomains; preload" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

(2)如果是Apache环境,在网站根目录新建.htaccess配置文件,并在文件中加入以下代码:

<IfModule mod_headers.c>
  Header set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
</IfModule>

如果在.htaccess中有其他伪静态规则,在放在伪静态规则前面即可,如下所示:

<IfModule mod_headers.c>
  Header set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^article-([0-9]+)-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3
RewriteRule ^category-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=lists&catid=$1&page=$2
</IfModule>


赞一下
--
踩一脚
--

您已成功复制微信号

leishi010

打开微信添加好友?

确定