DNS 解析器和請求連接埠過濾

DNS 解析器和請求連接埠過濾

在對 DNS 伺服器進行 DNS 放大攻擊期間,我觀察到一些 DNS 請求對 IP/連接埠有類似104.49.96.196:80.我知道這是 IP 欺騙,但是可以考慮過濾 DNS 請求的連接埠嗎?我相信我們不應該期望連接埠 > 1023。在這種情況下,我相信這是一個很容易發現的勝利,並且不會回覆 DNS 放大攻擊(如果封包到達 DNS 伺服器並且沒有被 WAF 丟棄)。

答案1

不,這不是一個安全的假設。不要嘗試過濾端口,這不會產生有用的結果。客戶端如何處理其本地端口是它自己的事,因此作為伺服器,您可以期望從所有連接埠獲取流量。 Unix 1024 的分裂是過去的古老遺產,在今天基本上已經沒有任何意義了。

如果你想對抗 DNS 放大,除了「標準」措施(例如確保你確實需要處理你收到的所有流量,也就是說你沒有完全開放),現在最常用的方法之一是 RRL 或基本上速率限制。

看著https://www.infoblox.com/dns-security-resource-center/dns-security-solutions/dns-security-solutions-response-rate-limiting-rrl/有關該主題的介紹以及https://www.isc.org/docs/DNS-RRL-LISA14.pdf以獲得更多技術演示。

答案2

DNS 用戶端的來源連接埠應大於 1023。

如果它< 1024,那麼它應該只是來源連接埠 53(如果它來自其他 DNS 伺服器) - 但這不太可能。

驗證與tcpdump port 53

透過查看RFC6056使用一些範例進行簡化我們可能會更進一步說,任何表現良好的 IP 堆疊都不應該有低於 49152(第一個臨時連接埠)的來源連接埠。然而 3.2 節卻與此相矛盾,樣本也是如此。

但在任何人都可以提供重新定義 RFC6056 的 RFC 參考之前,可以肯定地說 sport <= 1023 是無效的。

如果由於某種原因請求失敗,客戶端應該重試,並希望獲得成功的請求。 (即使這會失敗,我也會忽略這些實作)

相關內容