我的公司正在使用Tenable来识别安全漏洞。最近发现了缺失的HSTS。我们的服务器使用的是IIS10。
我已经添加了多个博客中概述的HSTS标题,并在这里提出了关于SO的问题。
我的根web.config如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<add key="Environment" value="Local" />
</appSettings>
<system.webServer>
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect global" stopProcessing="true" >
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}"
redirectType="Permanent" />
</rule>
</rules>
<outboundRules>
<rule name="Add Strict-Transport-Security when HTTPS" enabled="true">
<match serverVariable="RESPONSE_Strict_Transport_Security"
pattern=".*" />
<conditions>
<add input="{HTTPS}" pattern="on" ignoreCase="true" />
</conditions>
<action type="Rewrite" value="max-age=31536000; includeSubDomains; preload" />
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
问题:应用更改后,Tenable仍然显示漏洞。此外,在FireFox的开发工具中检查一个站点时,我可以看到标题存在,但安全选项卡显示HSTS被禁用。
问:如何使此更改在Firefox和Tenable中显示?
1条答案
按热度按时间lp0sw83n1#
它也可能与你在HSTS标题中提到的预加载标签有关。你确定你的网站已经被添加到预加载列表中了吗(由google/chrome维护)
如果您正在部署您的网站作为子域,那么您可能还需要添加HSTS到父域(这不是一个子域),并提交预加载。
完成后,您可以在https://hstspreload.org/上进行验证并查找更多详细信息