查看單個文章
舊 2005-11-03, 05:56 PM   #3 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

因為連接網站時DNS訊息必須通過防火牆以實現IP位址查詢,一些木馬以及洩漏測試就試圖把它們的通訊偽裝成DNS請求。然而通過把DNS通訊位址限定為你的ISP所提供的DNS伺服器,這種偽DNS請求就可以被有效的攔截。有兩 種方法可以完成這項工作:

(a). 「全局DNS」設定-把你的ISP的DNS伺服器位址加入到全局規則中

改動收益:通過少量工作即可完成上述工作。
付出代價:如果你通過多家ISP上網,那麼所有的伺服器位址都需要被增加進去-如果你更換了ISP或者ISP更改了它們的伺服器位址,那麼你就需要把新的位址更新進規則中去。


如果你有程序或者網路環境需要套用反覆式DNS查詢(Windows環境下通常使 用遞回式查詢,反覆式通常是套用於DNS伺服器之間),那麼組態這條規則就可能會出現問題。

步驟:
•找到你的ISP使用的DNS伺服器位址。最簡單的方法就是在指令行視窗中使用「ipconfig –all」來查詢,Windows 9x/Me/Xp的用戶也可以在開始選單的「執行」對話視窗中使用winipcfg得到相關資訊。


•把這些位址作為遠端主機位址加入到「Allow DNS Resolving」全局規則中。

Windows 2000/XP用戶還應該把這些位址加到應用程式規則中services.exe/svchost.exe的相關項目中(詳情參見E2部分)。

(b). 「應用程式DNS」設定-移除全局規則,逐個給每個程序增加DNS規則

改動收益:如此一來新增加的程序通常需要兩項規則(DNS規則和程序自身需要的規則)來減少可疑程序在意外情況下的通行。


試圖與「老家」通訊的惡意程序現在就面臨著尋找必要IP位址的額外手續,這樣它們會誤認為現在無網路連接從而進入休眠狀態直到被偵測到 。


只通過DNS連接阜通訊的這類木馬程序現在就必須通過額外規則才可以通行,這也是現在唯一可以遮閉DNShell以及類似洩漏測試的方法。
付出代價:需要完成繁瑣的多的工作-每一個程序都需要增加一條額外的規則。更換ISP後需要把所有規則更新為新的DNS位址。

步驟:

•在Windows 2000和XP環境下,關掉「DNS客戶服務」(通過 開始/控制台/管理選項/服務)。這會強迫每個程序發出自己的DNS請求,而不是通過services.exe(Win2000)和svchost.exe(WinXP)發出。


•停用或者移除「系統和應用程式全局規則」中的「Allow DNS Resolving」規則。
•對每一個程序增加一個新規則,使用下列關鍵字:
<軟體名> DNS Resolution:指定傳輸協定UDP,遠端連接阜53,遠端主機<你的ISP的DNS伺服器位址>,允許

可以通過設定本規則為預設規則來簡化工作。步驟如下:中斷連線網路,結束Outpost,開啟preset.lst文件(位於Outpost程式文件夾中)並在文件末尾增加下列規則:

; Application DNS Resolution

[Application DNS Resolution]
VisibleState: 1
RuleName: Application DNS Resolution
Protocol: UDP
RemotePort: 53
RemoteHost: 加入你的ISP的DNS伺服器位址,如有多個用逗號分隔
AllowIt

增加該預設規則後,日後碰到增加規則嚮導提示的時候只要選定該預設規則匯入即可(如果你想允許該程序通行的話)。這種情況下,IP位址在「選項/程序」中將以附帶(255.255.255.255)子網路遮罩的形式出現,此即指明了一個 列項的IP位址範圍,其與單獨一個IP位址所起作用相同。


注意此時「工具/自動檢查昇級」選項應該被禁用,因為對preset.lst的改動可能被自動更新的文件覆蓋掉(雖然「自動更新」在覆蓋文件以前會提示),一個比較好的辦法是手動制作備份該檔案,然後再進去行更新,更新完畢後如有必要再把備份檔案覆蓋回去。

注意-兩種DNS設定都需要的規則

不管選項上述兩種設定中的哪一種,都需要考慮到一種情況-DNS查詢使用更多的是UDP(User Datagram Protocol)傳輸協定而不是TCP(Transport Control Protocol)傳輸協定。


查詢使用到TCP傳輸協定的情況很少見而且通常是複雜查詢-實際使用中通常它們可以被遮閉,因為該查詢會用UDP傳輸協定再次傳送,因此在全局規則中可以增加一條規則如下:

Block DNS(TCP):傳輸協定 TCP,方向 出站,遠端連接阜 53,禁止

如果你想允許此類通訊,那麼或者是修改規則為「允許」(指全局DNS規則)或者是為每一個程序新增第二條DNS規則用TCP取代UDP(應用程式DNS規則)。

報告疑為木馬程序偽裝的DNS活動

任何對已設定DNS伺服器以外位址的查詢都應該被視為可疑活動而在預設情況下被禁止,此時可以在DOS視窗中用ipconfig /all指令來查詢是否ISP的DNS伺服器已改變而需要更新DNS規則設定。

此時可以通過在全局規則中其它DNS規則下方增加如下規則來解決-第二條只有在上述提到的TCP DNS規則設為允許的情況下才需要:

Possible Trojan DNS(UDP): 傳輸協定 UDP,遠端連接阜 53,禁止 並且報告
Possible Trojan DNS(TCP): 傳輸協定 TCP,方向 出站,遠端連接阜53,禁止 並且報告

該規則會禁止任何可疑的DNS嘗試並且做出報告。

注意該規則不推薦採用應用程式DNS設定的用戶使用,因為合法DNS伺服器位址需要從規則中排除以防止誤報(例如當一個沒有設定規則的程序發起請求的時候)-指定IP位址範圍可以解決該問題,但是Outpo st現有對IP段的處理能力並不是很完善。
D2-指定DHCP伺服器位址

DHCP(Dynamic Host Configuration Protocol)是大多數ISP給登入用戶分配臨時IP位址使用的一種方法。因為想要與ISP建立連接就必須允許DHCP通訊,這也就成為了木馬程序為了在不被探測到的情況下向外傳送訊息所可能採用的一種手段。


除此之外,向特定位址用大量的DHCP訊息 進行衝擊也成為了Denial of Service(DoS)攻擊採用的一種手法。更多關於DHCP訊息可參考RFC 2131 - Dynamic Host Configuration Protocol。

如果你的系統使用固定IP位址(不管是因為位於局內網還是因為使用獲得動態位址的路由器)那麼此部分設定可以略過。想檢查DHCP是否被套用,可以在指令行視窗使用ipconfig /all來查詢-在視窗底部可以得到相關資訊。

限制DHCP通訊到某個特定伺服器比對DNS做出限制要稍微複雜一些,因為Outpost看起來暫時還不能始終如一的精確分辨出DHCP通訊的方向(部分是由於DHCP傳輸協定使用UDP傳輸協定,部分是由於它能包括的IP位址的變化),因此本規則推薦對本機和遠 程連接阜而不是對方向進行限制。

另外,第一次DHCP請求是對255.255.255.255位址發出的廣播形式(該通訊應該送達區域網路中所有的主機),因為機器啟動時無從得知DHCP伺服器的位址,後續的DHCP請求(為了更新IP位址分配)才會被傳送到 DHCP伺服器。

Windows 2000和XP用戶可以通過只允許通過全局規則的廣播以及對其它請求設定應用程式規則(Windows 2000是services.exe,Windows XP是svchost.exe)來進一步限制DHCP通訊,請參考E2部分獲得更詳盡的訊息。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次