1.授權DNS服務器限制名字服務器遞歸查詢功能,遞歸dns服務器要限制遞歸訪問的客戶(啟用白名單IP段)
2.限制區傳送zone transfer,主從同步的DNS服務器范圍啟用白名單,不在列表內的DNS服務器不允許同步zone文件
allow-transfer{ };
allow-update{ };
3.啟用黑白名單
已知的攻擊IP 加入bind的黑名單,或防火墻上設置禁止訪問;
通過acl設置允許訪問的IP網段;
通過acl設置允許訪問的IP網段;通過acl設置允許訪問的IP網段;
4.隱藏BIND的版本信息;
5.使用非root權限運行BIND;
4.隱藏BIND的版本信息;
5.使用非root權限運行BIND;
6.刪除DNS上不必要的其他服務。創建一個DNS服務器系統就不應該安裝Web、POP、gopher、NNTP News等服務。
建議不安裝以下軟件包:
1)X-Windows及相關的軟件包;2)多媒體應用軟件包;3)任何不需要的編譯程序和腳本解釋語言;4)任何不用的文本編輯器;5)不需要的客戶程序;6)不需要的其他網絡服務。確保域名解析服務的獨立性,運行域名解析服務的服務器上不能同時開啟其他端口的服務。權威域名解析服務和遞歸域名解析服務需要在不同的服務器上獨立提供;
7.使用dnstop監控DNS流量
#yum install libpcap-devel ncurses-devel
下載源代碼 http://dns.measurement-factory.com/tools/dnstop/src/dnstop-20140915.tar.gz
#;
9.增強DNS服務器的防范Dos/DDoS功能
使用SYN cookie
增加backlog,可以一定程度減緩大量SYN請求導致TCP連接阻塞的狀況
縮短retries次數:Linux系統默認的tcp_synack_retries是5次
限制SYN頻率
防范SYN Attack攻擊: # echo 1 > /proc/sys/net/ipv4/tcp_syncookies 把這個命令加入"/etc/rc.d/rc.local"文件中;
10.[防中間人攻擊(Man in the Middle Attack)]:對域名服務協議是否正常進行監控,即利用對應的服務協議或采用相應的測試工具向服務端口發起模擬請求,分析服務器返回的結果,以判斷當前服務是否正常以及內存數據是否變動。在條件允許的情況下,在不同網絡內部部署多個探測點分布式監控;
11.[防ddos攻擊]提供域名服務的服務器數量應不低于2臺,建議獨立的名字服務器數量為5臺。并且建議將服務器部署在不同的物理網絡環境中; 使用入侵檢測系統,盡可能的檢測出中間人攻擊行為; 在域名服務系統周圍部署抗攻擊設備,應對這類型的攻擊;利用流量分析等工具檢測出DDoS攻擊行為,以便及時采取應急措施;
12.[防 緩存窺探(Cache Snooping)]:限制遞歸服務的服務范圍,僅允許特定網段的用戶使用遞歸服務;
13.[防緩存中毒(或DNS欺騙)(Cache Poisoning or DNS Spoofing)]:對重要域名的解析結果進行重點監測,一旦發現解析數據有變化能夠及時給出告警提示; 部署dnssec;
14.建立完善的數據備份機制和日志管理系統。應保留最新的3個月的全部解析日志,并且建議對重要的域名信息系統采取7×24的維護機制保障,應急響應到場時間不能遲于30分鐘。