您的位置:首页 > 职场人生

在Windows环境下建立Snort+BASE***检测系统

2009-05-13 18:00 344 查看
[align=left]最近服务器经常出现不明不白的错误,从表面上看应该是服务器被HACK给***或者被***了.决心好好研究IDS***防护这一块.找到好的资料供大家共享.[/align]
[align=left]版权申明:本文版权为Stanley所有,仅限于非盈利性网站、BSS、BLOG转载和收藏,未经允许,严禁用于商业用途。转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。[/align]
[align=left]Snort是一套非常优秀的开放源代码网络监测系统,在网络安全界有着非常广泛的应用。其基本原理基于网络嗅探,即抓取并记录经过检测节点以太网接口的数据包并对其进行协议分析,筛选出符合危险特征的或是特殊的流量。网络管理员可以根据警示信息分析网络中的异常情况,及时发现***网络的行为。其名称Snort(喷鼻息)也是来源于“嗅探”(sniff)的反义词。[/align]
[align=left] [/align]
[align=left]Snort最开始是针对于Unix/Linux平台开发的开源IDS软件,后来才加入了对Windows平台的支持。但直至现在对于Snort的应用(尤其是Snort的前端传感部分)主要还是基于Unix/Linux平台的,因为现在的普遍观点都支持Unix内核的网络效率要大大高于Windows内核。不过由于Windows平台的易用性和普及性,在Windows Server上建立开放而又便宜的Snort IDS对于网络研究及辅助分析还是非常有意义的。[/align]
[align=left]第一次在Windows系统下部署基于Snort的IDS是一个非常痛苦的过程,网络上充斥着过时的文档和以讹传讹的借鉴心得,一开始我就走了不少弯路。不过假如能够理清思路其实并不困难。[/align]
[align=left]I.系统结构[/align]
[align=left] [/align]
[align=left]基于Snort和BASE的***检测系统通常采用“传感器—数据库—分析平台”的三层架构体系。传感器即网络数据包捕获转储程序。[/align]
[align=left]WinPcap作为系统底层网络接口驱动,Snort作为数据报捕获、筛选和转储程序,二者即可构成IDS的传感器部件。为了完整覆盖监控可以根据网络分布情况在多个网络关键节点上分别部署IDS传感器。[/align]
[align=left]Snort获得记录信息后可以存储到本地日志也可以发送到Syslog服务器或是直接存储到数据库中,数据库可以是本地也可以是远程的,Snort2.8.0支持MySQL、MSSQL、PostgreSQL、ODBC、Oracle等数据库接口,扩展性非常好。[/align]
[align=left]Snort的日志记录仅仅包含网络数据包的原始信息,对这些大量的原始信息进行人工整理分析是一件非常耗时而且低效率的事情,我们还需要一个能够操作查询数据库的分析平台。无论是从易用性还是平台独立性考虑,WEB平台都是首选。ACID是Snort早期最流行的分析平台,使用PHP开发,不过之后的一段时间开发组不再更新和支持这套系统,现在已经由基于它再开发的BASE所取代。[/align]
[align=left]这三种角色既可以部署于同一个主机平台也可以部署在不同的物理平台上,架构组织非常灵活。如果仅仅需要一个测试研究环境,单服务器部署是一个不错的选择;而如果需要一个稳定高效的专业IDS平台,那么多层分布的IDS无论是在安全还是在性能方面都能够满足。具体的部署方案还要取决于实际环境需求。[/align]
[align=left]II. 安装环境[/align]
[align=left]预安装环境:[/align]
[align=left]主要硬件: HP DL140: Xeon 2.4GHz; 2G DDR; Broadcom NetXtreme Gigabit Ethernet X2;[/align]
[align=left]操作系统: Windows Server 2003 Std SP2 R2[/align]
[align=left]部署软件包:[/align]
[align=left]传感器组件:[/align]
[align=left]WinPcap 4.0;网络数据包截取驱动程序[/align]
[align=left][Link] http://winpcap.polito.it[/align] [align=left]Snort 2.8.0 for Win32;Sourcefire VRT Certified Rules Released 2007-08-27;[/align]
[align=left]Windows版本的Snort安装包以及官方认证Snort规则库(须注册)[/align]
[align=left][Link] http://www.snort.org[/align] [align=left]数据库组件:[/align]
[align=left]MySQL 5.0.45 for Win32;MySQL GUI Tools 5.0 r12 for Win32;[/align]
[align=left]MySQL数据库及管理工具[/align]
[align=left][Link] http://www.mysql.com[/align] [align=left]ADODB 4.95a;(Active Data Objects Data Base for PHP5)[/align]
[align=left]PHP5的数据库连接组件(支持MySQL/MSSQL/PostageSQL等)[/align]
[align=left][Link] http://sourceforge.net/project/showfiles.php?group_id=42718[/align] [align=left]分析平台:[/align]
[align=left]Apache 2.2.6 for Win32-x86 with OpenSSL 0.9.8e;[/align]
[align=left][Link] http://apache.mirror.phpchina.com/httpd/binaries/win32/[/align] [align=left]PHP 5.2.4 for Win32 Non-install;PEAR 1.6.1;[/align]
[align=left][Link] http://www.php.net[/align] [align=left]WEB前端:[/align]
[align=left]Basic Analysis and Security Engine 1.3.6 (各平台通用,基于PHP,目前最新版本为1.3.8,但是有一个比较麻烦的Bug,后面会解释)[/align]
[align=left][Link] http://sourceforge.net/project/showfiles.php?group_id=103348[/align] [align=left] [/align]
[align=left]III. 前期准备[/align]
[align=left]作为一套***检测系统,自身安全自然是最重要的。对于Windows Server 2003系统安全配置及策略无需多说,假如是用作生产环境的IDS,应该使用专属的服务器并尽可能删除任何与配置管理IDS无关的服务和组件。如果条件允许,使用“传感器—数据库—分析平台”的三层独立架构可以获得更高的运行性能、稳定性与安全性。[/align]
[align=left]确定了系统架构并获得所需要的软件包后,就可以正式开工了。由于我建立的是测试环境,所有的组件安装都在一台机器上完成。[/align]
[align=left] [/align]
[align=left]IV. 部署过程[/align]
[align=left]1. 传感器组件:[/align]
[align=left]首先需要注意的是使用高性能的服务器网卡对于提高抓包性能和质量非常有效,我使用的是2张Broadcom NetXtreme千兆网卡,30分钟的抓包测试中,掉包率为0%,CPU占用率非常低。另外WinPcap和Snort应尽量使用最新的稳定版本,捕获数据包的质量对于IDS来说非常重要,当然这条准则同样适用于其他组件。[/align]
[align=left]WinPcap和Snort都是现成的安装程序,过程非常简单。建议将snort安装在非系统分区内,这里为D:\snort\。安装完Snort后,rules目录下还是空的,需要将另外下载的snort规则包解压拷贝到snort安装目录下,注意规则包所对应的版本。[/align]
[align=left]修改snort的设置文件:d:\snort\rules\var\snort.conf[/align]
[align=left]#设置规则包路径:[/align]
[align=left]var d:\snort\rules[/align]
[align=left]#设置数据库连接:[/align]
[align=left]output database: log, mysql, user=snortuser password=snort dbname=snortdb host=localhost[/align]
[align=left]#设置动态预处理库目录[/align]
[align=left]dynamicpreprocessor directory C:\Snort\lib\snort_dynamicpreprocessor[/align]
[align=left]dynamicengine C:\Snort\lib\snort_dynamicengine\sf_engine.dll[/align]
[align=left] [/align]
[align=left]2. 数据库组件[/align]
[align=left]这次使用的是MySQL 5.0.45 for Win32的完整安装程序,为了更高的安全性和移植性也可以使用不带安装程序的软件包。[/align]
[align=left]软件包的安装较简单,服务端和客户端程序是必选组件,其他可根据需要选择安装。建议安装在非系统分区。[/align]

因为截图无法批量上传,其它的..大家下载附件.

附件:http://down.51cto.com/data/2352612
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 休闲 Snort+BASE