请选择 进入手机版 | 继续访问电脑版

无忧编程_ASP.NET  / C# / PHP 程序员的软件世界

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 93|回复: 0

主机被非法域名恶意指向问题的探讨及解决方法建议

[复制链接]

262

主题

289

帖子

1172

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1172
发表于 2017-10-30 13:25:16 | 显示全部楼层 |阅读模式
主机被非法域名恶意指向问题的探讨及解决方法建议
客户的主机被非法域名恶意指向,工信部扫描到之后,也会对该主机进行处罚,这样就会带来无畏的损失,但任何一台主机,目前都无法避免这个现象,作为主机的主人,应该如何保护自己的服务器不受此类问题的干扰呢?
解决这个问题的方法非常的简单,只有一句话:
将主机上全部的网站(包括虚拟站点)都绑定好自己的域名,不出现空主机头绑定(也就是说禁止通过IP直接访问主机上的默认页面)。这个适用于目前所有的web服务器,包括iis、apache、Jboss、Tomcat等。
原理很简单: 如果一个非法域名指向到某台服务器,而该服务器上存在着空主机头的站点,这时候使用该域名访问,效果是和使用ip访问是一致的,web服务器会自动的将请求(Request)分配(Dispatch)到空主机头的站点上,这样就使得非法指向的恶意域名有了可访问性,被工信部扫描到之后,受损失的是该主机的客户和该客户的服务商。

Windows独享主机被非法域名恶意指向怎么办?
什么是空主机头的绑定呢?比如在iis中:


这个就是不符合要求的。必须在主机头这一列设置好自己的域名,也就是说:
QQ图片20171030132309.png QQ图片20171030132341.png QQ图片20171030132357.png
Apache独享主机被非法域名恶意指向怎么办?
Apache中对于每个VirtualHost,都要求有ServerName或者ServerAlias,而且不能为空,具体可以参考http://httpd.apache.org/docs/1.3/vhosts/name-based.html
举例:  NameVirtualHost 111.22.33.44     <VirtualHost 111.22.33.44>    ServerName www.domain.tld    ServerPath /domain    DocumentRoot /web/domain    </VirtualHost>

JBoss7虚拟主机的配置
1.standalone.xml中修改:
enable-welcome-root="true" 改为false
<socket-binding name="http" port="80"/>

2.在第一个项目中添加jboss-web.xml(和web.xml一个目录)。
<?xml version='1.0' encoding='UTF-8' ?>
<jboss-web>
<context-root>/</context-root>
<virtual-host>YouthFortyA</virtual-host>
</jboss-web>
第二个:
<?xml version='1.0' encoding='UTF-8' ?>
<jboss-web>
<context-root>/</context-root>
<virtual-host>YouthFortyB</virtual-host>
</jboss-web>
依次...
3.在standalone.xml文件中含有virtual-server的subsystem标签中添加以下内容:
<virtual-server name="YouthFortyA" default-web-module="x">
<alias name="x.youthforty.com"/>
</virtual-server>
<virtual-server name="YouthFortyB"default-web-module="x">
<alias name="xx.youthforty.com"/>
</virtual-server>
依次...
virtual-server name="YouthFortyA"中的YouthFortyA对应项目中jboss-web.xml的virtual-host。
default-web-module="x"中x为x.war,即项目程序名称,Jboss会通过这个名称映射到对应的项目中去。
alias name="xx.youthforty.com"中的xx.youthforty.com是项目网址。

Tomcat配置虚拟主机方法
目录下的conf/server.xml文件,找到这行
<Engine name="Catalina" defaultHost="你的默认启动域名">
上面这行的意思是通过IP直接访问的是你的默认启动域名所指向的目录
(在此请把默认启动域名指向一个不存在的路径,这样当恶意域名指向时系统返回404错误。)
然后在</Host>后,</Engine>之前,添加以下内容
<Host name="你的域名" appBase="项目在硬盘的物理位置,例如: c:\wwwRoot"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="项目在硬盘的物理位置,例如: c:\wwwRoot" reloadable="true" deubg="0" />
      </Host>
如果还有其他的域名的话,再添加一个<Host></Host>内容就可以了.可以配置N个虚拟主机

windows .net(C#+MSSQL) linux(php+mysql)  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软件编程 Inc.  

GMT+8, 2017-12-17 11:56 , Processed in 1.267001 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表