黑客主要用 Sniffer 来捕获 Telnet、FTP、POP3 等数据包,因为这些协议以明文在网上传输,我们可以
使用一种叫做 SSH 的安全协议来替代 Telnet 等容易被 Sniffer 攻击的协议。
SSH 又叫 Secure Shell,它是一个在应用程序中提供安全通信的协议,建立在客户/服务器模型上。SSH
服务器分配的端口是 22,连接是通过使用一种来自 RSA 的算法建立的。在授权完成后,接下来的通信数
据用 IDEA 技术来加密。这种加密方法通常是比较强的,适合于任何非秘密和非经典的通信。
SSH 后来发展成为 F-SSH,提供了高层次的、军方级别的对通信过程的加密。它为通过 TCP/IP 的网络
通信提供了通用的最强的加密。如果某个站点使用 F—SSH,用户名和口令就不再重要了。目前,还没有人
突破过这种加密方法。即使是 Sniffer,收集到的信息将不再有价值。有兴趣的读者可以参看与 SSH 相关的
书籍。
另一种抵御 Sniffer 攻击的方法是使用安全的拓扑结构。因为 Sniffer 只对以太网、令牌环网等网络起作
用,所以尽量使用交换设备的网络可以从最大程度上防止被 Sniffer 窃听到不属于自己的数据包。还有一个
原则用于防止 Snther 的被动攻击 一个网络段必须有足够的理由才能信任另一网络段。网络段应该从考虑具
体的数据之间的信任关系上来设计,而不是从硬件需要上设计。一个网络段仅由能互相信任的计算机组成。
通常它们在同一个房间里,或在同一个办公室里,应该固定在建筑的某一部分。注意每台机器是通过硬连
接线接到集线器(Hub)的,集线器再接到交换机上。由于网络分段了,数据包只能在这个网段上被捕获,其
余的网段将不可能被监听。
所有的问题都归结到信任上面。计算机为了和其他计算机进行通信,它就必须信任那台计算机。系统
管理员的工作就是决定一个方法,使得计算机之间的信任关系很小。这样,就建立了一种框架,告诉你什
么时候放置了一个 Sniffer,它放在哪里,是谁放的等等。
如果局域网要和 Internet 相连,仅仅使用防火墙是不够的。人侵者已经能从一个防火墙后面扫描,并探
测正在运行的服务。应该关心的是一旦人侵者进人系统,他能得到些什么。你必须考虑一条这样的路径,
即信任关系有多长。举个例子,假设你的 Web 服务器对计算机 A 是信任的,那么有多少计算机是 A 信任
的呢?又有多少计算机是受这些计算机信任的呢?一句话,就是确定最小信任关系的那台计算机。在信任关
系中,这台计算机之前的任何一台计算机都可能对你的计算机进行攻击并成功。你的任务就是保证一旦出