遇到这种情可以建一个默认的站点 (注意,要保证这个的站点在所有站点的最前面,可以通过ip直接访问此站)
<VirtualHost *:80>
ServerAdmin webmaster@localhost DocumentRoot /var/www
<Directory />
Options Indexes FollowSymLinks MultiViews AllowOverride None Order deny, deny from all #直接屏蔽所有人访问
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
为防止有效的恶意指向,最常见的解决思路是:1. 取消服务器上的默认站点,即保证所有站点都绑定域名,不存在空主机头,如IIS可采用该方法;
2. 删除默认网站的内容,或禁止访问默认网站,如果没有默认网站,则另外新建默认网站,一般是新建虚拟主机,并设置为默认网站的或放在其它虚拟主机的最前面,然后删除默认网站的内容,或禁止访问默认网站,如apache、tomcat、jboss和nginx均可采用该方法,IIS也可以。
3. 使用WEB服务器前端的内容过滤防火墙,禁止非服务器的域名请求进入主机。
Apache可以通过禁用第一个虚拟站点。
打开apache的配置文件,通常是httpd.conf文件,使用基于域名的访问方式。必须有下面的指令,Apache的第一个虚拟站点即为默认站点,切记,是第一个,而不是参数决定的,这点和tomcat不同,然后必须对此站点进行限制。
NameVirtualHost *
这里开始设置第一个虚拟站点,设置一个禁止访问的站点,apache则会提示403的禁止访问的错误。
<VirtualHost *>
ServerName www.firstdisabledsite.com
DocumentRoot /www/forbid
</VirtualHost>
禁止访问/www/domain目录或删除该目录下所有文件。
下面可以设置其它有效站点了,随便你再设多少个,只是端口和第一个禁止的虚拟主机相同就行
<VirtualHost *>
ServerName www.otherdomain.tld
DocumentRoot /www/otherdomain
</VirtualHost>
这么做,随意你有多少个IP,都成功了。
将主机上全部的网站(包括虚拟站点)都绑定好自己的域名,不出现空主机头绑定。
这个适用于目前所有的web服务器,包括iis,apache等,原理很简单,如果一个非法域名指向到某台服务器,而该服务器上存在着空主机头的站点,这时候使用该域名访问,效果是和使用ip访问是一致的。
web服务器会自动的将请求(Request)分配(Dispatch)到空主机头的站点上,这样就使得非法指向的恶意域名有了可访问性,如果是非法的网站被工信部扫描到之后,受损失的是该主机的客户和该客户的服务商。
扩展资料:
域名恶意指向的原理:
若某个非法域名指向到某台服务器,而该服务器上存在空主机头的站点,此时web服务器会自动将请求分配到空主机头的站点上,这样就使非法指向的恶意域名有了可访问性。
域名恶意指向之后会有什么后果:
非法网站被工信部扫描到之后,将会影响到该主机客户的域名备案等信息。
参考资料来源:百度百科-域名
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)