网络安全

    捕捉蛛丝马迹 Snort IDS企业部署实战

         [ 中关村在线 转载 ] 暂无评论

      背景

      我们知道企业网络目前威胁来自两个位置:一个是内部,一个是外部。来自外部的威胁都能被防火墙所阻止,但内部攻击都不好防范。因为公司内部人员对系统了解很深且有合法访问权限,所以内部攻击更容易成功。IDS为信息提供保护,已经成为深度防御策略中的重要部分。IDS与现实世界里的防窃报警装置类似。他们都对入侵进行监控,当发现可疑行为时,就向特定的当事人发出警报。IDS分为两类:主机IDS(HIDS)和网络IDS(NIDS)。HIDS安装在受监控主机上,拥有对敏感文件的访问特权。HIDS利用这一访问特权对异常行为进行监控。NIDS存在于网络中,通过捕获发往其他主机的流量来保护大量网络设施。HIDS和NIDS都有各自的优点和缺点,完整的安全解决方案应包括这两种IDS,对于这一点比较难做到。不了解这一领域的人常常认为IDS就像一把万能钥匙,能解决所有安全问题。例如有的单位花了大笔的钱购置了商业IDS由于配置不当反而搞得连连误报一下子就把数据库塞满了,大量丢包,进而崩溃。这种态度使人们以为只要将IDS随便安放在网络中就万事大吉了,不必担心任何问题,实际上远非如此。没有人会认为Email服务器直接连在Internet上就能正确运作。同样,你也需要正确的计划IDS策略,传感器的放置。下文以开源软件Snort的安装与维护为例,介绍正确地安装和维护IDS的思路和方法。

      安装Snort

      安装准备工作

      我们在安装前我们要知道我们需要监控的内容,理想的状况是对一切进行监控。所有网络设备和任何从外部到企业的连接都处在Snort的监视之下。尽管这一计划对小公司只有几十台机器是很可能实现的,但是当大型企业中连接上天台网络设备时,这成了难以施展的艰巨任务。为了加强snort检测的安全性,最好能为监控网段提供独立的智能交换机,如果你需要配置分布式的配置,可以吧服务器和控制台接在一个交换机上,二其他传感器放置在不同的物理位置,但这样的成本会有所增加。Snort IDS的维护问题是无法回避的。你迟早要对Snort特征更新并编写定制的规则,所以你还需要一个懂得维护IDS的专业人士。

      深入Snort

      Snort包含很多可配置的内部组件,它们对误报、漏报以及抓包和记录日志等的性能都有很大影响。能深入了解Snort的内幕有助于有效地利用Snort监控人侵。还会帮助你根据自己的网络定制Snort,并且避免它的一些常见缺陷。

      用Libpcap输送Snort包

      Snort没有自己的捕包工具,它需要一个外部的捕包程序库:libpcap。Snort利用libpcap独立地从物理链路上进行捕包,它可以借助libpcap的平台为一个真正的与平台无关的应用程序。直接从网卡捕包的任务由libpcap承担。这一捕获原始包的工具是由底层操作系统提供给其他应用程序使用的。Snort需要数据保持原始状态,它利用的就是原始包所有的协议头信息都保持完整,未被操作系统更改的特性来检测某些形式的攻击。由于利用libpcap获取原始包,一次只能处理一个包,这不是最好的方法,这也制约了它对千兆网络进行监控的瓶颈。

      包解码器

      包一被收集到Snort必须对每一个具体的协议元素进行解码。在包通过各种协议的解码器时,解码后的包数据将堆满一个数据结构。包数据一被存人数据结构中,就会迅速被送到预处理程序和检测引擎进行分析。

      预处理程序

      Snort的预处理分为两类。它们可以用来针对可疑行为检查包或者修改包以便检测引擎能对其正确解释。预处理的参数可以通过snort.Conf配置文件调整。

      预处理器:

      Frag2
      Stream4
      Stream4_reassemble
      Http_decode
      RPC_decode
      BO
      Telnet_decode
      ARPspoof
      ASNI_decode
      Fnord
      Conversation
      Portscan2
      SPADE

      检测引擎

      检测引擎将流量与规则按其载人内存的顺序依次进行匹配。是Snort的一个主要部件。

      输出插件

      Snort的输出插件接收Snort传来的入侵数据。输出插件的目的是将报警数据转储到另一种资源或文件中。

      Snort的性能问题

      Snort有效工作的性能可能会受到以下几种选择的限制:硬件、操作系统和连网的组件。

      对snort的性能影响最大的是snort的配置设定以及规则集设置。内部瓶颈则主要出现在包解码阶段,要snort检查包的容,那么它比一般的规则都要更加耗费系统资源。启用的检查包内容的规则越多,snort的运行就需要越多的系统资源。如果要激活预处理程序中的某些设置选项,就会需要消耗额外的系统资源。最明显的例子就是启用在frag2预处理程序和stream4预处理程序中的“最大存储容量(memcap)”选项。如果您打算激活大量耗费资源的预处理程序选项,最好确定有足够的硬件资源的支持。我曾经遇到过一个用户花了大笔的钱购买了最先进的 IDS由于配置不当,连检测100M网都出现了丢包现象。

      SPAN端口监控

      在监控时我们必然需要做SPAN,SPAN端口监控是另外一种在现有网络结构中引入监控网段的方法。Cisco交换机的中高端产品都有SPAN端口或镜像端口。Span端口既可以是一个专用端口,也可以通过该端口实现交换机上所有的端口的配置选项设定。利用SPAN端口的特点实现监控功能是一种实用的方法。使用SPAN端口监控法并不会给所要监控的网络引入单点错误的问题。与网内Hub监控法相比,这是使用SPAN端口监控最大的优点。

      注意:镜像顺序问题:当所监控的网络要升级为高带宽网络时,可以先是只镜像一个端口,对snort的性能观察一段时间,并根据需要进行调整。当snort的这个端口调整好了之后,可以切合实际的、循序渐进的增加别的端口,要注意的是,千万不能一下子增加过多的端口。用SPAN端口监控法将会降低本生交换设备的性能用SPAN端口会使交换设备的内存负担过重,从而使设备的性能下降。对流量的映是一个非常耗费内存的过程。

    标签:入侵检测
    提示:支持键盘“← →”键翻页
    本文导航

    关注排行榜

    防火墙UTM上网行为防毒墙

    文章推荐

    互动沙龙

    相关内容 网友评论 返回首页
    专家咨询