DNS 反射放大攻擊分析
前陣子業務上碰到了 DDOS 攻擊,正好是 DNS 反射型的,之前只是聽過,沒自己處理過,仔細學習了一番之後做點記錄。
簡介
DNS 反射放大攻擊主要是利用 DNS 回覆包比請求包大的特點,放大流量,偽造請求包的源 IP 地址為受害者 IP,將應答包的流量引入受害的服務器。
簡單對比下正常的 DNS 查詢和攻擊者的攻擊方式:
正常 DNS 查詢: 源 IP 地址 -----DNS 查詢----> DNS 服務器 -----DNS 回覆包----> 源 IP 地址
DNS 攻擊: 偽造 IP 地址 -----DNS 查詢----> DNS 服務器 -----DNS 回覆包----> 偽造的 IP 地址(攻擊目標)
分析
從服務器上抓了一些攻擊包,根據這些數據包可以來看看這種攻擊都是什麼特點。
- 全部是大量的 DNS 響應請求( Response 請求)
- 通常裡面包含一些不存在或者生僻的域名,經過循環查詢從而放大 DNS 流量
- 會將將 OPT RR 字段中的 UDP 報文大小設置為很大的值(如 4096)
通過這樣放大了攻擊流量。發送的 DNS 查詢請求數據包大小一般為 60 字節左右,而查詢返回結果的數據包大小通常為 3000 字節以上,因此,使用該方式進行放大攻擊能夠達到 50 倍以上的放大效果。
- 大量的流量都來自正常的 DNS 服務器
攻擊者通過偽造 IP 向正常的 DNS 服務器發送這些惡意的查詢請求,將流量引入受害者的服務器,受害者查不到攻擊者的真實 IP。
解決方案
- 如果沒有必要可以關閉 DNS 服務(這完全是廢話,哈哈)
- 如果有 DNS 服務,做好響應限制,DNS 服務不應對互聯網上的域名解析服務,而只響公司內部網絡 DNS 解析請求。
- 限制 DNS 響應數據包大小的閾值,直接丟棄超大的響應數據包。
閱讀更多 互聯網技術科普作家 的文章