近日,在关注SEO时无意中看到一条信息:和自己服务器同IP的网站(域名)竟然有6个!这难道不应该是自己专属的吗?难道云服务器不是独立的吗?

同IP网站域名清单
同IP网站域名清单

从震惊中慢慢缓过神来,才意识到,原来是有人做了“恶意DNS解析”,将他们的域名恶意解析到了自己的服务器IP上。好在自己的服务器做了跨域限制,没有出现什么安全问题;但终究令人不爽,除了占用服务器带宽等资源,还将对SEO产生不良影响。

恶意域名备案信息
恶意域名备案信息

因此,亟需一些应对措施。

  1. 联系对方域名所有人,要求停止解析。
  2. 配置Nginx返回错误码。
  3. 配置meta跳转。

第一种方式显然不现实,因此,只能通过技术方式自己去解决。

Ngxin配置方式

配置代码如下:

nginxCopy code
  • 1
  • 2
  • 3
  • 4
  • 5
server { listen 80 default_server; server_name _; return 404; }
server { listen 80 default_server; server_name _; return 404; }

如果是HTTPS,配置如下:

nginxCopy code
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
server { listen 443 ssl default_server; server_name _; ssl_certificate /path/to/pem; # pem文件的路径 ssl_certificate_key /path/to/key; # key文件的路径 return 404; }
server { listen 443 ssl default_server; server_name _; ssl_certificate /path/to/pem; # pem文件的路径 ssl_certificate_key /path/to/key; # key文件的路径 return 404; }

重启Nginx:

bashCopy code
  • 1
nginx -s reload
nginx -s reload

以上,即可解决他人域名的恶意解析问题。效果如下:

Nginx屏蔽效果
Nginx屏蔽效果

 

注:之所以不是返回500而是404,是想要“告诉”搜索引擎,停止并删除该URL的索引。

meta跳转方式

在Nginx等服务器的应用根路径新建index.html,在header部分加入以下代码:

xmlCopy code
  • 1
<meta http-equiv="refresh" content="0; url=www.yourdomain.com"/>

以上,即可实现自动跳转。

更进一步,如果邪恶一点,可以将其重定向到某些不可描述的地址,以示惩罚。(手动狗头🐶……)

延伸……

正所谓“防人之心不可无”,基本、必要的安全防护措施还是很有必要的。此事给自己警醒:

  1. 严格的跨域策略。
  2. 白名单机制的重要性。
  3. 具备一些基本的运维知识。