云服务器被非法域名恶意指向
背景
云服务器被非法域名恶意指向,工信部扫描到之后,也会对该云服务器进行处罚,这样就会带来无谓的损失,但任何一台云服务器,目前都无法避免这个现象。
原理
如果一个非法域名指向到某台服务器,而该服务器上存在着空主机头的站点,这时候使用该域名访问,效果是和使用 IP 访问是一致的,Web 服务器会自动的将请(Request)分配(Dispatch)到空主机头的站点上,这样就使得非法指向的恶意域名有了可访问性,被工信部扫描到之后,受损失的是该云服务器的客户和该客户的服务商。
解决方法
文档提供以下几种类型的 web 服务解决方式:
-
IIS
-
Nginx
-
Tomcat
-
Apache
IIS 配置方法
-
查看是否绑定主机头,如以下截图主机名为空,则表示未绑定主机名。
-
配置 IIS 网站绑定主机名
-
验证只能通过绑定的域名访问,其他方式无法访问网站页面即可。
Nginx 配置方法
-
首先打开 nginx 域名配置文件存放目录:/etc/nginx/nginx.conf
说明 不同安装方式 nginx 路径可能不同,但配置文件写法一样。
-
配置默认站点禁止 IP 地址访问。
server { listen 80 default_server; listen [::]:80 default_server; server_name _; return 403; }
-
配置网站绑定主机头。
server { listen 80; server_name www.server.com; # 绑定域名 index index.htm index.html index.php; # 默认文件 root /var/www/html/server/; # 网站根目录 include location.conf; # 调用其他规则,也可去除 }
-
重启 nginx 服务器,验证访问效果。
使用 IP 访问效果
Tomcat 配置方法
-
修改
$TOMCAT_HOME/conf
目录下的server.xml
文件<Engine name="Catalina" defaultHost="你的默认启动域名">
说明 上面这行的意思是通过 IP 直接访问的是你的默认启动域名所指向的目录。 (在此请把默认启动域名指向一个不存在的路径,这样当恶意域名指向时系统返回 404 错误。)
<Host name="你的域名" appBase="项目在硬盘的物理位置,例如: /home/wwwRoot" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="项目在硬盘的物理位置,例如: /home/wwwRoot" reloadable="true" deubg="0" /> </Host>
说明 如果还有其他的域名,再添加一个以上 Host 内容段内容即可。
-
重启 Tomcat 服务。
Apache 配置方法
Apache 中对于每个 VirtualHost,都要求有 ServerName 或者 ServerAlias,而且不能为空。
-
进入 Apache 的
conf
目录,打开httpd.conf
文件,找到 VirtualHost。<VirtualHost *:80> DocumentRoot /home/domain # 域名对应的-项目目录 ServerName blog.com # 项目目录对应的-域名 </VirtualHost>
-
重启 Apache 服务。