溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用iptables封鎖對某個域名的DNS查詢

發(fā)布時間:2020-02-24 19:40:09 來源:網絡 閱讀:1164 作者:757781091 欄目:安全技術

現在有一需求,需要禁止主機對某一個域名的DNS查詢,想到用iptables的string模塊,使用下面的命令:

iptables -D OUTPUT -m string --string "www.baidu.com" --algo bm -j
DROP

但使用上面的命令并不能過濾對www.baidu.com 的查詢。根據參考鏈接中的文檔,www.baidu.com 在DNS查詢時會被編碼如下:

03www05baidu03com

編碼時域名以點被分為各子字符串(www,baidu和com)“.”不會被編碼,每個子字符串前面是這個字符串的長度。下面是對DNS查詢的抓包:
使用iptables封鎖對某個域名的DNS查詢
字符串 www.baidu.com 被編碼十六進制為:

03 77 77 77 05 62 61 69 64 75 03 63 6f 6d

77的是w的ascii碼,其余字符也可以對照ascii進行查詢。77 77 77 前面的03正是www這三個字符串的長度。
根據參考鏈接,可以使用iptables的string模塊的十六進字符串進行過濾

iptables -A OUTPUT -p udp --dport 53 -m string --hex-string "|03|www|05|baidu|03|com|" --algo bm -j DROP

iptables 自動將

|03|www|05|baidu|03|com|

轉換成十六進制。
參考鏈接:
https://linuxsecurity101.com/2018/11/18/tips-and-tricks-blocking-dns-requests-via-iptables/

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI