防止獨立IP被其它惡意域名惡意解析


一:什么是惡意域名解析

        一般情況下,要使域名能訪問到網站需要兩步,第一步,將域名解析到網站所在的主機,第二步,在web服務器中將域名與相應的網站綁定。但是,如果通過主機IP能直接訪問某網站,那么把域名解析到這個IP也將能訪問到該網站,而無需在主機上綁定,也就是說任何人將任何域名解析到這個IP就能訪問到這個網站。

二:惡意域名解析的危害

        可能您並不介意通過別人的域名訪問到您的網站,但是如果這個域名是未備案域名呢?

        假如那域名是不友善的域名,比如曾經指向非法網站,容易引發搜索引擎懲罰,連帶IP受到牽連。即使域名沒什么問題,但流量也會被劫持到別的域名,從而遭到廣告聯盟的封殺。

三:防止域名惡意解析方法

1.nginx服務

  定義一個默認的空主機名,禁止其訪問,需要通過的域名一定要在其他server配置。

server { listen 80 default; server_name ""; return  444; }

或者

server { listen 80 default; server_name _; return  444; }

 

2.Tomcat服務

修改server.xml這個配置文件

比如服務器IP地址是 10.0.0.60 ,相應域名是 www.wzlinux.com

打開 %TOMCAT_HOME%/conf/server.xml文件

找到 Engine節點作如下Xml代碼 ,事例:

<Engine name="Catalina" defaultHost="www.piis.cn"> 
  <Host name="www.piis.cn" appBase="webapps"    unpackWARs="true" autoDeploy="true"    xmlValidation="false" xmlNamespaceAware="false"/> 
  <Host name="10.0.0.60" appBase="ipapps"    unpackWARs="true" autoDeploy="true"    xmlValidation="false" xmlNamespaceAware="false"/> 
</Engine>

注意事項:

  1. Engine 節點配置的 defaultHost 表明缺省訪問的Host。defaultHost對應的名稱必須存在於Engine節點下配置的host節點中。

  當一台機器有多個IP,而按照規定只允許通過一個指定的域名訪問時很有用。此時,把defaultHost指定為非域名對應的host,這樣不通過域名訪問時就都定位到指定的非域名HOST了

  2. Host 節點 name 對應IP地址,以及域名。一個Host只有指定一個IP或域名。

  3. Host 節點的 appBase ,對應的是存放web應用的目錄。這里輸入的目錄相對於 %TOMCAT_HOME%,

  如上面的www.wzlinux.com對應的目錄是 %TOMCAT_HOME%/webapps,而10.0.0.60 對應的目錄是 %TOMCAT_HOME%/ipapps。

 

3.Apache服務

在用apache搭建的WEB服務器的時候,如何想只能通過設定的域名訪問,而不能直接通過服務器的IP地址訪問呢,有以下兩種方法可以實現(當然肯定還會有其他方法可以實現),都是修改httpd.conf文件來實現的,下面舉例說明。 

1、方法一

在httpd.conf文件最后面,加入以下代碼 

NameVirtualHost 221.*.*.*
<VirtualHost 221.*.*.*> ServerName 221.*.*.*
    <Location /> Order Allow,Deny Deny from all </Location>
</VirtualHost>
     
<VirtualHost 221.*.*.*> DocumentRoot "/www/web" ServerName www.wzlinux.com </VirtualHost>

    說明:上部分是實現拒絕直接通過221.*.*.*這個IP的任何訪問請求,這時如果你用221.*.*.*訪問,會提示拒絕訪問。下部分就是允許通過www.wzlinux.com這個域名訪問,主目錄指向/www/web(這里假設你的網站的根目錄是/www/web) 

2、方法二

在httpd.conf文件最后面,加入以下代碼 

NameVirtualHost 221.*.*.*
<VirtualHost 221.*.*.*> DocumentRoot "/www/test" ServerName 221.*.*.*
</VirtualHost>
  
<VirtualHost 221.*.*.*> DocumentRoot "/www/web" ServerName www.wzlinux.com </VirtualHost>

    說明:上部分是把通過221.*.*.*這個IP直接訪問的請求指向/www/test目錄下,這可以是個空目錄,也可以在里面建一個首頁文件,如index.hmtl,首面文件內容可以是一個聲明,說明不能通過IP直接訪問。下部分的意思跟方法一是一樣的。 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM