
我以軟體的形式問這個問題(也因為過去這裡有一些 DNSSEC 問題)。
http://en.Wikipedia.org/wiki/DNS_cache_poisoning#Prevention_and_mitigation
我在維基百科上看到了這個,想知道是否有人可以為我解釋一下:
“如上所述,DNS 請求的來源連接埠隨機化,結合使用加密安全隨機數來選擇來源連接埠和 16 位元加密隨機數,可以大大降低 DNS 競爭攻擊成功的可能性”
我不明白連接埠隨機化如何防止客戶端的 DNS 中毒攻擊?或者這只是指 DNS 伺服器?客戶端可以使用相同的連接埠隨機化嗎?
答案1
域名系統要求總是從客戶端到伺服器,因此來源連接埠位於客戶端,並且是需要隨機化的連接埠。
伺服器的回覆從連接埠 53 傳送到客戶端的原始來源連接埠。正如您可能從閱讀中猜測的那樣,如果可以預測客戶端使用的下一個來源端口,則可以在真正的回復之前欺騙回复。
請注意,當 DNS 伺服器不是所請求網域的授權機構並且啟用了遞歸時,它本身就是客戶端。因此,您向 DNS 伺服器詢問 Google.com 的 IP 位址,然後 DNS 伺服器就會關閉並查詢根伺服器以得出答案。這就是回覆真實性至關重要的地方,因為請求 DNS 伺服器將快取所有回應,並將它們作為任何後續請求的答案提供。
如果我可以預測您的 ISP DNS 伺服器將用於下一個查詢的來源端口,我可以在真正的回復之前將我自己的答案注入到請求中,那麼您的 ISP DNS 對於使用它的每個人都會中毒。
(請注意,為了(希望)清晰起見,此場景已被大大簡化)