Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2519164
  • 博文数量: 867
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 9800
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-27 14:44
文章分类

全部博文(867)

文章存档

2007年(6)

2006年(861)

我的朋友

分类: LINUX

2006-07-30 22:23:04

作者:CU-squall

发表于:2005年5月3日 01:00 可以不经作者同意自由传播,请注明作者出处。

主页:

E-mail:squall@grlinux.net

【简 介】

  Snort是一个轻便的网络入侵检测系统,可以完成实时流量分析和对网络上的IP包登录进行测试等功能,能完成协议分析,内容查找/匹配,能用来探测多种攻击和嗅探(如缓冲区溢出、秘密断口扫描、CGI攻击、SMB嗅探、拇纹采集尝试等)。

前提:Apache要支持PHP,这样我们才能在浏览器上通过acid分析日志,喜欢看文本日志的除外more /var/log/snort/alert

需要的软件包:

①httpd-2.0.52.tar.gz,

②mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz,

http://dev.mysql.com/get/Downloads/...ar.gz/from/pick

③php-4.3.10.tar.gz,

④snort+acid+adodb+jpgraph+libpcap+pcre这些包我已经打包好放我网站里了,地址:

/squall/snort_soft.tar.bz2

apache+mysql+php这里不介绍了,不清楚的到我那拿PDF的吧。

(这里说明一下,最新的snort-2.3.3.tar.gz的contrib目录里很多重要文件都没有,所以按照参考教程又下了一个snort-2.0.0.tar.gz)

一、准备工作

# 把所有tar包放到/usr/local/src/下。

# tar zxvf libpcap-0.7.2.tar.gz

# cd libpcap-0.7.2

# ./configure

# make

# make install

# cd ..

# tar zxvf pcre-5.0.tar.gz

# ./configure

# make

# make install

# 我这里没有安装zlib,因为我的系统里有,如果你要安装新的zlib包,请先卸载自带的包。

二、安装snort

我们还是要编译snort-2.3.3.tar.gz,因为很多规则都是最新的,至于contrib目录里的文件我们用snort-2.0.0.tar.gz这个。

# tar zxvf snort-2.3.3.tar.gz

# tar zxvf snort-2.0.0.tar.gz

# cd snort-2.3.3

# ./configure --with-mysql=/usr/local/mysql

# make

# make install

# cd rules

# mkdir /etc/snort

# mkdir /var/log/snort

# cp * /etc/snort

# cd etc

# cp snort.conf /etc/snort

# cp *.config /etc/snort

# cd

# vi /etc/snort/snort.conf

# 把“# var HOME_NET 10.1.1.0/24”改成“var HOME_NET 192.168.0.0/24”你自己LAN内的地址,把前面的#号去掉。

# 把“var RULE_PATH ../rules”改成“var RULE_PATH /etc/snort”

# 把“# output database: log, mysql, user=root password=test dbname=db host=localhost”改成“output database: log, mysql, user=root password=123456 dbname=snort host=localhost”密码改成你自己的,把前面的#号去掉。

# 把“

# include  $RULE_PATH/web-attacks.rules

# include  $RULE_PATH/backdoor.rules

# include  $RULE_PATH/shellcode.rules

# include  $RULE_PATH/policy.rules

# include  $RULE_PATH/porn.rules

# include  $RULE_PATH/info.rules

# include  $RULE_PATH/icmp-info.rules

include  $RULE_PATH/virus.rules

# include  $RULE_PATH/chat.rules

# include  $RULE_PATH/multimedia.rules

# include  $RULE_PATH/p2p.rules”前面的#号删除。

# 修改完毕后,保存退出。

三、建立snort数据库

# /usr/local/mysql/bin/mysql -uroot -p123456

# create database snort;

# grant INSERT,SELECT on root.* to snort@localhost;

# exit

# 这时我们进入snort2.0的contrib的目录

# cd /usr/local/src/snort-2.0.0/contrib/

# /usr/local/mysql/bin/mysql -uroot -p123456 < create_mysql snort

# zcat snortdb-extra.gz | /usr/local/mysql/bin/mysql -p123456 snort

# 这里我加-uroot会报错,等半根烟的功夫。

# 进入mysql数据库,看看snort数据库中的表:

# /usr/local/mysql/bin/mysql -uroot -p123456

mysql>show databases;

+------------+

| Database

+------------+

| mysql

| snort

| test

+------------+

3 rows in set (0.00 sec)

mysql>use snort;

mysql>show tables; 将会有这些:

+------------------+

| Tables_in_snort |

+------------------+

| data

| detail

| encoding

| event

| flags

| icmphdr

| iphdr

| opt

| protocols

| reference

| reference_system

| schema

| sensor

| services

| sig_class

| sig_reference

| signature

| tcphdr

| udphdr

+------------------+

19 rows in set (0.00 sec)

mysql>exit

四、安装配置Acid

# 把acid-0.9.6b23.tar.gz、adodb330.tgz、jpgraph-1.11.tar.gz放到网页根目录,我这里是默认的。

# cp a*.* /usr/local/apache/htdocs

# cp jpgraph-1.11.tar.gz /usr/local/apache/htdocs

# tar zxvf adodb330.tgz

# tar zxvf jpgraph-1.11.tar.gz

# mv jpgraph-1.11 jpgraph

# tar zxvf acid-0.9.6b23.tar.gz

# cd acid

# vi acid_conf.php

# 把“ $DBlib_path = ";” 改成“ $DBlib_path = "/usr/local/apache/htdocs/adodb”

#  $alert_dbname = "snort_log"; //改成snort

 $alert_host = "localhost";

 $alert_port = "";

 $alert_user = "root";

 $alert_password = "mypassword"; //改成你的数据库密码

/* Archive DB connection parameters */

 $archive_dbname = "snort_archive"; //改成snort

 $archive_host = "localhost";

 $archive_port = "";

 $archive_user = "root";

 $archive_password = "mypassword;” //改成你的数据库密码

# 把“ $ChartLib_path = ";” 改成“ $ChartLib_path = "/usr/local/apache/htdocs/jpgraph/src";”

# 修改完毕后,保存退出。

五、写一个snort规则

# cd /usr/local/

# vi snort.sh

#!/bin/sh

snort -d -h 192.168.0.0/24 -l /var/log/snort -c /etc/snort/snort.conf -i eth0 -A full

# 保存退出。

# chmod 755 snort.sh

六,启动服务

# /usr/local/apache/bin/apachectl start

# cd /usr/local/mysql/

# vi mysql_start.sh

#!/bin/sh

/usr/local/mysql/bin/mysqld_safe --user=mysql &

# 保存退出。

# chmod 755 mysql_start.sh

# cp mysql_start.sh /usr/sbin/

# ./mysql_start.sh

# /usr/local/snort.sh

# service named start

七、进入web界面:

# ,点"Setup Page"链接 ->Create Acid AG

# 访问将会看到ACID界面。

八、测试IDS

# 利用nmap,nessus,CIS或者X-scan对系统进行扫描,产生告警纪录。

# 察看纪录。

# 至此,一个功能强大的IDS配置完毕。各位可以利用web界面远程登陆,监控主机所处局域网,同时安装 phpMyAdmin或webmin对mysql数据库进行操控。

参考:《构建小型的入侵检测系统》以及bbs.chinaunix.net搜索引擎的帖子和《Snort(入侵检测系统)中文手册》

阅读(871) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~