1.前言
网络安全问题总是由于一些漏洞引起的,攻击者抓住这些漏洞,从而获得相应的权限或者找到使服务器瘫痪的攻击手段。如果我们能够事先对这些漏洞进行检测,那么系统就会更加安全可靠。因此,网络安全的漏洞检测是十分必要的。本文介绍如何进行漏洞检测和如何进行修补。
2.检测表
一个查看系统安全的方法是通过检测表。安全检测表是计算机安全中存在很久的传统。它们通常包含关于已知的弱点和配置错误的内容。系统管理员检查表中的每一项并和系统进行对比。如果系统与之相符,则该项通过了检测。潜在的漏洞在暴露之前就被修复。一旦所有的项目都被检测通过,则系统管理员宣布该系统是安全的,并投入使用。但是没有一个检测表是完全的。一个检测表有时间上的限制,有可能会过时,新的漏洞可能会产生。下面是一个检测表的例子:
Root account
l DO restrict the number of people who know the root password. These should be the same users
registered with groupid 0(e.g., wheel group on SunOS). Typically this is limited to at most 3
or 4 people.
l DO NOT log in as root over the network, in accordance with site security policy
l Do su from user accounts rather than logging as root. This provides greater accountability.
l Ensure root does not have a ~/.rhosts file
l Ensure “.” Is not in root’s search path
l Ensure root’s login files do not source any other files not owned by root or which are
group or world writable
l Ensure root cron job files do not source any other files not owned by root or which are
group or world writable
l Do use absolute path names when root. e.g. , /bin/su, /bin/find, /bin/passwd. This is to stop the
possibility of root accidentally executing a Trojan horse. To execute commands in the
current directory, root should prefix the command with “./”, e.g., ./command
3.弱点数据库
另一种安全检测的方法是查询安全弱点数据库。它允许用户搜索众所周知的可能影响特定系统的漏洞。可以从这些数据库中找到的项目创建自己的检测表。定期查看供应商的站点来寻找安全补丁。有些产品,像Red Hat Linux, 经常出现补丁。
一个强大的弱点数据库是由Internet Security System Inc. 维护的。可以在下面的站点搜索ISS的X-force数据库。
4.基于主机的工具
人工查阅检测表需要很多时间。有几个工具可以自动实施这一过程。基于已经知道的漏洞,像COPS和Tiger这样的弱点测试程序针对一个检测表来检查系统管理员的行为。它们可以检查下面的项目:
l 系统配置错误
l 不安全的权限设置
l 所有用户可写的文件
l SUID和SGID文件
l Crontab条目
l Sendmail和ftp设置
l 脆弱的口令或者空口令
l 系统文件的改动
第一次运行COPS或者Tiger这样的系统检测工具可能会大开眼界。它们都能产生有关发现的详细报告,暴露各种弱点。任何程序都不能超过其运行的系统的界限。系统检测工具检查该系统,而不是其他主机或网络。
不论使用什么工具,用户都应该定期进行安全测试。在下面的情况发生时也要进行测试:
l 安装了一个新系统
l 怀疑受到了攻击
l 确定受到了攻击
另外,应该不定期的进行随机测试,以防止攻击者发现了时间安排而进行攻击。
5.解决问题的工具
上面的工具只是发现问题,而不解决问题,另一类工具可以发现安全问题并且解决这些问题。例如Titan工具,它检测运行系统,报告发现的问题,要求权限来修复,然后改正问题。
6.网络安全扫描工具
有一类工具使用网络通信信道来搜索其他主机的弱点。例如SATAN和nmap。Nmap工具能够搜索开放的端口,甚至进行操作系统检测。所有这些工具能够为了防御目的或作为攻击的一部分来检测主机。
7.工具简单评价
l chkacct
是一个检查用户帐号安全的工具。它检查文件的权限并改正它们。它寻找那些可能被所有用户可读的文件并查看以点号开头的文件。另一方面,这个GNU许可的工具需要一些配置(参见chkacct.src)。要查看更多信息,请看:
下载:
l COPS(推荐)
是报告系统的配置错误以及其他信息的工具。
下载:
l Courtney
监测一个网络,查明SATAN探索的结果,并试图识别它们的来源。它从tcpdump获得输入并计算一台机器在一个特定的时段内产生新的服务请求的次数。如果在该时间段内,一台机器和大量的服务连接,Courtney就把该机器识别为一个潜在的SATAN主机。
下载:
l Internet Security Scanner
是一个多层次的安全扫描程序。它将质问特定IP地址范围内的所有计算机,并针对几个常见的系统漏洞来确定每台计算机的安全状况。它依赖公开的CERT和CIAC建议以及其他有关已知安全漏洞的信息。
下载:
l Merlin
是一个帮助用户使用其他工具的perl程序。它为COPS1.04,Tiger2.2.3,Crack4.1和Tripwire1.2提供一个Web浏览器界面。Merlin使用一个只接收本地机利用任何一个空闲socket端口发送消息的HTTP服务器来为每一个会话产生一个“magic cookie”值。
更多信息:
下载:
l Nessus
是一个网络安全扫描工具。它建立一个大量使用“plug-in”的客户-服务器体系结构。它还有一个java客户端。Nessus接收USENET的混合信息。使用新的安全工具,特别是网络扫描程序时,一定要小心。
详细请看:
l Nmap
是一个端口扫描工具。它能扫描整个网络或一台主机上的开放端口。还可以使用TCP/IP指印来识别一个远程系统运行的是哪种操作系统。
详细信息:
l Titan
作为一个安全学习工具,它能够用来主动更正问题,或进行安全审计。它为服务器,防火墙和桌面系统准备了缺省的配置。
更多信息:
l SATAN(System Administrator’s Tool for Analyzing Networks)(推荐)
用来帮助系统管理员检测安全。它也能被基于网络的攻击者用来搜索脆弱的系统。SATAN是为系统和管理员设计的一个安全工具。然而,由于它的广泛性,易用性和扫描远程网络的能力,SATAN也可能因为好奇而被用来定位有弱点的主机。
SATAN包括一个有关网络安全问题的检测表,经过网络查找特定的系统或者子网,并报告它的发现。它能搜索以下的弱点:
NFS——由无权限的程序或端口导出
NIS-——口令文件访问
Rexd——是否被防火墙阻止
Sendmail——各种弱点
ftp——ftp, wu-ftpd或者tftp配置问题
远程Shell的访问——它是否被禁止或者隐藏
X windows——主机是否提供无限制的访问
Modem——经过tcp没有限制拨号访问
报告包括改变配置、安装bug修复工具、限制服务或者禁止服务的建议,以及每个问题的简要描述。程序还有一个“探测模式”能搜索未指明的主机。
更多信息:
下载:
l Tiger(推荐)
是一个检测已知安全问题的灵活工具。
下载:
以上工具是常用的漏洞检测工具,读者可以从中选择一部分来测试自己的系统并修补发现的漏洞。
文章来源于领测软件测试网 https://www.ltesting.net/