Chinaunix首页 | 论坛 | 博客
  • 博客访问: 638469
  • 博文数量: 110
  • 博客积分: 3808
  • 博客等级: 中校
  • 技术积分: 1930
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-15 14:32
个人简介

声的伟大!

文章分类

全部博文(110)

文章存档

2014年(1)

2013年(2)

2012年(12)

2011年(81)

2010年(14)

分类: LINUX

2011-05-10 14:57:41

配置IDS
 
一、Snot安装
Snot提供了源码或RPM方式安装,在没有特殊需求的情况下推荐直接使用RPM方式安装

(1)使用如下命令安装相关软件包
yum install zlib-devel.i* -y
yum install libpcap-devel.i* -y
yum install pcre-devel.i* -y
yum install mysql-server.i* -y
yum install httpd-devel.i* -y
yum install libxml2-devel.i* -y
yum install openssl-devel.i* -y
yum install libtermcap-devel.i* -y
yum install libpng-devel.i* -y
yum install php.i* php-devel.i* -y
yum install php-pdo.i* php-mysql.i* php-pear.i* php-gd.i* -y
 
(2)启动MySQL服务并设置为下次启动自动加载
service mysqld restart
chkconfig mysqld on
 
(3)使用mysqladmin创建MySQL管理员密码
mysqladmin -uroot -p password 'redhat'
 
(4)启动Apache服务并设置为下次自动加载
service httpd restart
chkconfig httpd on
 
(5)执行以下命令,并将该命令加入/etc/profile文件中
export PCAP_FRAMES=max
 
(6)下载Snot及MySQL支持工具人RPM包()
rpm -ivh snort-version.i386.rpm
rpm -ivh snort-mysql-version.i386.rpm
 
(7)在snort官方网站下载并解压Snort规则文件后,将rules目录的内容复制到/etc/snort/rules目录。
 
(8)配置Snort与MySQL协同工作
create database snort

为了确保安全
grant CREATE,INSERT,DELETE,UPDATE,SELECT on snort.* to ;
set password for );
flush privileges;
 
接下来导入数据库
mysql -u tomyang -p snort < /usr/share/snort*/schemas/create_mysql
 
在建立表后,可使用tomyang用户查看MySQL数据库表是否建立成功
use snort;
show tables;
 
(9)修改/etc/snort/snort.conf中相关的参数
var HOME_NET 192.168.0.0/24 #指定snort工作的网段,除上述指定的方法以外还可以使用以下形式指定工作网段。
#当snort需要工作在多个网段时,通过var HOME_NET[<网段1>,<网段2>...]的方式,any表示所有网段。
#通过$_address表示指定网络接口所在的网段,比如var HOME_NET $eth0_address

var EXTERNAL_NET any #指定snort侦测所有的网段。

output database: log,mysql, user=tomyang password=redhat dbname=snort host=localhost
#指定snort将日志信息存入MySQL数据库。指定snort日志信息存储方式的格式如下。
output database: [log|alert], [数据库类型],[参数列表]
 
(10)停止默认使用的snort服务。
service snortd stop
chkconfig snortd off
 
(11)执行以下命令,并将该命令加入/etc/rc.d/rc.local文件中。其中-D用于指定Snort在后台运行,-c用于指定Snort的配置文件。
/usr/sbin/snort-mysql -D -c /etc/snort/snort.conf
 
 
二、安装及配置BASE
(1)建立一个用于存放BASE网页的目录(此处为/var/site/snorttools)。
 
(2)使用如下命令(wget http://jaist.dl.sourceforge.net/sourceforge/secureideas/base-1.4.1.tar.gz),内容解压并复制到/var/site/snorttools目录中
cp base-1.4.4.tar.gz /var/site/snorttools
cd /var/site/snorttools
tar xvf base-1.4.1.tar.gz
mv base-php4 base
 
(3)使用如下命令将下载的ADODB软件包(wget )内容解压到/var/site/snorttools目录中(该软件包主要用于BASE连接MySQL数据库)。
cp adodb507.tgz /var/site/snorttools
cd /var/site/snorttools
tar xzvf adodb507.tgz
mv adodb5 adodb
 
(4)在Apache中将其配置为一个web站点。

        DocumentRoot /var/site/snorttools/base
        ServerName
        ErrorLog /var/log/httpd/snort.err
        CustomLog /var/log/httpd/snort.access combined
       
                Options None
                AllowOverride None
                Order allow,deny
                allow from all
       

 
(5)写该SELinux状态。BASE就是一个PHP编写的动态网页,其SELinux状态修改方法与其他Web站点相同。
 
(6)使用如下命令复制BASE的配置文件模板
cd /var/site/snorttools/base
cp base_conf.php.dist base_conf.php
 
(7)修改/var/site/snorttools/base/base_conf.php文件,内容如下。
$BASE_Language= "simplified_chinese";
$BASE_urlpath= "/base";
$DBlib_path= "/var/site/snorttools/adodb";
$DBtype= "mysql"
$alert_dbname= "snort";
$alert_host= "localhost";
$alert_port= "";
$alert_user= "tomyang";
$alert_password= "redhat";
$archive_exists= 1;
$archive_dbname= "snort";
$archive_host= "localhost";
$archive_port= "";
$archive_user= "tomyang";
$archive_password= "redhat";
 
(8)使用如下命令重启httpd服务
service httpd restart

访问,如图所示:


三、Snort与IPTables构建主动防火墙
Guardian(Guardian官方网站:)是基于Snort与IPTables的一个主动防火墙,它能够分析Snort的日志文件,根据一定的判断自动将某些恶意的IP自动加入IPTables的输入链,将其数据报丢弃。

(1)下载Guardian源码包,并使用以下配置。
tar xvf guardian-1.7.tar.gz
cd guardian-1.7
echo > /etc/guardian.ignore
cp guardian.pl /usr/local/bin/
cp scripts/iptables_block.sh /usr/local/bin/guardian_block.sh
cp scripts/iptables_unblock.sh /usr/local/bin/guardian_unblock.sh
cp guardian.conf /etc/
 
(2)修改/etc/guardian.conf中相关参数
HostGatewayByte 1
#guardian的日志文件
LogFile /var/log/guardian.log
#guardian从何处读取snort的日志
AlertFile /var/log/snort/alert
#将需要忽略的IP存放在此文件中,一行一个
IgnoreFile /etc/guardian.ignore
#封锁IP的最长时间,99999999为没有时间限制
TimeLimit 80000
 
(3)执行以下命令,并将其加入/etc/rc.d/rc.local文件中。
/usr/bin/perl /usr/local/bin/guardian.pl -c /etc/guardian.conf
阅读(2130) | 评论(0) | 转发(0) |
0

上一篇:PAM简单举例

下一篇:数据备份

给主人留下些什么吧!~~