在Ubuntu 6.06 LTS上完美安装Snort + Base + PostgreSQL
本教程介绍如何在Ubuntu 6.06(Dapper Drake)系统上安装和配置Snort IDS(入侵检测系统)和BASE(基本分析和安全引擎)。 在Snort和BASE的帮助下,您可以监控系统 - 使用BASE可以对Snort在您的网络上检测到的入侵进行分析。 Snort将使用PostgreSQL数据库来存储/记录它收集的数据。
安装包。
获取根权限:
$ sudo -i
如果您位于Web代理之后,请使用http_port环境变量指定要使用的代理,以及可选的身份验证凭据(如果需要的话),如果不是仅仅省略“user:pass @”部分):
# export http_proxy="http://user:pass@proxy-ip:proxy-port/"
检查Ubuntu存储库。 取消以“deb”开头的所有行(或至少指的是Universe):
# vi /etc/apt/sources.list
更新您的软件包列表:
# apt-get update
安装postgresql-8.1,snort和snort-pgsql(最新的Snort规则可以在http://www.snort.org/pub-bin/downloads.cgi找到)
# apt-get install snort postgresql-8.1 snort-pgsql
创建Snort数据库并配置Postgresql。
创建snort数据库,表和数据库用户。 请记住为snort用户使用强密码:
# su postgres
$ createdb snort
$ zcat /usr/share/doc/snort-pgsql/create_postgresql.gz | psql snort
$ createuser -P snort输入新用户
的密码:
snort-password
再次输入:
snort-password
新用户应该是超级用户吗?
(y / n)
n
是否允许新用户创建数据库?
(y / n)
n
是否允许新用户创建更多的新用户?
(y / n)
n
创建用户
登录数据库:
$ psql snort
授予所有权限,以便在每个表格和序列上嗅探用户:
psql> grant all privileges on database snort to snort;
要检查表,索引等(和权限),请执行:
psql> \dt
psql> \dp编辑snort.conf文件:
# vi /etc/snort/snort.conf
之后的行:
preprocessor stream4_reassemble
添加几行这样读取(每一行在单行中,由于宽度限制,它们可能会显示在此处):
preprocessor stream4_reassemble: both,ports 21 23 25 53 80 110 111 139 143 445 513 1433 output database: alert, postgresql, user=snort password=snort-password dbname=snort host=postgresql-host-ip
调整postgresl配置。 我们需要编辑postgresql.conf和ph_hda.conf:
# vi /etc/postgresql/8.1/main/postgresql.conf
搜索具有
listen_address
指令的行并将其设置为运行postgresql的主机的IP地址(如有必要,请取消注释):listen_addresses = postgresql-host-ip
接下来,我们需要允许使用密码认证从snort传感器主机IP地址进行TCP / IP连接:
# vi /etc/postgresql/8.1/main/pg_hba.conf
之后的行:
host all all 127.0.0.1/32 md5
添加以下行:
host snort snort snort-sensor-host-ip/32 password
重新启动postgresql以应用以前的更改:
# /etc/init.d/postgresql-8.1 restart
Snort配置
以交互方式启动snort,使用界面
eth0
(只是为了检查一切正常工作):# snort -i eth0 -c /etc/snort/snort.conf
要检查所有需要的服务正在运行,您可以执行:
# ps -ef |grep <SERVICE>
其中
<SERVICE>
是snort,apache,postgresql等测试数据库是否记录警报,向snort传感器主机发送一些可疑流量(例如,使用nmap或nessus):
# su postgres
$ psql snort -c "select count (*) from event"每次发送更多可疑流量并执行SQL查询时,您应该获得越来越大的价值。
安装BASE先决条件。
安装Apache 2,PHP(以下示例中的第4版,但您也可以使用PHP 5),PHP GD扩展和PGP adodb库。 有许多配置选项,其具体细节最适用于相应的软件包文档。
# apt-get install apache2 libapache2-mod-php4 php4-gd php4-pgsql libphp-adodb
- 在/ var / www /下创建一个名为test.php的文件,并写入:
<?php phpinfo(); ?>
确保/etc/php4/apache2/php.ini中包含以下行,并且未注释:
extension=pgsql.so extension=gd.so
重新启动Apache 2以启用新安装的PHP扩展:
# /etc/init.d/apache2 restart
现在使用您的Web浏览器查看URL
http://web-server-ip-address/test.php
。 它应该提供您的系统信息,Apache和PHP,postgres,gd,...
安装和配置BASE
从http://sourceforge.net/projects/secureideas下载BASE。 在写这个时刻,1.2是最新版本。 以root身份执行以下命令,将BASE放在/ var / www / base下:
# mv base-1.2.tar.gz /var/www/
# cd /var/www/
# tar xvzf base-1.2.tar.gz
# rm base-1.2.tar.gz
# mv base-1.2 base
# cd /var/www/base需要将base_conf.php.dist文件复制到base_conf.php(以防万一发生错误,您可以随时从原始副本开始):
# cp base_conf.php.dist base_conf.php # vi base_conf.php
接下来我们需要调整几个变量(你可以看一下文件的其余部分来调整其他配置值):
# If you would like to use the user authentication # system. Remember to add a user before setting it to 1! $Use_Auth_System = 1; $BASE_urlpath = '/base'; $DBlib_path = '/usr/share/php/adobd'; $DBtype = 'postgres'; $alert_dbname = 'snort'; $alert_host = 'postresql-host-ip'; $alert_port = ''; $alert_user = 'snort'; $alert_password = 'snort-password'; # We dont have an archive db, so set this to 0 $archive_exists = 0;
在浏览器中打开base_main.php页面。 如果需要任何数据库更改,BASE将提示进行操作。 单击“设置页面”链接进入数据库配置页面(base_db_setup.php)。
下一页将有助于创建必要的表。 点击“创建BASE AG”按钮,如下所示。 BASE表添加表将Snort DB扩展到[Create BASE AG]支持BASE功能
如果您没有安装
PEAR ::
Image_Graph,请使用以下命令安装:# apt-get install php-image-graph
PEAR :: Image_Color是必需的,但它并未打包在Ubuntu 6.0.6中,因此您需要从http://pear.php.net/package/Image_Color/download下载并安装在
/ usr / share / php / Image下/
。 您可以执行以下操作:# apt-get install php4-pear
# pear install Image_Color在编写本文时,/
var/www/base/base_qry_common.php
中有一个错误,可以防止显示图形。 您需要删除'?>
行后的空行。
结束。
由Roberto Uribeetxeberria和IñakiArenaza。
你收获的是你所播种的
祝你好运!