首页 | 本学科首页   官方微博 | 高级检索  
     检索      

Unix网络系统的安全缺陷及防范措施
作者单位: 
摘    要:Unix网络系统由于其功能强大、性能稳定、安全可靠而在银行系统中广泛的应用。它与Windows95/98等系统相比,具有较高的安全性。但由于其动态体系结构特点、源代码公开、系统配置复杂等原因,Unix网络系统也存在很多安全缺陷,如果不采取相应的防范措施,这些缺陷可能被非法入侵者利用,而影响银行的资金安全。 一、安全缺陷 1.利用网络监听工具截取重要数据 我们通常所用的以太网是一种广播型网络,在这种网络上,发送给每个特定机器的数据都可以被网络上任何机器监听到。常用的监听软件有tcpdump、snoop、etherfind等。这些软件的功能十分强大,既可以监听在网络上传输的所有数据,又可以监听指定源地址、指定目标地址、指定端口和协议的数据,还可以将它们保存下来以便仔细分析。如果网络上有其他用户在使用telnet、ftp、rlogin等服务、就可以监听到这些用户明文形式的帐户名和口令,进而就可以侵入其系统。 2.利用具有suid权限的系统软件的安全漏洞 具有suid权限的程序在运行时,其进程的实际uid为程序执行者的uid,而有效uid为程序owner的uid。由于系统软件的owner通常为root,非法入侵者可能利用这些软件的漏洞来窃取root权限。 (1)利用IFS等环境变量 如果通过阅读系统软件的源程序,知程序中有system()系统调用,如:swstem(“/bin/cpfilelfile2”),那么我们可以重新设置IFS(输入字段分隔符)变量: $IFS=/:exportIFS 此时.该system调用中的命令被解释为:bincpfilefile2,再编一个恶意程序命令为bin并放在用户的path变量内,便可以通过这个bin程序窃取root权限了。 (2)利用缓冲区溢出 有些系统在调用时不检查参数的长度,如调用gets(),scanf()等,这使得程序可以在用户的控制下形成缓冲区溢出。在正常情况下,程序在遇到缓冲区溢出时会停止。但如果用户对Unix很熟悉,就可以使程序在遇到缓冲区溢出时转而运行另一个程序。如果一个有suid权限的程序在缓冲区溢出后转而执行一个shell,那么这时的普通用户就变成了root用户。 (3)利用core文件 程序在运行中发生缓冲溢出、数组边界越界或接收到SIGILL、SIGTRAP等信号时都可能会产生core文件。如果将umask设为000,那么产生的core文件就具有777权限。非法入侵者可以利用dbx或adb等工具来读这个core文件,从而可能获取系统上的重要信息。 3.利用ping、telnet、ftp等命令的缺陷 根据TCP/IP协议规定,数据包的最大长度为65536字节。有的Unix系统在收到过长的IP数据包时,会产生系统崩溃、重新启动、死机等异常反应。我们知道,用ping命令向其他主机发送ICMP数据报文时,其报文大小可以任意指定。因此恶意用户可能通过用ping命令向其他主机发送过长的数据报文来对其进行攻击。微机上常用的SCOUnixSystemV/3863.2.4.2、SCOOpenServer5.0.0和5.O.2均存在该问题。 此外,很多版本的telnet、ftp等命令也存在一定的安全缺陷。 4.利用IP欺骗技术 为了获取访问权限,入侵者可以利用一些基于IP地址的认证程序的特点,在发送IP数据包时,修改其源IP地址字段,将其置为另一台机器的IP地址,该IP地址可能在目标机的/etc/hosts.Equiv或.Rhosts中有记录,这样就可能获取非授权的访问权限,甚至是目标机的root访问权限。 5.利用.Exrc文件 .Exrc是编辑程序vi的初始化文件。Vi启动时,首先查找并执行$HOME/.Exit和当前目录下的.Exrc文件。非法入侵者可以将一个自己编写的.Exic放在/tmp等公共目录下,当root用户在该目录下运行vi时,该.Exrc文件就会自动运行。非法入侵者可以利用该.Exrc修改重要的系统配置文件,从而获得对系统的长期控制权。 目前的银行系统很多Unix机器在配置上存在着明显的安全缺陷。例如,很多业务机上都有一个关机用户,该用户是root权限,通过将initO或shutdown命令加入其.Pmfile文件,使操作人员能利用该关机用户进行系统关机。但这种关机用户往往未加口令(即使有口令也常为很多人知晓),因而恶意用户可以利用ftp命令,通过关机用户进行登录,进而修改系统文件而获得长期控制权。更有甚者.许多银行网点都是X.25专线连接到机房,而在配置X.25时,往往未将x29、x25ftp等服务屏蔽掉,这样X.25网上的任何用户都可以利用这些X.25服务.通过关机用户而自由进入该台银行业务机。 二、查看是否已被入侵的方法 1.检查日志文件 在文件/etc/syslog.Conf中控制了日志文件的位置以及哪些日志文件记录哪些活动。通过检查这些日志文件,可以获得本系统是如何被攻破的、入侵的过程怎样、哪些远程主机访问了本机器等信息。 2.检查具有suid权限的文件 入侵者常留下具有suid权限且owner为root的可执行文件,以便以后能继续以root身份访问系统。 3.检查文件/etc/passwd是否被修改 应检查非法新增用户、没有口令的用户和UID的改变(尤其是UID为O的用户)。 4.检查系统网络配置中是否有非法的项 应检查/etc/hosts.Equiv以及所有的.Rhosts文件中是否有“+”项和非法的地址项。 5.检查系统上非正常的隐藏文件 Unix上常用的方法是在文件或目录名前加上“…”、“..”(两点加一个空格)或“..^G”,这样就实现了文件或目录的隐藏效果,可以用find命令查找这些文件。 6.检查/etc/inetd.Conf和/etc/rc2.D/*文件 检查这些文件是否被植入了人侵者留下的“后门”程序。 三、提高安全性的措施 1.及时安装Unix补丁程序 旧版本的Unix系统往往含有安全漏洞,因此为了系统的安全,应该使用最新版本的Unix系统。同时,新版系统在运行过程中,可能会逐渐暴露出一些安全缺陷,因此要及时安装系统的补丁程序。这些补丁程序可以从各个Unix供应商的Internet网站上下载得到。 2.对网络监听的防范措施 首先应在支持监听模式网络接口的机器上检查是否有网络监听工具软什在运行,包括检查在系统上运行的可疑进程、对/dev/nit的未经授权使用等。如果发现了有网络监听软件正在运行,就应检查网络系统是否已被攻击,并设法恢复系统。此外.对于以太网等广播型网络,应当尽量不要在网络上传输纯文本形式的口令信息,不要以root身份进行远程登录。 3.对IP欺骗技术的防范措施 解决IP欺骗技术的最好方法是安装过滤路由器,不允许包含内部网络地址的数据包通过该路由器。此外,还应该过滤掉与用户内部网络地址不同的源地址向外发出的数据包,这样可以防止源于网络的IP欺骗的攻击。 4.提高文件系统配置的安全性措施 (1)确保系统上没有用于非法目的的.Exre文件。 (2)确保各个系统文件尤其是/etc下各文件的权限被正确设置。 (3)确保/etc、/bin、/usr/bin、/usr/sbin、/tmp、/var/tmp等系统目录的owner为mot,并且/tmp、/var/tmp目录的权限最高位为“t”。 (4)橙查系统上所有具有suid或sgid权限的文件。 (5)建议任何由root运行的文件,其文件owner都应该是root,并将其文件权限的“w”位屏蔽掉。 5.提高网络系统配置的安全性措施 (1)r命令系列(rep、rlogin、rsh)常常是Unix系统的不安全因素。因此,当不真正需要使用r命令时,应当将这些服务去掉。当确实需要使用r命令时,应当谨慎地配置/etc/hosts.Equiv和$HOME/.Rhosts文件。应确保这些文件的权限正确,它们的第一个字符不是“-”,文件中不含有“+”通配符,并建议对root用户不要配置其.Rhosts。 (2)对于/etc/inetd.Conf文件,应确保该文件的owner是root,权限为600,并尽量过滤掉并不真正需要的服务,如tftp服务和r命令服务。 (3)对于ftp服务,应确保已经正确地设置了文件/etc/ftpusers,如果没有该文件则创建。该文件用于指定不许访问用户系统的ftp服务器的用户,其中至少应包含root、bin、rrcp等。 6.加强帐号和口令的安全管理 一定要定期检查/etc/passwd和/etc/shadow文件,检查除root外uid为O的帐号、没有口令的帐号或新增的帐号。任何帐号都不能没有口令保护,各帐号的口令都应当经常更换,要定期查看su日志文件和拒绝登录消息日志文件。

本文献已被 维普 万方数据 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号