(C#) IIS 响应标头过滤敏感信息(如:Server/X-Powered-By等) 运维知识

博客园   2023-06-27 17:19:52

背景:

再一次净网行动中,客户要求安全改造发现了接口请求的header标头中出现如图中的敏感信息。


(资料图片)

说明:

其意义在于告知浏网站是用什么语言或者框架编写的。解决办法就是修改该响应头为一个错误的值,将攻击者导向一个错误的方向。

准备:

这里只说windows 的iis环境,不考虑其他服务器的环境。首先下载url重写工具URL Rewrite

这里就放个地址https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads

操作:

步骤 1.打开您要删除服务器标头的站点,然后双击 URL重写(URLRewrite ) 部分

步骤 2. 单击 右侧 操作窗格的查看服务器变量(View Server Variables)

步骤 3. 单击添加按钮,然后在提供的文本框中输入“RESPONSE_SERVER”。

步骤4.现在我们需要创建出站规则。

添加规则(Add Rule) - 选择出站规则(Outbound rules)栏的空白规则(Blank rule)

更多进出站规则设置参考链接

https://www.iis.net/learn/extensions/url-rewrite-module/creating-outbound-rules-for-url-rewrite-module

步骤 5. 编辑出站规则如下。

名称:Remove Server 变量名称:RESPONSE_SERVER 其他按图填写

总结:

剩下的X-Powered-By和X-AspNet-version的服务器变量名称分别为:

服务器变量(View Server Variables) 和出站规则页面变量(Variables Name)均等于RESPONSE_X-POWERED-BY

服务器变量(View Server Variables) 和出站规则页面变量(Variables Name)均等于RESPONSE_X-ASPNET-VERSION