1.3. 漏洞评估

如果有充分的时间、资源和热情,攻击者几乎可以攻陷任何系统。所有安全过程和技术目前都不能保证系统绝对不会受到入侵。路由器可帮助保护到互联网的网关安全。防火墙可帮助保护网络终端安全。虚拟私用网络可安全地以保密流方式传送数据。入侵探测系统可警告您那些恶意动作。但是这些技术能否成功依赖各种不同因素,其中包括:
  • 负责配置、监控和维护技术的专业人士。
  • 迅速有效地补丁和更新服务及内核的能力。
  • 可让您对网络一直保持警惕的反应能力。
由于数据系统和技术的不断变化,保证企业资源安全是很复杂的。鉴于这个复杂性,通常很难找到可用于您所有系统的专业资源。虽然人们可以在很多领域达到很高的水准,但是很难找到在多个领域都非常精通的人。主要是因为信息安全的每个领域都要求您的持续关注,信息安全不是一成不变的。
漏洞评估是您网络和系统安全的内部审计。其结果表明您网络信息的保密性、完整性和可用性(如< 第 1.1.1 节 “标准化的安全性” >所作出的解释)。通常,在侦查阶段启用漏洞评估。在此阶段,对目标系统和资源这些重要数据进行收集。此阶段会导致进入系统准备阶段,借此对所有已知漏洞进行必要的目标检测。准备阶段会以报告阶段终止,在报告阶段中会对所有发现的风险进行等级分类,分为高、中和低三级;关于目标的安全增强方式(或降低漏洞风险的方式)也会进行讨论。
如果您在家里进行弱点评估,您一般会检查家里的每扇门看看是否关上并锁好。您还会查看每扇窗户,确定关上并锁好。这个理念也同样适用于系统、网络和电子数据。恶意用户就是您数据的小偷和劫匪。清楚他们的工具、心态和动机,您就可以对其动作迅速作出反应。

1.3.1. 定义评估和测试

弱点评估可分为两类:“由外而内”和“由内而外”。
当进行“由外而内”的弱点评估时,您要从外部对抗您的系统。身处公司之外为您提供了黑客的视角。您看到的就是黑客看到的 — 公开路由的 IP 地址、您 DMZ 中的系统、您防火墙的对外接口等等。DMZ 代表“停火区”,对应那些处于可信内部网络,比如企业专用 LAN和不可信的外部网络,比如公共互联网之间的计算机或者小的子网。通常 DMZ 包括可连接到内部网络流量的设备,比如 Web(HTTP)服务器、FTP 服务器、SMTP(电子邮件)服务器和 DNS 服务器。
当进行“由内而外”的弱点评估时,您处于有利地位,因为您在内部且被认为是可信的。这就是您和您的同事登录到系统后的视角。您会看到打印服务器、文件服务器、数据库和其它资源。
这两种弱点评估有很大不同。作为公司的内部用户可拥有比外部用户更多的特权。在大多数机构中是将安全配置为防止入侵者进入。很少是用来防备机构的内部用户(比如部门防火墙、用户等级访问控制以及对内部资源的授权过程。)一般来说,作为大多数系统从内部看来有很多资源是公司的内部资源。一旦您身处公司之外,您的状态就成为不可信。您在公司外部可使用的系统和资源通常非常有限。
请考虑弱点评估和“入侵测试”之间的不同。将弱点评估作为入侵测试的第一步。弱点评估收集的信息可用于测试。进行该评估是来检查漏洞和潜在弱点,而入侵测试则是要利用所发现的漏洞和弱点。
评估网络设备是一个动态过程。无论是信息安全还是物理安全,都是动态的。执行评估所显示的概况,可能会出现误报和漏报。误报是指工具所发现的漏洞实际上并不存在。漏报是指遗漏了实际漏洞。
安全管理员只能通过其所使用的工具和所拥有的知识来发挥其作用。采用任何当前可行的评估工具,在您的系统运行这些评估工具,但几乎可确定的是其中存有误报。无论是程序错误还是用户错误,其结果是相同的。这些工具可能会发现误报,或更有甚者,发现漏报。
现在明确了弱点评估和入侵测试之间的不同,请在执行入侵测试前仔细考虑评估结果以便获得新的最佳实践方法。

警告

不要尝试利用生产系统的漏洞。这样做可能会对您系统和网络的生产和效率起到截然相反的效果。
以下列表给出了一些执行弱点评估的优点。
  • 主动关注信息安全。
  • 在黑客发现潜在漏洞之前找到这些潜在漏洞。
  • 保持系统的更新和修补。
  • 提升员工的专业知识并给与帮助。
  • 减少经济损失和负面宣传。

1.3.2. 漏洞评估方法

在选择弱点评估工具方面,建立弱点评估方法论是很必要的。遗憾的是目前还没有预先确定或者业内公认的方法论,但尝试和最佳实践可作为有效的指导方法。
目标是什么?我们要查看的是某台服务器还是整个网络以及网络中的所有东西?我们是在公司外部还是内部?”这些问题的答案在帮助您决定工具选择乃至使用方法时至关重要。
要更多地了解所发布的方法,请参阅以下网站:
  • http://www.owasp.org/开放式 Web 应用程序安全项目(OWASP,The Open Web Application Security Project)

1.3.3. 漏洞评估工具

通过使用某些形式的信息收集工具,可启动评估。在评估整个网络时,首先绘制出布局,查找正在运行的主机。一旦找到主机的位置,将分别检查每个主机。关注这些主机需要另一套工具。知道使用哪一种工具是查找漏洞时最关键的一步。
就像日常生活的每个方面一样,很多工具可执行同一任务。这个概念也可用于执行弱点评估。有些具体到操作系统、应用程序甚至网络的工具(要看所使用的协议)。有些工具是免费的,有些不是。有些工具很直观易用,而有些则比较神秘,且文档支持很差,但拥有其它工具没有的一些功能。
使用合适的工具可能是一项艰巨的任务,最终,还是经验决定一切。如果可能的话,建立一个测试实验室,尽您所能尝试许多不同的工具,记下每一个工具的优点和缺点。查核 README 文件,或这些工具的手册页。此外,在互联网上查阅更多信息,如文章、分步指南,或是针对这些工具的邮件列表。
下面讨论的工具只是众多可用工具中的一个例子。

1.3.3.1. 使用 Nmap 扫描主机

Nmap 是一种常用工具,可用于判定网络的布局。Nmap 多年来一直被使用,它可能是收集信息时最经常使用的工具。其优秀的手册页中对其选项和使用方法进行了详细描述。管理员可以在网络上使用 Nmap 来查找主机系统以及打开这些系统的端口。
Nmap 是漏洞评估的第一步。您可以映射出在您网络上所有的主机,甚至可以传递选项,允许 Nmap 尝试对特定主机正在运行的操作系统进行识别。 Nmap 为制定关于使用安全服务和限制未使用服务的政策奠定了良好基础。
要安装 Nmap ,则须作为 root 用户运行 yum install nmap 命令。
1.3.3.1.1. 使用 Nmap
通过在所扫描机器的主机名或 IP 地址下输入 nmap 命令,Nmap 就可以在 shell 提示符中运行:
nmap <hostname>
例如,扫描机器的主机名 foo.example.com,用 shell 提示输入以下命令:
~]$ nmap foo.example.com
基本扫描(只需花几分钟,根据主机所在位置以及其他网络状况)的结果与以下结果相似:
Interesting ports on foo.example.com:
Not shown: 1710 filtered ports
PORT    STATE  SERVICE
22/tcp  open   ssh
53/tcp  open   domain
80/tcp  open   http
113/tcp closed auth
Nmap 可测试最常见网络通信端口,以用于侦听或等待服务。这个常识对于想关闭不必要或未使用的服务的管理员来说,是非常有用的。
关于使用 Nmap 的更多信息,请参阅以下 URL 的官方主页:

1.3.3.2. Nessus

Nessus 是一个可提供全方位服务的安全扫描程序。Nessus 的插件式结构允许用户自定义其系统和网络。与其他的扫描程序一样,Nessus 只能在其依赖的签名数据库中发挥作用。好在 Nessus 会时常更新,且具有全面报告、主机扫描以及实时漏洞搜索的功能。请记住,即使是像 Nessus 时常更新的强大工具,也可能会出现误报和漏报。

注意

Nessus 客户端和服务器软件需要支付订阅费才能使用。这一点已加到此文档中,以供那些有兴趣使用该程序的用户参考。
关于 Nessus 的更多信息,请参阅以下 URL 的官方网站:

1.3.3.3. OpenVAS

OpenVASOpen Vulnerability Assessment System,开放式漏洞评估系统)是一套可用于扫描漏洞和全面漏洞管理的工具和服务系统。 OpenVAS 框架可提供许多基于网络、桌面和命令行的工具,用于控制解决方案的不同组件。 OpenVAS 的核心功能是其所提供的安全扫描器,可使用超过 33,000 每日更新的网络漏洞测试(NVT, Network Vulnerability Test )。与 Nessus (请参阅 第 1.3.3.2 节 “Nessus”)不同,OpenVAS 并不需要任何订阅费。
关于 openVAS 的更多信息,请参阅以下 URL 的官方网站:

1.3.3.4. Niktou

Nikto 是一款杰出的“ 通用网关接口 ”(CGI,common gateway interface) 脚本扫描器。 Nikto 不仅可用于检查 CGI 漏洞,还可以躲避的方式运行,以便躲避入侵探测系统。Nikto 所提供完整的文档资料,在运行程序前,应当仔细查核。如果您有提供 CGI 脚本的网络服务器,那么Nikto 就是用于检查此类服务器安全的最佳资源。
关于 Nikto 的更多信息,可见以下 URL :