77 FreeBSD连载:安全工具( 二 )


cops是一个由系统管理员运行,检查系统内部设置的程序 。它针对已知的Unix存在问题进行检查,如检查系统中是否存在没有口令的帐户,是否有非法SetUID程序,以及是否存在Internet上已经报告过的系统漏洞,是否存在有问题的软件等等 。系统管理员能使用cops来检查系统的配置有无问题 。
Satan则与cops不同,Satan是从系统外部进行检查系统是否存在安全问题的程序,它能对网络存在的脆弱性自动进行搜索、分析并提供安全报告 。这种从外部分析系统的软件一般称为扫描器,由于Satan功能强大并提供了可扩展的框架,因此在Internet上十分流行 。它的另一个特点就是它通过Web浏览器工作,使用者只需指明要搜索的主机以及搜索深度和相近规则的级别,Satan就能自动收集尽可能多的目标信息 。
由于Santa是一个安全工具,因此它对扫描目标计算机并没有刻意隐藏,这样就在目标计算机的系统日志中留下了大量的扫描连接记录,尤其是当目标计算机使用了tcpwrapper的时候 。这些日志能用于标识是否遭到扫描攻击 。一些更隐蔽的软件工具能通过不进行完全连接等方式隐藏扫描记录,要发现它们就更为困难,因而对系统安全更为危险 。
加密数据传输
一般情况下,用户需要从客户机上访问服务器,数据是以透明的方式通过网络传输的,这样数据包经过的网络中的计算机都有可能截取传送的信息 。由于这个问题来源于低层网络的结构,只能通过协议的加密来防止信息泄露 。然而当前大部分网络协议并不支持加密传送,因此使用窥探的方式获取网络上的信息,虽然是一种被动的方式,却是对网络安全的重要威胁 。
Tcpdump
任何事情都具有两面性,事实上能够获得网络上传输的数据的工具对于维护网络运行也非常重要,网络需要这些工具软件来帮助分析网络状态、解决各种网络故障,它们是网络工程师的好帮手 。在市场上销售的有好几种专用的网络分析设备,来实现截获数据并进行分析的目的 。虽然这些硬件实现的设备虽然功能强大,但价格昂贵,而使用软件通过标准计算机的网络接口来实现这种功能,相对来讲对于一般使用者还是可以承受的 。
tcpdump就是一种免费的网络分析工具,尤其其提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具 。tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息 。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁 。
普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包 。
bash-2.02# tcpdump tcpdump: listening on fxp011:58:47.873028 202.102.245.40.netbios-ns > 202.102.245.127.netbios-ns: udp 5011:58:47.974331 0:10:7b:8:3a:56 > 1:80:c2:0:0:0 802.1d ui/C len=430000 0000 0080 0000 1007 cf08 0900 00000e80 0000 902b 4695 0980 8701 0014 0002000f 0000 902b 4695 0008 0011:58:48.373134 0:0:e8:5b:6d:85 > Broadcast sap e0 ui/C len=97ffff 0060 0004 ffff ffff ffff ffff ffff0452 ffff ffff 0000 e85b 6d85 4008 00020640 4d41 5354 4552 5f57 4542 0000 00000000 00^Ctcpdump支持相当多的不同参数,如使用-i参数指定tcpdump监听的网络界面,这在计算机具有多个网络界面时非常有用,使用-c参数指定要监听的数据包数量,使用-w参数指定将监听到的数据包写入文件中保存,等等 。
然而更复杂的tcpdump参数是用于过滤目的,这是因为网络中流量很大,如果不加分辨将所有的数据包都截留下来,数据量太大,反而不容易发现需要的数据包 。使用这些参数定义的过滤规则可以截留特定的数据包,以缩小目标,才能更好的分析网络中存在的问题 。tcpdump使用参数指定要监视数据包的类型、地址、端口等,根据具体的网络问题,充分利用这些过滤规则就能达到迅速定位故障的目的 。请使用man tcpdump查看这些过滤规则的具体用法 。

推荐阅读