入侵检测:Snort,Base,MySQL和Apache2在Ubuntu 7.10(Gutsy Gibbon)
在本教程中,我将介绍如何从Ubuntu 7.10(Gutsy Gibbon)上的源,BASE(基本分析和安全引擎),MySQL和Apache2安装和配置Snort(入侵检测系统(IDS))。 Snort将帮助您监控网络并提醒您有关可能的威胁。 Snort将其日志文件输出到BASE将用于在Web浏览器中显示图形界面的MySQL数据库。
先决条件
我喜欢做的第一件事是从Synaptic获取所有依赖的包。
从桌面转到系统>管理>突发包管理器
。 输入您的密码并选择搜索
。
搜索以下软件包并安装它们:
-
Libpcap0.8-dev
-
libmysqlclient15-dev
-
mysql-client-5.0
-
mysql-server-5.0
-
野牛
-
柔性
-
apache2
-
libapache2-mod-php5
-
php5-gd
-
php5-mysql
-
libphp-adodb
-
梨梨
2.获得root权限
从桌面转到应用程序>附件>终端
并键入:
$ sudo -i
$ Then your password.
我们需要再多一个包,
# apt-get install libc6-dev g++ gcc
3.下载和解压缩包的时间
我们要创建一个临时目录来下载和解压文件。 我将在这里使用边缘的结构。 在终端窗口中键入以下内容:
# cd /root
# mkdir snorttmp
# cd /root/snorttmp
让我们得到snort。 最新版本的snort在写作时是2.8.0。
打开一个网页浏览器并导航到http://www.snort.org/dl ; 右键单击最新版本并复制链接位置。
终端类型:
# wget http://www.snort.org/dl/current/snort-2.8.0.tar.gz
现在是解开Snort包并删除tar文件的时候了。
# tar -xzvf /root/snorttmp/snort-2.8.0.tar.gz
# rm /root/snorttmp/snort-2.8.0.tar.gz
4.获取一些Snort规则。
将目录更改为新的snort-2.8.0文件夹。
# cd /root/snorttmp/snort-2.8.0
打开网页浏览器,浏览http://www.snort.org/pub-bin/downloads.cgi 。
向下滚动到“Sourcefire VRT认证规则 - 官方Snort规则集(未注册用户释放)”部分。 右键单击最新版本并复制链接位置。
如果您是论坛会员,您可以获得“注册用户发布”下的较新规则。
终端类型:
# wget http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_pr/snortrules-pr-2.4.tar.gz
解除Snort规则并删除tar文件。
# tar -xzvf /root/snorttmp/snort-2.8.0/snortrules-pr-2.4.tar.gz
# rm /root/snorttmp/snort-2.8.0/snortrules-pr-2.4.tar.gz
5.获取PCRE - Perl兼容的正则表达式。
将目录更改回snorttmp文件夹。
# cd /root/snorttmp
打开网络浏览器,然后访问http://www.pcre.org 。
点击最新版本的链接,右键单击最新的tar.gz包,然后选择复制链接(在写这篇文章的时候是pcre-7.4)。
终端类型:
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.4.tar.gz
解除PCRE并删除tar文件。
# tar -xzvf /root/snorttmp/pcre-7.4.tar.gz
# rm /root/snorttmp/pcre-7.4.tar.gz
6.获取BASE(基本分析和安全引擎)。
将目录更改回snorttmp文件夹。
# cd /root/snorttmp
打开一个Web浏览器,然后转到http://sourceforge.net/project/showfiles.php?group_id=103348 。
点击下载,然后右键单击最新的tar.gz包,然后选择复制链接(在编写本文的时候是base-1.3.8)。
终端类型:
# wget http://downloads.sourceforge.net/secureideas/base-1.3.8.tar.gz?modtime=1183896336&big_mirror=0
解除BASE并删除tar文件。
# tar -xzvf /root/snorttmp/base-1.3.8.tar.gz
# rm /root/snorttmp/base-1.3.8.tar.gz
7.获取ADOdb(PHP的数据库抽象库)。
将目录更改回snorttmp
文件夹。
# cd /root/snorttmp
打开一个Web浏览器,然后转到http://sourceforge.net/project/showfiles.php?group_id=42718 。
点击adodb-php5的下载链接,然后右键单击adodb502a.tgz
包,然后选择复制链接(adodb502a是写作时最新的包)。
终端类型:
# wget http://downloads.sourceforge.net/adodb/adodb502a.tgz?modtime=1191343792&big_mirror=0
解压缩ADOdb并删除tar文件。
# tar -xzvf /root/snorttmp/adodb502a.tgz
# rm /root/snorttmp/adodb502a.tgz
做一个ls来确保你有所有的包。
# ls /root/snorttmp
您应该看到以下文件夹,
-
adodb5
-
基础1.3.8
-
pcre-7.4
-
snort-2.8.0
8.安装。
一个。 PCRE安装。
# cd /root/snorttmp/pcre-7.4这里我们将做一个make / install
# ./configure
# make
# make install
b。 Snort安装。
# cd /root/snorttmp/snort-2.8.0这里我们将做一个make / install
# ./configure -enable-dynamicplugin --with-mysql
# make
# make install
9.复制文件。
我们需要在/ etc中
为snort创建一些文件夹才能正常工作,并将一些文件复制到它们。
# mkdir /etc/snort /etc/snort/rules /var/log/snort
让我们移动一些文件。
# cd /root/snorttmp/snort-2.8.0/rules
# cp * /etc/snort/rules/
让我们得到/ etc
snort文件。
# cd /root/snorttmp/snort-2.8.0/etc
# cp * /etc/snort/
还有一个文件
# cp /usr/local/lib/libpcre.so.0 /usr/lib
Snort配置
我们需要修改snort.conf文件以满足我们的需求。
用你喜欢的文本编辑器(nano,vi,vim等)打开/etc/snort/snort.conf
。
# vim /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 ”,将“ password = password ”更改为“ password = YOUR_PASSWORD ”,“ dbname = snort ”
记下用户名,密码和dbname。 当我们设置Mysql数据库时,您将需要这些信息。
保存并退出。
11.设置Mysql数据库。
登录到mysql服务器。
# mysql -u root -p
有时候没有密码设置,所以只需按Enter键即可。
如果您登录失败,请再次尝试上述命令并输入YOUR_PASSWORD
。
如果没有密码,您需要为root帐户创建密码。
注意:一旦你进入mysql, #
现在是一个mysql>
mysql> SET PASSWORD FOR root@localhost=PASSWORD('YOUR_PASSWORD');
创建snort数据库。
mysql> create database snort;
mysql> exit
我们将使用snort模式来进行数据库的布局。
# mysql -D snort -u root -p < /root/snorttmp/snort-2.8.0/schemas/create_mysql
在我们测试snort之前,我们需要在网络规则中注释几行,我不确定这是否在用户版本中被修复。
用你喜欢的文本编辑器打开/etc/snort/rules/web-misc.rules
。
# vim /etc/snort/rules/web-misc.rules
用“#”(没有引号)注释线97,98和452。
Snort测试的时间
终端类型:
# snort -c /etc/snort/snort.conf
如果一切顺利,你应该看到一只猪。
结束测试命中ctrl + c
。
基地和Apache2
我们已经安装了Apache2和BASE,我们现在要做的是移动一些文件并修改配置文件。
在/ var / www /
中创建一个叫做test.php
的文件,你最喜欢的文本编辑器。
# vim /var/www/test.php
写入:
<?php phpinfo(); ?>
保存并关闭此文件
我们需要编辑/etc/php5/apache2/php.ini
文件。
# vim /etc/php5/apache2/php.ini
您需要在“动态扩展”下添加以下内容。
extension=mysql.so
extension=gd.so
重新启动Apache2。
# /etc/init.d/apache2 restart
获取您正在处理的机器的IP地址。
# ifconfig -a
打开一个Web浏览器,然后转到http://YOUR.IP.ADDRESS/test.php
。
如果一切顺利,您将显示PHP信息。
13.移动更多文件
我们需要将ADOdb移动到/ var / www
目录中。
# mv /root/snorttmp/adodb5 /var/www/
我们在www中
创建一个目录并移动BASE。
# mkdir /var/www/web
# mv /root/snorttmp/base-1.3.8 /var/www/web/
我们需要临时启用写入base-1.3.8
文件夹进行设置。
# chmod 757 /var/www/web/base-1.3.8
我们还需要使用您最喜爱的文本编辑器修改PHP安装文件。
# vim /var/www/web/base-1.3.8/setup/setup1.php
找到说“base_header”的行并将其更改为“header”。
保存并退出。
我们希望基本的图形工作,所以我们需要安装几个梨扩展。
# pear install Image_Color
# pear install Image_Canvas-alpha
# pear install Image_Graph-alpha
14.通过网络进行BASE安装。
打开Web浏览器并导航到http://YOUR.IP.ADDRESS/web/base-1.3.8/setup
。
单击第一页上的继续。
- 第1步,共5步:输入ADODB的路径。
这是/ var / www / adodb5
。 - 第2步,共5步:
数据库类型=MySQL
,数据库名称=snort
,数据库主机=localhost
,数据库用户名=root
,数据库密码=YOUR_PASSWORD
- 第3步,共5步:如果要使用身份验证,请在此输入用户名和密码。
- 第4步,共5步:点击
创建BASE AG
。 - 第5步,共5步:一步4完成,点击下一步
现在继续第5步。
收藏此页。
在/var/www/web/base-1.3.8
文件夹中更改权限。
# chmod 775 /var/www/web/base-1.3.8
我们完了。 恭喜!!!
要在终端类型中启动Snort:
# snort -c /etc/snort/snort.conf -i eth0 -D
这将在守护进程模式下使用eth0接口启动snort。
要确保它正在运行,您可以使用以下命令检查:
# ps aux | grep snort
如果它正在运行,您将看到类似于snort -c /etc/snort/snort.conf -i eth0 -D
的条目。
如果您想了解如何编写自己的Snort规则,请参考http://www.snort.org/docs/snort_manual/node16.html 。
祝你好运。