网普技术论坛 网普科技  
» 游客:   网普主页 | 注册 | 登录 | 帮助
 

作者:
标题: IDS自己建(图)[ZT] 上一主题 | 下一主题
网普科技
网普管理员

网普科技人民公仆


积分 3080
发贴 2863
注册 2004-6-26
来自 网普科技
状态 离线
#1  IDS自己建(图)[ZT]

本文出自《网管员世界》

网络安全面临着越来越多的考验和威胁,单纯依靠防火墙来解决系统的安全问题是不够的。入侵检测系统(IDS)作为一种积极主动的安全防护技术,从计算机网络系统中收集信息,并分析查看网络中是否有违反安全策略的行为和遭到袭击的迹象,提供了对内部攻击、外部攻击的实时保护,扩展了系统管理员的安全管理能力。同时,IDS还提供事件记录功能,有助于系统管理员在事故发生后追踪攻击者,或者帮助事后发现一些当时无法判断的“黑客”事件。因此,采用入侵检测系统,作为防火墙的补充,可以完善整个安全基础结构的完整性,极大地提高网络系统的安全性。


→图1  典型网络环境

Snort是一个开放源代码的IDS系统,可以运行在Linux/Unix和Windows等系统上,具有很好的扩展性和可移植性,非常适合各中小型的网络系统使用。下面,以一个典型的网络环境为例,介绍使用Snort来实施IDS系统。

IDS部署

在实施IDS时,面临的问题是:如何部署IDS系统。基于网络的IDS系统,大部分是通过网络交换机采集整个网络的流量信息,数据量非常大,管理员很少会有时间来正确地分析它们。其实,实施IDS的目的,主要是为了保护系统中重要的主机。因此,在这里,我们采用基于主机的IDS,即在各个需要被监控的服务器上安装IDS传感器,根据各服务器自身应用的特点,定制规则,并将收集到的信息、告警等传至网管中心的IDS控制中心。根据以上部署方案,图1中各服务器的IDS角色配置见表一。

软件需求

运行Snort软件需要libpcap库支持。libpcap是一个与实现无关的访问操作系统所提供的分组捕获机制的分组捕获函数库,用于访问数据链路层。因此,各IDS传感器和IDS控制中心上都需要安装libpcap库。
在IDS控制中心,为了方便配置和管理Snort,我们采用Web方式分析Snort日志。所需软件为:Apache web server、MySQL database server、ACID等。
1、 Apache web server。Web服务器,为ACID提供运行环境。
2、MySQL database server。数据库服务器,用于存储Snort告警信息。所有IDS传感器产生的信息、警报等都保存在MySQL数据库中。
3、 ACID(Analysis Console for Intrusion Databases)。ACID是Web方式查看分析Snort日志和警报信息的软件。ACID需要Php、Adodb、Phplot、Gd、Zlib等软件的支持,来实现对MySQL数据库的访问,以及以图形方式表现Snort日志警报信息。

安装IDS

1、首先,在IDS传感器和监控中心上安装libpcap。以一台Solaris 2.6的服务器为例,libpcap获得地址:ftp://ftp.ee.lbl.gov,最新版本为libpcap-0.7.1.tar.gz。将libpcap-0.7.1.tar.gz拷贝至/usr/local/目录下,解压缩:
# cp libpcap-0.7.1.tar.gz /usr/local
# cd /usr/local
# gzip -d libpcap-0.7.1.tar.gz
# tar -xvf libpcap-0.7.1.tar

安装:
# cd libpcap-0.7.1
# ./configure
……
2、安装配置Snort。Snort获得地址:http://www.Snort.org,最新版本为Snort-1.9.0.tar.gz。同libpcap-0.7.1.tar.gz一样,将Snort-1.9.0.tar.gz拷贝至/usr/local/目录下解压缩,并重命名解压后的目录:
# cp snort-1.9.0.tar.gz /usr/local
# cd /usr/local
# gzip -d snort-1.9.0.tar.gz
# tar -xvf snort-1.9.0.tar
# mv snort-1.9.0 Snort
安装Snort时要注意,在运行configure时,要带上--with-libpcap=/usr/local/includes选项,告诉Snort 查找libpcap库的地方,--with-mysql选项激活Snort的数据库插件功能:
# cd snort
# ./configure --with-libpcap=/usr/local/includes --with-mysql
# make
# make install

安装Snort规则文件
作为网络入侵检测系统,Snort主要是根据启动时加载的规则文件中定义的规则,来检测和判断各种不同的攻击和探测,并进行实时报警的。就象病毒定义一样,Snort的规则文件也是随着新出现的攻击特征而更新,更新地址:http://www.snort.org/dl/rules,文件为Snortrules-stable.tar.gz。当然,用户也可以根据自身应用的特点,自行添加、修改规则。
# mkdir /etc/snort
# cp snortrules-stable.tar /etc/snort
# cd /etc/snort
# tar -xvf snortrules-stable.tar

编辑Snort.conf文件
定义内/外部网络地址和主机、端口信息等,例如:
var HOME_NET [172.16.0.0/16,192.168.0.0/16,10.0.0.0/24]
var EXTERNAL_NET any
var HTTP_SERVERS 172.16.1.9
var HTTP_PORTS 80
Snort的数据库插件支持各种数据库形式,比如:Oracle、MSSQL、Postgresql等等,在实施中,我们指定Snort输出到mysql类型的数据库。
将Snort.conf文件中的这行文字:
#output database: log, mysql, user=root password=test dbname=db host=localhost
改为:
#output database: log, mysql, dbname=snort user=snort password=123 host=0.0.0.0

#output database: log, mysql, dbname=snort user=snort password=123 host=172.16.1.9
其中,dbname为Snort输出存放的数据库名;user和password是用于访问该数据库的用户身份和密码;host即为mysql数据库所在的主机地址,对IDS控制中心而言,host为0.0.0.0即本机地址;在IDS传感器上,host则指向IDS控制中心。

安装MySQL
MySQL安装在IDS监控中心,获得地址:http://www.mysql.com,最新版本为mysql-3.23.55.tar.gz。Mysql的安装方法与上相同,这里主要介绍在mysql中配置Snort库。
首先,在mysql中创建Snort数据库及表结构:
# ./mysql -u root
mysql> create databse snort;
mysql> connect snort
mysql> source /usr/local/snort/contrib/create_mysql
然后,创建Snort用户,授权可以远程或本地访问和修改Snort数据库:
mysql> connect snort
mysql> grant create, insert, select, delete, update on snort.* to snort;
mysql>grant create, insert, select, delete, update on snort.* to snort@localhost;
mysql> set password for 'snort'@'localhost' = password('123');
mysql> set password for 'snort'@'%' = password('123');
mysql> flush privileges;
mysql> exit

安装ACID
ACID安装在IDS监控中心,所需软件及模块见表2:
ACID是用PHP语言写长的。因此,我们首先要安装PHP:
# cp php-4.3.1.tar /usr/local
# cd /usr/local
# tar -xvf php-4.3.1.tar
# mv php-4.3.1 php
# ./configure  --with-mysql=/usr/local/mysql --with-gd --enable-sockets --with-apache=/www --with-jpeg-dir=/usr/local/jpgraph --with-zlib-dir=/usr/local
# make
# make install
# cp php.ini-dist /usr/local/lib/php.ini

创建/www/html目录,它将作为Apache服务器的DocumentRoot。同时,将acid-0.9.6b22.tar、adodb320.tar、gd-2.0.12.tar、phplot-4.4.6.tar等在该目录下解压,并去掉版本信息重新命名之:
# mkdir /www/html
# tar -xvf acid-0.9.6b22.tar /www/html
# mv acid-0.9.6b22 acid
# tar -xvf adodb320.tar /www/html
# mv adodb320 adodb
……

修改/www/html/acid/acid_conf.php文件,将其中的各个参数指向正确的地方:
$DBlib_path=“../adodb”;
$alert_dbname=“snort”;
$alert_user=“snort”;
$alert_password=“123”;
$Chartlib_path=“../phplot”;

配置 Apache服务器
Apache与ACID一起安装在IDS监控中心,主要是为ACID提供Web运行环境,获得地址:http://www.apache.org,最新版本为:apache_1.3.27.tar。安装时要使用--prefix指定Apache服务器的安装目录为/www,即ACID所在的目录;同时使用--activate-module=src/modules/php4/libphp4.a选项来激活Apache服务器的php模块。
# cp apache_1.3.27.tar /usr/local; tar -xvf apache.tar
# mv apache_1.3.27 apache
# cd apache
# ./configure --prefix=/www --activate-module=src/modules/php4/libphp4.a
……
在httpd.conf文件添加下行:
AddType application/x-httpd-php .php
为了保证web访问的安全性,我们对ACID页面的增加用户认证授权控制:
创建账号:
# mkdir /usr/lib/apache/passwords
# htpasswd -c /usr/lib/apache/passwords/passwords admin
修改httpd.conf文件:
<Directory “/www/html/acid”>
AuthType Basic
AuthName“abc”
AuthUserFile /usr/lib/apache/passwords/passwords
Require user admin
AllowOverride None
</Directory>

运行IDS

从系统安全性考虑,应避免以root或超级用户的身份运行Snort,需为Snort创建专用的用户和组:
# groupadd snort
# useradd snort -g snort
在IDS传感器和IDS监控中心上启动Snort:
# snort -u snort -g snort -U -d -D -c /etc/snort/snort.conf
在IDS监控中心上访问http://172.16.1.9/acid,可以查看到系统中警报信息。至此,采用Snort实施的IDS系统,就可以有针对性的保护系统中重要的服务器了。

几点建议

本文介绍了采用Snort在典型网络环境中实施IDS的过程,也是作者在实际中实施过的。根据作者使用的经验,主要有以下几点建议:
1、安装软件时,最好不要使用网站上提供的二进制代码,从实用和性能的角度考虑,最好使用源代码自行编译;
2、在Snort传感器和监控中心上使用高质量的网卡;
3、为Snort创建专门的用户和组,避免使用超级用户的权限;
4、根据企业资源和应用的具体情况,以及Snort警报信息,及时调整Snort规则,避免误报、错报或者漏报;
5、最后,也是最重要的,管理员要经常查看IDS警报信息。
表一
   主机     IP地址    平台   IDS角色
网管工作站  172.16.1.9 Solaris 2.6 IDS控制中心
Web服务器  10.0.0.1 Linux  IDS传感器
Mail服务器  10.0.0.2 Solaris 2.8 IDS传感器
DNS服务器  10.0.03 Solaris 2.6 IDS传感器
应用服务器  10.0.0.4等 Solaris 2.8 IDS传感器
部门服务器  192.168.10.2等 Linux /Windows IDS传感器
表二
软件 名称 获得地址
ACID acid-0.9.6b22.tar http://acidlab.sourceforge.net/
Php php-4.3.1.tar http://www.php.net
Zlib zlib-1.1.4.tar http://www.gzip.org/zlib/
Jpeg jpgraph-1.8.tar http://www.aditus.nu/jpgraph/downloads
Adodb adodb320.tar http://php.weblogs.com/adodb
Phplot phplot-4.4.6.tar http://www.phplot.com/
Gd gd-2.0.12.tar http://www.boutell.com/gd/



天理路上甚宽,稍游心,胸中便觉广大宏朗;
人欲路上甚窄,才寄迹,眼前俱是荆棘泥涂。



网普科技,优质美国主机服务!
美国Linux主机,美国虚拟主机
支持PHP+MYSQL+cPanel+EMAIL
为用户负责,拒绝反动、赌博及色情内容! QQ:126818

发送QQ消息
2005-6-9 04:32 PM
查看资料  访问主页  发短消息  QQ   编辑帖子  引用回复 顶部
茱莉娅
THE BODY SHOP美容顾问

茱莉娅美体小铺


积分 3080
发贴 2863
注册 2009-5-21
来自 茱莉娅美体小铺
状态 离线
#1  赞助商信息The body shop

茱莉娅美体小铺
茱莉娅美体小铺淘宝店
茱莉娅美体小铺


茱莉娅美体小铺淘宝店
2005-6-9 04:32 PM
查看资料  访问主页  发短消息  QQ   编辑帖子  引用回复 顶部


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转:  




Powered by Discuz! 2.5 © 2001-2005 Comsenz Technology Ltd.
Processed in 0.007734 second(s), 7 queries, Gzip enabled
------------------------------------------------------------------------------
本论坛属网普科技交流与技术支持论坛!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
美国主机, 美国虚拟主机, cPanel+PHP+Mysql+Ftp+Email+Zend+GD2+国际域名支持
技术支持 QQ: 126818 EMail & MSN: support[AT]netpu.net
[ 联系我们 ] - [ 网普科技 ]