前一陣子發現的 DNS Abuse Attack 行為找到了原因,
追查之後, 發現是某些 CPE 裝置, 如分享器等存在 DNS forward 漏洞所引起,
正常來說, DNS forward 只能 forward 內部(Private IP)來的 query,
但是有問題的 CPE 會把外部 DNS query forward 給它取得的 DNS,
攻擊者可以利用這點, 就可以對這些終端進行大量 DNS query, 達到 DDoS 攻擊,
ISP 所看到的 query source IP 都是自家客戶的 IP, 所以沒辦法用擋 IP 的方式來處理.
大部份的 query type 都是 any 或 txt, 因為回應的封包量比較大, 量大就足以癱瘓 DNS Server.
例如:
host -t any .
host -t txt isc.org
知道攻擊行為後, 就可以研擬防範的方法
1. 在 DNS 或防火牆設 UDP Port 53 rate limit
2. 擋掉 To 客戶端的 UDP Port 53, 前題是客戶沒有人架 DNS
3. 在 DNS 擋掉 query type=any, 這雖然是正規的 query, 但軟體應該不會進行這樣的查詢,
若是 Linux 平台的 DNS, 可以用下面的 rule 擋掉
iptables -t raw -A PREROUTING -p udp --dport 53 -m string --algo bm --hex-string "|0000ff0001|" -j DROP
Recent Comments