保障思科安全监视、分析、响应系统的安全
2008-12-04 13:37:33 来源:WEB开发网安全信息管理(SIM)系统可包含大量的敏感信息。这是因为它可以接收来自网络安全系统的事件日志。这些日志包含可被用于攻击敏感系统的信息。例如,入侵检测系统(IDS)日志可包含网络中的实际数据包。管理员可以通过免费的数据包分析程序来分析某些数据包,来查找雇员用于访问网站、电子邮件系统、网络设备的用户名和口令。
虽然安全人员总是鼓励用户选择用于公司网络的唯一口令,事实是许多用户倾向于将同样的口令既用于工作场所,又用于家庭的上网活动。如果一个雇员决定将工作场所的网络口令用于个人的电子邮件口令,如果一个攻击者采用电子邮件的明文身份验证,那么,此用户也就是在公司网络中造就了一个从事非法活动的账户。
作为一款可查看网络拓扑的安全信息产品,思科的安全监视、分析、响应系统(MARS)通常包含着一些较为敏感的信息。在监视、分析、响应系统(MARS)的范围内,感知网络拓扑的最精确方法是发现每一个网络设备。这涉及到关于MARS的配置访问信息,对设备的身份验证,检索接口信息并定期重新发现这种信息。在用户接口的范围内,无论是命令行接口和Web用户界面,都可对设备的身份验证信息进行伪装,以防止非法用户使用控制台获取未经授权的信息。不过,如果攻击者获得了对操作系统的访问权,或者获取了对设备的物理访问权,攻击者就可以使用这种权力检索包含在硬盘上的所有信息,而这种信息又可能包含设备的身份验证信息。他还可以使用这种访问安装后门,以便于在日后的任何时间实施远程访问。
本文将描述保障监视、分析、响应系统(MARS)安全的建议,包括物理的和逻辑的两个方面。除探讨了对安全、网络、其它设备的监视之外,还提详细探究了监视、分析、响应系统(MARS)与其它MARS通信的TCP端口和UDP端口。
物理安全
如果用户不解决物理安全问题,就不能正确地解决网络安全问题。这是一个常识问题。任何一个怀有恶意的家伙如果获得了对目标系统的物理访问,那么所有的网络安全措施都将毫无意义。
作为管理员,要保障安全管理网络上的主机和MARS位于一个受保护的设施中。至少,这些设备应当锁在一个无法被没有特定业务需要的人员访问的房间中。理想情况下,安全管理位于实施了强健的安全的数据中心中。拥有访问设施权限的人员需要拥有安全徽章,并需要进入之前,在纸介质上或电子方式签名且记录访问的时间。
MARS设备的固有安全性
对所有MARS设备的管理访问是通过SSL进行的,可采用HTTPS协议和SSH协议。这些协议分别使用TCP 的443端口和22端口,有着固有的安全性,因为它们使用了加密、身份验证和授权等机制。实现同样功能的HTTP和Telnet等协议,由于没有加密,所以在MARS设备上是被禁用的。
MARS设备是强化的的Linux服务器,它运行着各种服务,包括Oracle、Apache HTTP服务器等等。通过软件更新,可以减少MARS设备上的各种服务和驱动程序中新发现的漏洞。此外,将一些必要的服务或未用的服务禁用可以防止一些设备的潜在安全漏洞。
对操作系统的强化是增强安全的良好开端,但却远远不够。在考虑MARS设备的安全性时,用户需要考虑MARS设备上信息的敏感性。用户应当拥有一个健全的计划,用以防止MARS被用作网络攻击工具。这也包括将此设备放置在受到防火墙或IDS保护的某个网络部分。
如果没有防火墙及IDS或IPS保护MARS,黑客就会通过管理协议或监视安全或网络设备的其它协议,想方设法查找漏洞。在构建一些攻击事件的审计索引时,防火墙或IDS/IPS准许用户限制受到攻击的暴露程度。举个例子,可以考虑一下SSH,这种远程管理MARS的命令方法。前一段时间,在为MARS提供这种服务的OpenSSH应用程序中曾出现一些漏洞。目前,在现有的SSH服务中并不存在已知的漏洞。不过,在未来的某个时间,可能会发现某个新的漏洞。有鉴于此,用户需要限制计算机的功能,其目的是如果不连接到某个特定网络,可以建立一个到达MARS设备的SSH连接。状态检查防火墙是提供这种限制的一种理想设备。定期更新的网络IDS或IPS可以检测某人是否正在使用一个已知的漏洞来损害MARS设备的安全性。
还有一个使用SSH的例子,涉及到针对MARS设备的强力口令攻击。在这种攻击中,攻击者不断地重复使用口令字典,使用某种脚本,试图攻克管理MARS设备的管理员口令。MARS特别易于受到这种类型攻击的威胁,因为管理员的名字众所周知,而这正是可以使用SSH的唯一用户名。此例使用了与第一个例子相同的方法。首先,将MARS放置在一个受保护的网络上,采用一个状态检测防火墙将其与网络的其余部分分离开,准许用户限制到达有限几个设备或公司网络的连接企图。此外,网络IDS或IPS可以检测多次登录企图,不管是通过SSH或基于Web的方式。这种IDS检测可以通知恰当的个人,IPS可以防止更进一步的攻击企图。
安全管理网络
作为一种最佳的方法,如果用户并没有一个安全管理网络,就应当将一个网络构建为一个安全管理网络。这种网络应当包含用于管理和监视网络安全的各种服务器。整个网络应当受到防火墙和IDS/IPS保护。对其访问应当受到严格的限制,对网络的远程访问应当通过一个虚拟私有网络(VPN)进行。
位于这种网络上的主机实例包括下面的内容:
MARS全局控制器(GC)
如果可行,可采用MARS本地控制器(LC)
MARS存档服务器
防火墙管理控制台,如思科安全管理器或检查点(Check Point)SmartCenter。
IDS/IPS/HIPS管理控制台
任何现存的syslog服务器漏洞扫描主机
驻于管理网络上的系统是组织内最敏感的一些系统。这通常包含此范围内的密钥,因此,管理网络是攻击者的目标。在一个攻击者损害了一个管理网络上的某台主机后,由于对这种分配给管理网络上主机的信任,通常就存在着一个通往其它系统的“高速公路”。
不要在用于安全管理网络上网络硬件上“抄近路”。应当安装支持安全功能的交换机。例如,用户也许需要考虑配置VLAN等特性。
MARS通信要求
在借助防火墙保护之前,用户首先需要理解MARS需要正确地开放哪些TCP和UDP端口,这些端口承载着进入或转出的数据通信。在MARS和各种被监视设备通过默认的端口进行配置时,下面的表格提供了所有这些通信的一个小结:
MARS 的TCP和UDP端口
端口 | 描述 | 方向 |
TCP/21 | 被MARS用于检索来自于中央服务器的交换机和路由器的配置文件。FTP使用额外的TCP端口(通常情况下是20号端口),多数防火墙准许自动进行。 | 转出 |
TCP/22 | 用于对MARS的LC和GC的管理访问 | 进入 |
TCP/23 | 在学习拓扑或调查主机时,MARS将Telnet用作一种连接到某些网络设备的方法 | 转出 |
TCP/25 | MARS 用它通过电子邮件方式发送报告和警告 | 转出 |
UDP/53 | MARS 用它来查询主机名到IP地址的转换 | 转出 |
TCP/80 | MARS 用它与DTM思科路由器通信 | 转出 |
UDP/123 | MARS 用它与网络时间协议(NTP)服务器保持同步 | 转出 |
TCP/137 | MARS 用它从Windows系统抽取事件 | 转出 |
UDP/161 | 用于从MARS到被监视设备的SNMP通信 | 转出 |
UDP/162 | MARS 用它接收来自被监视设备的SNMP trap | 转入 |
TCP/443 | 用于对 MARS LC和 GC的管理访问 | 转入 |
TCP/445 | MARS用它从Windows系统抽取事件 | 转出 |
UDP/514 | MARS用它从被监视设备接收系统日志消息 | 转入 |
UDP/2049 | MARS使用网络文件系统(NFS)写入存档数据 | 转出 |
UDP/2055 | MARS用它从被监视设备接收NetFlow数据 | 转入 |
TCP/8444 | 用于MARS GC和LC设备之间的通信 | 转入及转出 |
TCP/18184 | MARS用它从Check Point防火墙抽取事件日志 | 转出 |
TCP/18190 | MARS用它从Check Point防火墙检索配置设置 | 转出 |
TCP/18210 | MARS用它从Check Point防火墙或管理控制台检索证书 | 转出 |
全部TCP/UDP | 如果启用,则由MARS实施漏洞评估扫描 | 转出 |
网络安全建议
可以看出,根据用户的环境和主机的位置,需要在防火墙上建立一套复杂的规则。不要让这种复杂性阻止你正确地配置防火墙。然而,最初的一点儿努力可能意味着更安全、更安全的监视方案。
下面的内容将讨论关于防火墙对MARS的保护问题和基于网络的IPS及IDS问题。下文中给出的建议是一个很好的开始,但并非适用于每一个网络。例如,前文描述的TCP/UDP端口仅是默认的情况。用户可以配置其中的多数服务,在许多网络中使用其它端口也是常见的事情。例如,可配置Check Point防火墙使用其它不同的端口,而不是默认的18184、18190、18210端口。
转入型防火墙规则
要简化所涉及到的网络,用户应当定义一些防火墙上的网络对象组。如果用户对此并不熟悉,可以将对象组看作是用于配置防火墙的一些变量。不必指明一大串IP地址或TCP/UDP端口列表,用户可以简单地使用字符型名称。下面的例子使用了一个叫做CORP_NET的对象组,它由单位网络上所使用的全部IP地址组成。
所谓转入型通信指的是从一个不太可靠的网络进入到防火墙内部的数据通信。下图展示了转入型通信和转出型通信,或者是离开MARS进入不太可靠的网络通信:
图1 |
对于许多公司来说,下面的转入型规则是一个很好的开始:
第一步:从SecOps(安全操作)中准许syslog和SNMP trap通信(UDP的162及514端口)。
第二步:从SecOps中准许NetFlow通信(UDP 2049端口)。
第三步:如果有许多人需要访问MARS的Web控制台,需要准许HTTPS(TCP 443端口)。否则,仅将HTTPS准许到达一个受限制的地址列表。
第四步:仅对有限的地址准许SSH(即TCP 22号端口)。如果安全管理网络拥有其自己的VPN网关(这有可能是防火墙的功能),用户可能需要在准许SSH之前,要求管理员建立一个VPN连接。
第五步:从任意一个运行着iPlanet或Apache的Web服务器上,准许HTTP (TCP 80号端口)。如果用户正使用NetCache设备,也要在其上面准许HTTP。
第六步:如果用户的MARS部署由多个MARS LC(这些LC与一个中央的MARS GC通信)组成,就应当在这些系统之间(TCP的443端口和8444端口)准许所需要的管理通信。
第七步:禁止所有其它通信。
转出型防火墙规则
转出型防火墙规则指的是这样一种过滤器,它限制从受保护的网络到达不太可靠网络的数据通信。理想的安全会将转出的通信限制给那些有必要实施恰当的MARS设备功能的端口。现实情况下,这可能难于管理。用户需要在安全性和可管理性之间寻找一种平衡性。
例如,严格的默认转出策略对于公司面向公众的Web服务器可能有意义。理想情况下,从互联网到Web服务器的连接(进入型规则)要么在TCP的80号端口要么在443端口上得到许可,这要依赖于用户的Web 服务器是否使用加密的HTTP。转出型策略应当拒绝所有源自Web服务器到达互联网上主机的所有通信。
换句话说,任何人都不应当被准许从Web服务器浏览互联网、下载文件,或者从Web服务器实施到互联网的其它通信。通过在防火墙上实施一种可以拒绝这种通信的适当转出型规则,攻击者也被禁止了。在Web服务器或其它服务嚣被黑客损害的多数情况中,黑客的下一步行动包括将文件复制到Web服务器上。这种行动要么是丑化站点,要么是安装rootkit这种毒瘤,或者是搞一些可以进一步对网络实施攻击活动的软件。而严格的转出型过滤器会增加黑客得逞的难度,这种水平可超越黑客的实际能力。
根据用户的网络环境和所使用的MARS特性,严格的转出型过滤器有可能管理起来并不轻松。不过,用户应当对其进行评估,以确定在用户环境中的可用性和有效性。
下面笔者给出一些转出型过滤器,这可以作为多数网络的一个良好开端:
第一步:准许需要名字解析的通信到达CORP_NET。例如,准许Windows主机的DNS和服务器消息块(SMB)到达CORP_NET。
第二步:准许网络时间协议(NTP)通信到达指定的NTP服务器,不管是在企业网络上还是在互联网上都要如此。
第三步:准许路由器和交换机上CORP_NET的设备发现通信。
第四步:准许HTTPS到达CORP_NET,准许MARS发现思科IDS/IPS探测器,并准许思科IDS/IPS和运行着IOS IPS的思科路由器中的事件检索,准许MARS LC和GC之间的通信。如果可能,将此范围限制为CORP_NET的一个子集。
第五步:准许FTP到达一个包含路由器和交换机配置文件的集中化的FTP服务器,当然,前提是你想利用这种特性。
第六步:准许SMTP协议,准许MARS通过电子邮件和警告发送给用户的SMTP网关。
第七步:如果用户的MARS存档服务器位于一个不同的网络中(不推荐你这样做),就要准许NFS(UDP 2049端口)。
第八步:准许TCP 8444端口通信,准许在MARS LC和GC之间的通信,当然,前提是它们位于不同的位置。第九步:拒绝所有其它的通信
如果用户想利用MARS的内部漏洞评估功能,前面的规则列表就不适用了。与之相反,用户需要使用下面的转出型过滤器列表:
第一步:准许源自CS-MARS或第三方漏洞扫描程序的所有TCP和UDP通信
第二步:如果这些服务器不存在于本地的SecOps上,准许NTP通信到达已定义的NTP服务器。
第三步:拒绝所有其它的通信。
在日常的MARS使用中,在用户选择获取关于某台特定主机的更多信息时,MARS的内部漏洞评估特性将会初始化主机的端口扫描。如果一个转出型规则列表准许漏洞评估,同时又限制向外的转发端口,那么用户就无法精确地定义它。如果用户已经使用了某个第三方的漏洞评估工具,就不需要使用内部工具。否则,使用此工具可以极大地提升由MARS提交给用户的信息的精确性。
基于网络的IDS和IPS问题
基于网络的IPS提供了额外的保护级别,用以补充由状态检测防火墙所提供的保护。IPS与IDS密切相关,这两者之间的最明显不同点是其部署方式。
IDS可以检查网络通信的复制品,查找恶意的通信模式。然后对其进行确认,有时可以对其进行配置,采取自动化的响应行动,例如,重置TCP连接或配置另外一个网络设备以阻止来自攻击者的通信。
注意
在恶意的通信发生之后,IDS可以检测之。虽然会发生自动化的响应行动,但通常情况下阻止攻击为时已晚。
如下图所示,IDS典型情况下从网络交换机、路由器等设备接收网络通信的副本。因为它并不位于数据通信流的中间位置,并没有违背MARS所要求的任何方面。图2 |
根据由MARS所产生的通信,IDS经常会发出大量的警告,特别是在用户使用的是内部的漏洞评估功能时更是这样。用户需要调整IDS,目的是不对源自MARS的漏洞扫描发出警告。用户可能需要调整IDS,以便于忽视MARS到CORP_NET的扫描,但直接指向互联网的扫描将引发警告。一般认为,自动扫描自己的网络之外的主机是一种错误的做法,甚至是非法的。用户要保障对MARS进行了配置,不能扫描并不在自己网络之上的任何设备。用户的防火墙转出规则也不应当准许。不过,即使没有进行正确配置,那么用户的IDS可能会向恰当的人员发出警告,以便于修正配置上的错误。
如下图所示,IPS位于网络通信的中间,就如同一个网桥一样,它通常是作为一个透明设备而存在,并像一个IDS一样监视网络行为。两者之间的一个主要的不同点在于,在检测到恶意的通信时时,IPS能够立即采取行动。
图3 |
除了像IDS一样可以采取自动行动,IPS还可以防止恶意的通信通过它。
因为所有的通信必须通过IPS,所以如果MARS配置错误,它就可以防止MARS功能异常。用户需要花点儿时间密切关注由IPS生成的警告,并对它进行适当地调整。如IDS一样,用户可以调整IPS,以准许从MARS到CORP_NET的漏洞扫描,同时又防止它扫描互联网。
有些最新的IPS,如思科的IPS,拥有一种称之为“通信正常化”的功能。这种功能尤其会导致MARS的漏洞评估失败。通信正常化支持几种功能,如包括以下几种功能:
防止TCP标记的非法组合通过IPS,或清除非法的标记。防止碎片通信通过,或者对其重新构建以避免碎片。改变通信流中的所有数据包,以便于拥有同样的生存时间。
这仅仅是数据通信正常化的功能示例。总体而言,用户可以将它作为一个改变不遵循标准的引擎,或者防止非法通信通过IPS,或者让它遵循标准。
就其自身而言,通信正常化阻止了大量的攻击和侦察活动。它还可以防止漏洞评估工具精确地决定有关信息,如目标主机运行的操作系统等。
本文讨论了保障监视、分析、响应系统(MARS)安全的建议,也许它不适用于你的网络结构,但它可作为一种构建安全屏障的建议和思路。
更多精彩
赞助商链接