入侵检测:Snort,Base,MySQL和Apache2在Ubuntu 7.10(Gutsy Gibbon)(更新)
本教程基于DevilMan编写的另一个教程,但我不喜欢手动编译每个软件包或使用GUI来安装软件的想法。 这个howto将在Gutsy服务器或Gutsy桌面上工作。 有了这个说法,一些这个howto是从原来的直接拷贝。
在本教程中,我将介绍如何从Ubuntu 7.10(Gutsy Gibbon)上的源,BASE(基本分析和安全引擎),MySQL和Apache2安装和配置Snort(入侵检测系统(IDS))。 Snort将帮助您监控网络并提醒您有关可能的威胁。 Snort将其日志文件输出到BASE将用于在Web浏览器中显示图形界面的MySQL数据库。
1.获得root权限
以root用户的身份执行此操作是最简单的方法。
sudo su -
2.安装一些包
以下将安装所有必需的软件包以使此设置正常工作:
apt-get install libpcap0.8-dev libmysqlclient15-dev mysql-client-5.0 mysql-server-5.0 bison flex apache2 libapache2-mod-php5 php5-gd php5-mysql libphp-adodb php-pear libc6-dev g++ gcc pcregrep libpcre3-dev
获取和编译snort
Gutsy回购中的Snort包已过期。 所以我喜欢下载最新的并安装。 这是我们唯一从头开始编译的。
最新版本的snort在写作时是2.8.0.1
首先让我们去一个工作目录:
cd /usr/src/
打开网页浏览器并浏览http://www.snort.org/dl右键单击最新版本并复制链接位置。
一个。 下载snort和snort规则
wget http://www.snort.org/dl/current/snort-2.8.0.1.tar.gz
有几个规则选项。 以下将下载公共规则,但是在snort网站上可以快速注册,您可以获得更多的当前规则。 您的选择,但下一个命令的运行方式与相应的URL相同:
wget http://snort.org/pub-bin/downloads.cgi/Download/vrt_pr/snortrules-pr-2.4.tar.gz
b。 打开包装并准备好编译
tar zxvf snort-2.8.0.1.tar.gz
cd snort-2.8.0.1
tar zxvf ../snortrules-pr-2.4.tar.gz
C。 现在编译它们
./configure -enable-dynamicplugin --with-mysql
make
make install
保持这个目录很方便,你可以简单的运行
make uninstall
要稍后卸载snort,如果您选择
d。 把事情移动到位
我们现在需要将snort的规则和配置移动到位
mkdir /etc/snort /etc/snort/rules /var/log/snort
cd /usr/src/snort-2.8.0.1/etc
cp * /etc/snort/
cd ../rules
cp * /etc/snort/rules
4.配置Snort
我们需要修改snort.conf文件以满足我们的需求。
用你喜欢的文本编辑器(nano,vi,vim等)打开/etc/snort/snort.conf
。
# vi /etc/snort/snort.conf
将“ var HOME_NET any ”更改为“ var HOME_NET 192.168.1.0/24 ”(您的家庭网络可能与192.168.1.0不同)
将“ var EXTERNAL_NET any ”更改为“v ar EXTERNAL_NET!$ HOME_NET ”(这是说明除HOME_NET以外的所有内容)
将“ var RULE_PATE ../rules ”更改为“ var RULE_PATH / etc / snort / rules ”
将列表向下滚动到“ #output database:log,mysql,user = ”的部分,从该行前面删除“ # ”。
将“ user = root ”更改为“ user = snort” ,将“ password = password ”更改为“ password = snort_password ”,“ dbname = snort ”
记下用户名,密码和dbname。 当我们设置Mysql数据库时,您将需要这些信息。
保存并退出。
更改conf文件的权限以保持安全(感谢rojo):
# chmod 600 /etc/snort/snort.conf
5.设置Mysql数据库。
登录到mysql服务器。
# mysql -u root -p
创建snort数据库。 确保将“snort_password”更改为其他内容!
mysql> create database snort;
grant all privileges on snort.* to 'snort'@'localhost' identified by 'snort_password'; mysql> exit
我们将使用snort模式来进行数据库的布局。
# mysql -D snort -u snort -p < /usr/src/snort-2.8.0.1/schemas/create_mysql
注意:出现提示时,请使用您的snort DB用户密码。
6.测试Snort的时间
终端类型:
# snort -c /etc/snort/snort.conf
如果一切顺利,你应该看到一只猪。
结束测试命中ctrl + c
。
注意:如果您收到错误,您可能需要尝试注释/etc/snort/rules/web-misc.rules的第97,98和452 行
。 这是过去的一个问题,但似乎没有了。
7.获取并安装BASE
打开一个Web浏览器,然后转到http://sourceforge.net/project/showfiles.php?group_id=103348 。
点击下载,然后右键单击最新的tar.gz包,然后选择复制链接(写入时为base-1.3.9)。
终端类型:
cd
wget http://easynews.dl.sourceforge.net/sourceforge/secureideas/base-1.3.9.tar.gz
现在去你的web文档根目录(默认情况下是/ var / www),解压缩tarball并设置配置BASE所需的权限:
cd /var/www/
tar zxvf ~/base-1.3.9.tar.gz
cd ..
chmod 757 base-1.3.9
我们想确保激活几个Pear模块:
pear install Image_Color
pear install Image_Canvas-alpha
pear install Image_Graph-alpha
8.设置BASE
打开一个Web浏览器并导航到http://YOUR.IP.ADDRESS/base-1.3.9/setup
。
单击第一页上的继续。
- 第1步,共5步:输入ADODB的路径。
这是/ usr / share / php / adodb
。 - 第2步,共5步:
数据库类型=MySQL
,数据库名称=snort
,数据库主机=localhost
,数据库用户名=snort
,数据库密码=snort_password
- 第3步,共5步:如果要使用身份验证,请在此处输入用户名和密码,然后选中此框。
- 第4步,共5步:点击
创建BASE AG
。 - 第5步,共5步:在第4步完成后,点击下一步
继续执行第5步。
收藏此页。
在/var/www/base-1.3.9
文件夹中更改权限。
# chmod 755 /var/www/base-1.3.9
我们完了。 恭喜!!!
要在终端类型中启动Snort(请确保将eth0更改为机器的正确界面:
# snort -c /etc/snort/snort.conf -i eth0 -D
这将在守护进程模式下使用eth0接口启动snort。 您可以将其添加到/etc/rc.local文件,以便在重新启动后启动。
要确保它正在运行,您可以使用以下命令检查:
# ps aux | grep snort
如果它正在运行,您将看到类似于snort -c /etc/snort/snort.conf -i eth0 -D
的条目。
如果您想了解如何编写自己的Snort规则,请参考http://www.snort.org/docs/snort_manual/node16.html 。
祝你好运。