最近做了个网站,www.lezhifu.cc,刚开始没有做任何防范,导致别人恶意解析,
下面来看看别人具体是怎么做的。
环境:
nginx + 静态html网站
服务器:阿里云
域名:www.lezhifu.cc
ip: 47.103.53.229
阿里云域名管理已经配置了域名映射到ip地址,即将该域名映射到此ip:47.103.53.229,
访问www.lezhifu.cc即访问47.103.53.229:80端口
配置
在看看nginx的配置,访问80端口时,映射到服务器的根目录/usr/lezhifu_website,找对应目录下的index.htm或index.html
1  | server {  | 
nginx有了这样的配置,当你访问www.lezhifu.cc时,就会解析到/usr/lezhifu_websit/index.html文件了,然后返回到浏览器。
域名恶意解析
当时我的网站代码添加了百度统计功能,在统计页面上看到别人的域名,我在纳闷儿为什么访问别人的域名也统计到我的数据中呢?
于是我咨询了阿里云,给的解释是域名恶意解析,第一次听说这个名词,也第一次碰到别人恶意攻击我的网站,
估计后面还会有更麻烦的Dos DDos攻击吧,希望不要被我碰到。
由于nginx这里没有做任何限制,导致别人的域名也可以这样配置,解析到我的ip下,如下阿里云的【域名控制台】 【解析】:


他的域名映射到我的ip即可完成域名恶意解析。
解决办法
这里贴下阿里云给出的方法:
参考如下文档,修改自己的Web服务器(例如Nginx、Apache)配置,禁止以IP的形式访问域名,只允许您自己的域名访问。
IIS设置禁止通过IP访问:https://help.aliyun.com/document_detail/40946.html
Apache禁止未经许可的域名访问网站:https://help.aliyun.com/document_detail/41091.html
Nginx禁止未经许可的域名访问网站:https://developer.aliyun.com/article/7735
我的方法是这样的,修改nginx配置:
vim /usr/local/nginx/conf/nginx.conf
1  | server {  | 
添加了if判断:
1  | if ($host !~* ^(lezhifu\.cc|\w+\.lezhifu\.cc)$) {  | 
如果域名不是从lezhifu.cc或者其子域名访问的,一律返回403 Request Forbidden。
ok,大功告成。
希望这个网络世界里,少一点恶意,多一点善意,共同维护这个美好的网络世界。
我是乐知付加密平台,一个专为知识付费服务的加密平台。
欢迎关注微信公众号:【乐知付加密平台】
一起学习,一起进步。
