Chinaunix首页 | 论坛 | 博客
  • 博客访问: 462789
  • 博文数量: 132
  • 博客积分: 2995
  • 博客等级: 少校
  • 技术积分: 1412
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-06 20:14
文章分类

全部博文(132)

文章存档

2010年(2)

2008年(21)

2007年(109)

我的朋友

分类:

2007-03-10 13:19:52

构建入侵检测系统(IDS)

Snort+ACID

1.Snort简介
Snort 是一个强大的轻量级的网络入侵检测系统。它具有实时数据流量分析和日志IP 网络数据包的能力,能够进行协议分析,对内容进行搜索/匹配。
它能够检测各种不同的攻击方式,对攻击进行实时报警。

2. 平台
# uname -a
FreeBSD 6.1-RELEASE /usr/obj/usr/src/sys/GENERIC i386
FreeBSD是financeWEB和KABU服务器使用最多的操作系统(还有一部分使用的linux操作系统),现在以FreeBSD操作系统为例,进行构建。

3. 所需要的软件(省略,下面会有介绍)

4. 安装FreeBSD 6.1(省略)


5. 安装最新的ports
login:root
password

1)Install cvsup-without-gui
#pkg_add -r cvsup-without-gui

2)安全设置
ee /etc/rc.conf
增加以下行:
sendmail_enable="NONE"
inetd_enable="NO"
ntpdate_flags="ntp6.space.net"
ntpdate_enable="YES"
ifconfig_fxp0="inet 10.5.3.199 netmask 255.255.255.0"
defaultrouter="10.5.3.50"
保存

ee /etc/ssh/sshd_config
只容许ssh协议2
#Protocol 2 -> Protocol 2
#PermitRootLogin no -> PermitRootLogin no
保存

ee /etc/ttys
拒绝单用户模式登录
console none    unknown off secure -> console none    unknown off insecure
保存

重启网络
/etc/netstart

3)安装最新的ports树
cp /usr/share/examples/cvsup/ports-supfile /etc/
cp /usr/share/examples/cvsup/stable-supfile /etc/

ee /etc/ports-supfile
*default host=CHANGE_THIS.FreeBSD.org -> *default host=cvsup5.FreeBSD.org
保存

ee /etc/stable-supfile
*default host=CHANGE_THIS.FreeBSD.org -> *default host=cvsup5.FreeBSD.org
在*default release=cvs tag=RELENG_6行上面增加:
*default release=cvs tag=RELENG_6_1
保存

mkdir /root/scripts
cd /root/scripts
ee ports-update.sh
#!/bin/sh
# updating port
echo "Beginning Ports Update"
/usr/local/bin/cvsup -g -L 2 /etc/ports-supfile
echo "Ports Update Complete"
保存

ee src-update.sh
#!/bin/sh
# updating source
echo "Beginning Source Update"
/usr/local/bin/cvsup -g -L 2 /etc/stable-supfile
echo "Source Update Complete"
保存

chmod +x *.sh
chmod 640 /etc/ports-supfile
chmod 640 /etc/stable-supfile

4)重建ports树并重新编译核心
/root/scripts/src-update.sh
cd /usr/src/sys/i386/conf
这时候你可以根据需要,修改文件:GENERIC,更改核心设备的设置等
cp GENERIC CUSTOM
vi CUSTOM
保存

5)为FreeBSD打最新的补丁:
mkdir /usr/patches
cd /usr/patches
fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:14/bzip2.patch
fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:14/bzip2.patch.asc
cd /usr/src
patch < /usr/patches/bzip2.patch
一路“回车”

6)打完补丁,开始重新编译系统:
# make buildworld
# make buildkernel KERNCONF=CUSTOM
# make installkernel KERNCONF=CUSTOM
# reboot

7)重启到loader时,输入boot -s,进入单用户模式:
# mergemaster -p
# make installworld
# mergemaster
# reboot

8)升级ports数:
sh  /root/scripts/ports-update.sh


9)好了,系统更新已经完毕,现在让我们开始IDS旅行吧!!
FreeBSD下安装软件最好的方法莫过于使用ports,简单的不能再简单了,而且安装的内容一样都不差,只需在相应的目录打:make install,
这样freebsd自己去寻找并安装软件所需的库和各种支持文件。
我们上面已经有了一个软件列表:
Idled
Stunnel
Snort
Libpcap
MySQL (Server for the DB station)
Modphp 4
Adodb
Gd
Phplot
Apache13
ACID
我们只需要知道各个软件在ports下的哪个目录就行,其余的事情交给freebsd吧。

10)安装Idled
1. cd /usr/ports/sysutils/idled
2. make install clean
3. cd /usr/local/etc
4. cp idled.cf.template idled.cf
5. ee idled.d
#!/bin/sh
result_ps=`ps auxwww | grep idled | sed '/grep/d'`
if [ $result_ps -eq "" ]
then
/usr/local/libexec/idled -f /usr/local/etc/idled.cf
else
exit 0
fi
chmod 755 /etc/rc.d/idled.d
/etc/rc.d/inled.d
ps auxww | grep idled.d

11)安装ntp
pkg_add -r ntp
ee /etc/rc.conf
添加行:
ntpd_enable="YES"
保存

12)安装apache-modssl
cd /usr/ports/www/apache13-modssl
make
make certificate VIEW=1
make install clean


13)安装MySQL
cd /usr/ports/databases/mysql41-server/
make install clean
[可选]
cd /usr/ports/databases/mysql40-client/
make install clean

ee /etc/rc.conf
添加:
mysql_enable="YES"

安装完毕,初始化数据库权限表和用户表:
/usr/local/bin/mysql_install_dbcle
注:
如果以前安装了mysql,想覆盖安装:
make deinstall
make clean
rm /usr/local/bin/mysql*
rm /usr/bin/mysql*
make FORCE_PKG_REGISTER=yes reinstall
强制重新安装。

更改存放数据库文件夹的权限和所有人:
chown -R mysql /var/db/mysql/
chgrp -R mysql /var/db/mysql/

cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf

启动数据库:
/usr/local/bin/mysqld_safe -user=mysql &

更改数据库用户root的密码:
/usr/local/bin/mysqladmin -u root password 123456
检测是否可以连接mysql服务器端。
/usr/local/bin/mysql -uroot -p123456

cd /usr/ports/security/snort/
make
cd /usr/ports/security/snort/work/snort-2.4.5/schemas

建一个库,名字叫snort,给root的权限为在本地可以select、insert数据库snort中的表:
echo “CEATE DATABASE snort; “| mysql –u root –p123456
mysql –u root –p123456
mysql> grant INSERT, SELECT on snort.* to snort@localhost identified by "123456";
Query OK, 0 rows affected (0.01sec)
mysql>exit

cd /usr/ports/security/snort/work/snort-2.4.5/schemas
/usr/local/bin/mysql -uroot -p123456 < ./create_mysql snort


12)安装APACHE, ACID, etc for SNORT
cd /usr/ports/www/apache13
make install clean


13)PHPMod安装:
cd /usr/ports/lang/php4
ee Makefile
CONFIGURE_ARGS= --enable-versioning \
--enable-memory-limit \
--with-layout=GNU \
--disable-all \
--with-pcre \
--enable-bcmath \
--enable-session \
--with-gd \
--with-mysql  \
--with-zlib-dir=/usr \
--enable-sockets \\

保存

安装ADODB and Graphics Libraries
cd /usr/ports/databases/adodb && make install clean
cd /usr/ports/graphics/gd && make install clean
cd /usr/ports/graphics/phplot && make install clean

cd /usr/ports/lang/php4
install make clean

14)安装和配置ACID
acid可以分析snort截获的TCP, UDP, ICMP packets.
cd /usr/ports/security/snort
cd /usr/ports/security/acid && make install clean
会弹出一个对话框,选择perl,回车继续。

cd /usr/ports/security/acid && make install clean
chmod 644 /usr/local/www/acid/acid_conf.php
ee /usr/local/www/acid/acid_graph_form.php
阅读(713) | 评论(0) | 转发(0) |
0

上一篇:TcpDump安装设置

下一篇:sendmail转换qmail

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