提倡DNS過濾,減少URL過濾

(本文轉自http://blog.chinaunix.net/uid-127037-id-2919464.html)
1. URL過濾的問題
 
URL過濾是現在防火牆的一個重要的訪問控制方法,同時還衍生出一系列技術,如URL重組,和URL分類服務器連動等。固然URL控制可以限制到文件級別的粒度,但在實際應用中進行如此細粒度控制的幾乎沒有,並不限制訪問的目錄名和文件名,基本還是限制在域名級別。這樣帶來的問題就是不用URL訪問,而是用IP地址訪問,在訪問前先使用nslookup等工具先解析出IP地址後用IP訪問,這樣URL域名過濾就會失效;其二,即使域名限制成立,但等URL重組完,再識別,再強行斷開連接,對系統,包括客戶端、服務器和防火牆的資源都是很大浪費。
 
URL過濾還有一個比較大的缺陷,在HTTP/1.1中,域名部分是通過HTTP頭的“Host: ”字段來獲取的,其他字段均不能保證能正確獲取域名,而這個字段有的服務器並不檢查,可以隨便填個別的域名,服務器也可以正確返回;而在HTTP/1.0中,這個字段更加不是必須的,因此根本不能保證獲取正確的域名。

2. DNS過濾的優勢
 
解決方法是DNS過濾,即在域名解析時就進行限制,在DNS請求包中就把域名提取出來進行判斷。由於DNS一般是UDP包,一個包中就包含了所有信息,不需要重組(對於TCP的DNS協議可以關閉,使用UDP的已經足夠了);其次,對於UDP包,各種資源的消耗都很少,客戶端發UDP的資源消耗遠小於TCP,服務器根本就沒消耗,防火牆跟蹤UDP也比跟蹤TCP要簡單得多;再次,限制得可以更加全面,通常URL只限制了HTTP,而限制DNS則把該域名對應的所有服務都可以限制住;最後,DNS限制就沒有IP訪問的漏洞,因爲本來就得不到IP。

當然,DNS過濾是無法控制到目錄和文件級別的粒度的,但大部分情況都不需要。所以必要時可以用DNS過濾爲主,URL過濾爲輔的方法進行過濾。

3. 結論
 
使用DNS過濾,能更快更有效的限制對域名的訪問,過濾得也更徹底,強於URL過濾。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章