snort入侵检测系统优化配置本文比较深入地讨论了snort入侵检测系统(Intrusion Dection System)的体系结构和配置,我针对构建基于snort的入侵检测系统对原文作了一些改动,希望对你部署自己的snort入侵检测系统能够有所帮助:)。 简介 伴随者Internet爆炸式的发展,需要重新审视网络安全问题。防火墙作为一种解决方案得到了广泛的应用。然而这还不够,你还需要入侵检测系统的保护。 本文将讨论综合讨论当前入侵检测系统的不同体系结构。并且会重点介绍开放源码的入侵检测系统的一个安全框架以及配置。 1.使用入侵检测系统的理由 你可能会对是否需要使用入侵检测系统还有疑问,下面是使用IDS的理由,不过还需要你自己决定。:
3.snort简介 snort是Martin Roesch等人开发的一个IDS工具,基于libpcap库。Martin Roesch本人把snort定位为一个轻量级的入侵检测系统,具有跨平台特征,并且易于配置。然而,它的易于配置特性却值得商榷,因为在1.7版中,它的配置文件语法解析有点问题。不过,在1.8版中,有了很大改进,并加入了一些新的特征。 本文不可能提供一个snort的完整参考,你可以从snort的官方站点http://www.snort.org获得需要的文档。本文将重点介绍snort-1.8的配置。 下图表示snort IDS的基本工作,下一节我将对各曾做详细介绍。 图-1.基本的snort IDS
4.snort应用示例 在这一节我将一步步地讨论snort的设置。首先,我们假想一个非常简单的网络拓扑结构:
注意:在这里我只安排了一个IDS传感器,这个IDS传感器有两个接口,不属于任何网段。人们经常在intranet和Internet之间插入一个IDS传感器,从而绕过防火墙,这是非常危险的,因为虽然有包过滤器,你的网络却有暴露到Internet的危险。IDS专家会告诉你在每个子网都安装IDS传感器。即使有防火墙,你也必须加强IDS的安全,防火墙不能保护你的IDS。在部署IDS时,需要坚持以下原则:
你可能已经猜到了,snort发布包中的默认配置文件并非优化配置。因此,你需要根据自己的情况进行调节。我们开发了一个snort的配置方案。使用这个方案,只要略施小计,我们就可以处理大型的网络并且减少误否认(false negative)或者误确认(false positive)。使用这个配置,我们最后还能够校验防火墙和包过滤器的配置。 我们从定义一个你的防火墙配置的所谓port matrix开始,它能够帮助你配置入侵检测系统。这个port matrix如表-1所示: 表-1.Port Matrix Universe : 0.0.0.0/0 : IDS-if = eth0intranet : 172.24.0.0/16 : IDS-if = 没有连接 dmz-net : 192.168.1.0/24 : IDS-if = eth1 admin-net : 192.168.2.0/29 : IDS-if = eth2 (只用于管理)) front-zone: 194.245.91.0/24 : IDS-if = eth0 fw-if0 : 194.245.91.1/32 : IDS-if = eth0 默认机制:DENY
+------------+---------------------+----------+
| To | (A) | (B) | (C) |
| From | universe | dmz-net | fw-if0 |
+------------+----------+----------+----------+
(a) | universe | | 80/tcp | |
+------------+----------+----------+----------+
(b) | dmz-net | 53/udp | 22/tcp | |
+------------+----------+----------+----------+
(c) | fw-if0 | 80/tcp | 22/tcp | |
| | 53/udp | | |
| | 22/tcp | | |
+------------+----------+----------+----------+
eth0: [Aa-Ca] and [Aa-Ac] -> /opt/ids/etc/snort.d/eth0/policyrules/pass.ruleseth0: [Ac-Cc] and [Ca-Cc] -> /opt/ids/etc/snort.d/eth0/policyrules/pass.rules eth1: [Ab-Cb] and [Ba-Bc] -> /opt/ids/etc/snort.d/eth1/policyrules/pass.rules eth2: 这是管理网络,不必在这个接口上嗅探。 为了帮助理解,我们举例说明。例如:允许tcp intranet 1024:65535 -> 0.0.0.0/0 80方向的报文通过。确切一点说是:允许tcp fw-if0 1024:65535 -> 0.0.0.0/0 80方向的报文通过。这是因为来自intranet的连接经过IP地址伪装(masquerade)获得了防火墙外部接口的IP地址。此外,,tcp Universe 1024:65535 -> dmz-net 80方向的报文也是允许通过的。 如图2所示,在我们的网络上,有一个IDS记录网络数据。以后,我将深入解释这种部署的隐患和问题。现在,我们来看入侵检测系统的配置。为此,我编写了一个脚本,它可以很好地帮助你做一些准备工作。当然,你可以选择自己的配置。 列表-1.预处理脚本 更多相关文章
|
推荐文章
精彩文章
|