萬盛學電腦網

 萬盛學電腦網 >> 電腦入門 >> 如何發現防止Sniffer嗅探器

如何發現防止Sniffer嗅探器

 如何在網絡中發現一個Sniffer,簡單的一個回答是你發現不了。因為他們根本就沒有留下任何痕跡,sniffer是如此囂張又安靜,如何知道有沒有sniffer存在,這也是一個很難說明的問題。

  一、網絡通訊掉包率反常的高

  通過一些網絡軟件,可以看到信息包傳送情況,向ping這樣的命令會告訴你掉了百分幾的包。如果網絡中有人在Listen,那麼信息包傳送將無法每次都順暢的流到目的地。(這是由於sniffer攔截每個包導致的)。

  二、網絡帶寬出現反常

  通過某些帶寬控制器(通常是防火牆所帶),可以實時看到目前網絡帶寬的分布情況,如果某台機器長時間的占用了較大的帶寬,這台機器就有可能在監聽。在非高速信道上,如56Kddn等,如果網絡中存在sniffer,你應該也可以察覺出網絡通訊速度的變化。

  三、查看計算機上當前正在運行的所有程序。

  但這通常並不可靠,但可以控制計算機中程序運行。在Unix系統下使用下面的命令:ps-aux或:ps-augx。這個命令列出當前的所有進程,啟動這些進程的用戶,它們占用CPU的時間,占用內存的多少等等。

  Windows系統下,按下Ctrl+Alt+Del,看一下任務列表。不過,編程技巧高的Sniffer即使正在運行,也不會出現在這裡的。

  系統中搜索,查找可疑的文件。但入侵者可能使用自己編寫的程序,所以都會給發現sniffer造成相當大的困難。

  還有許多工具,能用來看看你的系統會不會在雜收模式。從而發現是否有一個Sniffer正在運行。

  防止sniffer駐入

  對於嗅探器如此強大的‘靈敏度’,你最關心的可能是傳輸一些比較敏感的數據,如用戶ID或口令等等。有些數據是沒有經過處理的,一旦被sniffer,就能獲得這些信息,解決這些問題的辦法是加密。

  介紹一下SSH,全名SecureShell,是一個在應用程序中提供安全通信的協議,建立在客戶機/服務器模型上的。SSH服務器的分配的端口是22,連接是通過使用一種來自RSA的算法建立的,在授權完成後,接下來的通信數據是用IDEA技術來加密的。這通常是較強的,適合與任何非秘密和非經典的通訊。

  SSH後來發展成為F-SSH,提供了高層次的,軍方級別的對通信過程的加密。它為通過TCP/IP網絡通信提供了通用的最強的加密。如果某個站點使用F-SSH,用戶名和口令成為不是很重要的一點。目前,還沒有人突破過這種加密方法。即使是sniffer,收集到的信息將不再有價值,當然最關鍵的是怎樣使用它。

  另類安全之法

  另一個比較容易接受的是使用安全拓撲結構。這聽上去很簡單,但實現起來花銷是很大的。這樣的拓撲結構需要有這樣的規則:一個網絡段必須有足夠的理由才能信任另一網絡段。網絡段應該考慮你的數據之間的信任關系上來設計,而不是硬件需要。開始處理網絡拓撲則要做到以下幾點:

  第一點:一個網絡段是僅由能互相信任的計算機組成的。通常它們在同一個房間裡,或在同一個辦公室裡。比如你的財務信息,應該固定在某一節點,就象你的財務部門被安排在辦公區域的的一個不常變動的地方。

  第二點:注意每台機器是通過硬連接線接到Hub的。Hub再接到交換機上。由於網絡分段了,數據包只能在這個網段上被sniffer。其余的網段將不可能被sniffer。

  第三點:所有的問題都歸結到信任上面。計算機為了和其他計算機進行通信,它就必須信任那台計算機。作為系統管理員,你的工作是決定一個方法,使得計算機之間的信任關系很小。這樣,就建立了一種框架,可以告訴你什麼時候放置了一個sniffer,它放在那裡了,是誰放的等等。

  第四點:如果你的局域網要和INTERNET相連,僅僅使用防火牆是不夠的。入侵者已經能從一個防火牆後面掃描,並探測正在運行的服務。你要關心的是一旦入侵者進入系統,他能得到些什麼。你必須考慮一條這樣的路徑,即信任關系有多長。舉個例子,假設你的WEB服務器對某一計算機A是信任的。那麼有多少計算機是A信任的呢。又有多少計算機是受這些計算機信任的呢?在信任關系中,這台計算機之前的任何一台計算機都可能對你的計算機進行攻擊,並成功。你的任務就是保證一旦出現的Sniffer,它只對最小范圍有效。


copyright © 萬盛學電腦網 all rights reserved