叮叮叮~~~电话响起,一看是老铁来电 直接接听 “哥哥 我的网站打不开了!是不是服务器挂了?能帮我看看吗?谢谢了!“我的回答当然是没问题,于是要来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;

       }