任意域名访问网站漏洞分析及解决办法
作者:动易软件
来源:本站原创
点击数: 次
发布时间:2019年10月09日
问题描述:
1、网站前端的WAF或负载均衡设备要检测后端WEB服务器状态时,用的是类似“”这样的IP直接来请求网站看是否返回200状态码以判断是否正常,在这种情况下,如何配置IIS站点以同时满足“让WAF或负载均衡设备对WEB服务器的状态检测结果正常”和“不能出现将任意域名解析到此网站的IP后就可以用这个域名来访问网站的情况(即正式网站一定要绑定主机头,不能绑定空主机头)”这两个需求?
2、当正式网站需要维护升级(比如要还原数据库),此时要暂停网站,有什么更好的方法能让用户得到更友好的提示?
2、当正式网站需要维护升级(比如要还原数据库),此时要暂停网站,有什么更好的方法能让用户得到更友好的提示?
问题解决:
这两问题答案其实是一个:另外建一个最简单的IIS站点,绑定空白主机头。
另外建一个IIS站点,指向一个空的文件夹:
然后把对应的应用程序池的“.Net CLR版本”改成“无托管代码”,也就是变成纯静态网站。
再在网站所的主目录(那个空白文件夹)下新建一个文本文件,并改名成index.html
修改这个文件,输入“网站维护中中…………”字样。保存。
最后,修改网站的错误页,把404的错误改成如下图所示:
再配置一下文件夹权限,给Users分配“读取”权限(只给这个权限就可以了)。
这样配置好了以后,因为这个站点是绑定空主机头,也就是任意域名都可以访问。同时因为配置了404错误页都是index.html,也就是说访问所有URL都是会返回index.html的内容,而内容是“网站维护中…………”。
这样配置了以后,有几个好处:
1、攻击者把与正式网站无关的域名解析到服务器上,虽然也能访问,但显示的内容是“网站维护中…………”,不是正式网站的内容,避免了任意域名可以访问网站的漏洞。
2、当正式网站需要临时维护,停止正式网站的IIS站点,访问正式网站的域名就会显示这个“网站维护中…………”的内容,这对用户来说是一个是非常友好的提醒。