叮叮叮~~~电话响起,一看是老铁来电 直接接听 “哥哥 我的网站打不开了!是不是服务器挂了?能帮我看看吗?谢谢了!“我的回答当然是没问题,于是要来IP 和登录信息。
老铁的网站属于个人网站,多是一些图片商品展示什么的。经过我的推荐放在了国内某VPS提供商上面,从外面找人配置的服务器和网站页面,我帮忙做的备案实名认证啥的。
好了,检查开始
浏览器输入网址打不开,firebug检查服务器没有返回
telnet xxx.me 80端口不通
dig xxx.me 解析正常
ping xxx.me 正常
ssh 能正常登录
ps 查看web 进程 存在
lsof -i:80 端口正常
telnet 内网ip 80端口正常
iptables 检查发现无规则限制
telnet 公网80端口不通
重启web服务,重复上述检查效果一样
过上面检查发现问题出在公网IP这里 可是ping公网地址是正常的而且可以ssh登录 说明IP本身没问题,那就只剩下80端口了,可是内网地址80没问题,也就是说问题出在公网IP的80端口
又测试了几次公网的80端口,发现仍然不通,似乎被防火墙挡住了!于是拿起电话拨打XX VPS客服妹妹电话没多久接通了:“你好,我是xxx账号的用户,我的公网ip地址xxx.xxx.xxx.xxx的80端口不通了能帮忙查一下吗?”
客服妹妹很干脆:“好的,您稍等”.....音乐过后“您好,您的IP地址xxx为没有备案的域名提供了正常的网站服务,按照XXX的X规定X要求对其80端口进行了封禁!”
What?!没有备案,不对啊,他的域名还是我帮忙弄得备案呢!然后我把已经备案的事情说出并把域名告诉客服妹子,得到的回复是:“您好,导致IP端口被封的不是这个域名,涉及的域名为xxx.com,请尽快对该域名进行备案.”
说到这我就明白了,应该是被恶意解析了。但你们封端口之前怎么也得提醒一声吧?!!!
打开配置文件,发现并没有客服提到的那个域名,当然也没做恶意解析的限制,电话跟老铁确认一下这个的确不是他的域名,还询问了一下他最近有什么不寻常的事情,他说最近有个新产品上市网站上贴了介绍而已。行了,事情到这里就清楚了
这下简单了,改吧,在web服务器配置文件里所有vhost前面加入一段配置,默认没有匹配的域名就会跑到这个vhost上去。重启web服务 确定直接用ip无法打开网页了,又用工具扫了一下安全漏洞之后,跟客服妹子说了声 并发了邮件,几个小时以后网站恢复...
在2017年6月1日以后,各大IDC和提供商们对备案、实名制和漏洞都非常重视,一言不合就封你IP,甚至都不跟你说就直接干掉。
这样似乎给了一些目的不纯之人可乘之机,利用这个规则借助XX机构和IDC的手来干掉你的网站。管理者们似乎觉得直接针对受害者比去找破坏者来的更加有效-_-||| 。经常搞的网站运营者措手不及。
这里建议网站运营者们在建站的时候多注意一些安全的细节,也希望我们的网络运营商在发现问题时、在处理前 能给我们一些提醒和修复时间,毕竟我们是消费者是你们的客户,而你们是商人是服务提供者不是"协管"
下面贴上apache 和 nginx 防止恶意解析的配置
Apache
<VirtualHost *:80>
DocumentRoot /data/vhost/error/
ServerName 127.0.0.1
<Directory /data/vhost/error/>
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>
CustomLog /data/logs/null.log combined
</VirtualHost>
Nginx
server {
listen 80 default;
return 405;
}