Security
如何避免 DNS 欺騙進行 DNS 查找
我正在嘗試找到一種方法來獲取域名的真實 IP 地址。我正在研究使用iptables和tc進行流量整形的路由器。然後我需要設置iptables規則來標記來自某些域的數據包,使用它們的 ip 地址。
我第一次使用dig命令,查詢域的名稱伺服器,如下所示:
nbNameServer=`$dig NS $url +short | wc -l` # If there is NS for the given domain if [ $nbNameServer -gt 0 ]; then for i in $($dig NS $url +short $TOdig); do ipDom=`$dig @$i $url +short $TOdig` # Ip found on the $i name server, no need to consult the others if [ -n "$ipDom" ]; then failed=`echo -e "$ipDom" | egrep "no servers could be reached"` if [ ! -n "$failed" ]; then break else ipDom="" fi fi done fi
如果 /etc/resolv.conf 文件中的路由器讓我們說 8.8.8.8 google DNS,是否有一種方法 ip 或域不是最新的或使用我的方式進行欺騙?
我實際上不知道路由器是否會處於使用本地 DNS 伺服器的環境中。
是否也可以使用host命令執行安全的 DNS 查找?
我唯一要確定的是,對於給定的域 mydomain.com,DNS 查找將返回所有最新的 IP 地址(我只需要 A 或 AAAA 記錄)。
我對所有 DNS 機制仍然有些困惑,因此當然歡迎任何評論/評論/建議。
實際上,您從中獲得的結果不太可能
dig
被偽造。但是,如果您想要某種絕對的保證,那麼您就不走運了——沒有像 DNSSEC 這樣的東西,欺騙是完全可能的。
只要 DNSSEC 未被廣泛使用,防止 DNS 欺騙的最佳方法就是使用“源埠隨機化”。自從“Kaminsky DNS bug”以來,這一點尤其重要。
您需要確保您使用的 DIG 版本以及您查詢的遞歸 DNS 伺服器都實現了“源埠隨機化”。
從理論上講,即使是“源埠隨機化”也仍然可以進行欺騙,但這需要很長時間和大量的網路流量。