PCI扫描8172端口Web服务器版本泄露漏洞修复方案咨询
根因说明
TCP 8172是Azure App Service平台层托管的Web Deploy服务默认监听端口,不属于用户部署的应用实例可控范围。你此前在web.config中配置的响应头移除规则、跨区域重建资源/应用的操作,仅能作用于80/443端口对应的用户应用站点,完全无法触达平台基础设施层的8172端口IIS配置,因此扫描告警重复出现属于预期结果。
该端口返回带版本号的Server: Microsoft-IIS/10.0响应头,是平台默认配置导致的,并非你应用本身的配置疏漏。
可落地修复方案
根据你的实际使用场景选择对应方案即可:
- 方案1:公网完全阻断8172端口访问(优先推荐,合规性最高)
如果你不需要使用Web Deploy方式发布应用,直接进入Web App的「配置>常规设置」页,关闭Web Deploy功能,平台会直接停止8172端口的公网监听,扫描器无法连接该端口自然不会触发告警。 - 方案2:限制8172端口的访问来源
如果你需要保留Web Deploy发布能力,不需要对公网全开该端口:进入Web App的「网络>访问限制」页,针对8172端口单独配置访问规则,仅放行你方发布操作使用的出口IP段,拒绝其余所有公网IP的访问请求。有VNet接入场景的也可以直接配置该端口仅允许VNet内部访问,公网侧完全屏蔽。 - 方案3:保留公网访问能力同时移除版本响应头
因特殊要求必须保留8172端口公网开放的,无需修改web.config,直接在Web App的「配置>应用程序设置」中添加两个平台级配置项,等待配置同步后即可生效:- 配置项名:
WEBSITE_REMOVE_SERVER_HEADER,值为true - 配置项名:
WEBSITE_DISABLE_IIS_SERVER_HEADER,值为true
添加完成后保存配置,重启应用实例,等待3-5分钟让平台侧配置全量同步即可。
- 配置项名:
有效性验证
配置完成后先本地验证再触发合规扫描,使用curl命令发起测试请求:curl -I https://<你的站点公网IP>:8172/ -k
检查返回的响应头中,Server字段已被移除,或不再携带具体IIS版本号,即代表修复生效。
注意:所有应用层的代码修改、web.config规则配置、IIS模块安装操作,都无法作用于平台托管的Web Deploy服务,不要在这类操作上耗费时间。
内容的提问来源于stack exchange,提问作者Mario Levesque
相关产品推荐
相关产品推荐

