UDP反射DDoS攻擊原理和防範
反射攻擊的防範措施
上述協議安裝後由於有關服務默認處於開啟狀態,是其被利用的一個重要因素。因此,防範可以從配置主機服務選項和訪問控制權限(ACL)入手。具體建議如下:
Chargen攻擊防範配置方法
關閉Chargen服務,具體的操作方法:
1.Linux系統:在/etc/inetd.conf文件中註釋掉‘chargen’服務,或者在/etc/xinetd.d/目錄下將chargen服務對應的文件中的“disable” 屬性改為 “yes”。
2. 在Window 系統下:Chargen服務屬於Windows系統中的SimpTCP服務,一般情況下Windows系統缺省不會安裝該服務,如已安裝該服務,可以通過如下幾種方式關閉服務:
(1)通過控制面板中的Service管理程序,關閉SimpTCP服務;
(2)通過修改註冊表:通過註冊表編輯器將以下兩項表項的值設為0HKLM\System\CurrentControlSet\Services
\SimpTCP\Parameters\EnableTcpChargenHKLM\System\
CurrentControlSet\Services\SimpTCP\Parameters\EnableUdpChargen
(3)通過命令行執行net 程序:netstop simptcp;net start simptcp。
NTP攻擊防範配置方法
1.升級版本Linux 系統中的ntpd 4.2.7p26及之後的版本關閉了monlist請求功能。升級到ntpd 4.2.7p26或更高版本可以避免針對該漏洞的攻擊。
2. 禁用或限制狀態查詢
(1)在Linux系統下,如果monlist功能開放,可嘗試通過修改ntp.conf配置文件解決問題,具體操作建議是在上述文件中增加下面的配置:
IPV4:restrict default kodnomodifynotrapnopeernoquery
IPv6:restrict-6 default kodnomodifynotrapnopeernoquery
另外,還可以配置限制訪問命令,如:restrict default noquery。
(2)Windows Server系統的設置方法較為簡單:在ntp.conf配置文件中增加(或修改)“disable monitor”選項,可以關閉現有NTP服務的monlist 功能。
修改並保存配置文件之後,請重啟ntpd服務。
DNS攻擊防範配置方法
1. 關閉遞歸查詢
(1)在UNIX系統的DNS服務器下:在全局配置選項中加入如下限制以關閉遞歸查詢:
options {allow-query-cache {none};recursion no;};
(2)在Windows系統的DNS 服務器下,采取如下步驟:a.打開DNS(“開始”-“程序”-“管理工具”-單擊“DNS”);b. 在控制列表樹中,單擊“適用的DNS服務器”;c.在“操作”菜單上,單擊“屬性”;d.點擊“高級”;e.在“服務器選項”中,選中“禁用遞歸”復選框,然後確定。
2. 授權特定用戶進行遞歸查詢
在特定組織或者ISP中部署的DNS服務器,域名解析應當配置成對授權的客戶機提供遞歸查詢。這些遞歸查詢請求應當只來源於該組織內的客戶機地址。建議所有的服務器管理員只允許內部客戶機的遞歸查詢請求。
在UNIX系統的DNS 服務器配置下,在全局配置選項中做如下設置:
acl corpnets{192.168.1.0/24;192.168.2.0/24;};options {allow-query {any;};
allow-recursion {corpnets;};};
SSDP攻擊防範配置方法
1. 關閉系統服務
(1)在Windows下以管理員身份運行cmd.exe,並執行以下命令:scconfigSSDPSRV start=DISABLED;(2)在桌面上右擊“計算機”,在“服務和應用程序”中點擊“服務”,找到“SSDP Discovery”服務,雙擊後該服務後選擇“禁用”選項。
2. 防火墻攔截
(1)在Windows 系統操作如下:在“開始”-“控制面板”-“Windows防火墻”-“高級設置”中,分別在“入站規則”和“出站規則”中加入一條新的規則,新建規則操作如下:點擊“新建規則”,選擇“端口”和“下一步”,選擇“UDP”,並在“特定遠程端口中”輸入“1900”,點擊“下一步”,選擇“阻止連接”和“下一步”,選擇“域”、“專業(P)”、“公用(U)”和“下一步”,在名稱中輸入“SSDPDiscovery”,並點擊“完成”。
(2)在Linux系統操作如下:
a.打開/etc/sysconfig/iptables文件(操作以CENTOS 為例),在文件中加入如下規則:
-A INPUT -p udp -m udp --sport 1900 -j DROP
-A INPUT -p udp -m udp --dport 1900 -j DROP
-A OUTPUT -p udp -m udp --sport 1900 -j DROP
-A OUTPUT -p udp -m udp --dport 1900 -j DROP
b.最後重啟防火墻:#service iptablesrestart
需要另外說明的,Chargen、NTP、DNS協議也可以在路由器或防火墻配置過濾條件,攔截目的或者源端口為相應服務端口(19 號、123 號、53 號端口等)的所有UDP報文,配置規則可參考上述1900端口的規則格式。
SNMP攻擊防範配置方法
SNMP服務通常用於遠程監控網絡設備狀態,例如路由器、交互機、網絡打印機、以及其它聯網的嵌入式設備,不同類似的設備SNMP服務配置方式存在差異,有些具備ACL功能,有些缺少相應的訪問控制。因此通用的解決方法是在邊界防火墻上攔截目的或者源端口為161的UDP報文,具體方式和SSDP等類似。
本文針對主機服務配置的防範討論大致如上。限於篇幅,針對單個協議的防護技術(如應用於DNS 反射攻擊防範的Anycast流清洗技術)等相關內容不再詳細列出。
本文分析了反射DDoS攻擊的原理、攻擊特點和常見的攻擊協議,包括Chargen、NTP、DNS、SNMP 和SSDP 協議,並對攻擊相關協議的漏洞進行了詳細描述。協議本身的設計缺陷以及配置不當是造成攻擊的主要原因。文章最後從不同角度提出了應對該類攻擊的防範措施。雖然不能從根本上杜絕攻擊的發生,但是強化網絡管理的意識和對設備的有效配置可以在一定程度上降低發生反射攻擊的可能。
UDP反射DDoS攻擊原理和防範