完美的Snort + Base + PostgreSQL的设置在Ubuntu 6.06 LTS

在Ubuntu 6.06 LTS上完美安装Snort + Base + PostgreSQL

本教程介绍如何在Ubuntu 6.06(Dapper Drake)系统上安装和配置Snort IDS(入侵检测系统)和BASE(基本分析和安全引擎)。 在Snort和BASE的帮助下,您可以监控系统 - 使用BASE可以对Snort在您的网络上检测到的入侵进行分析。 Snort将使用PostgreSQL数据库来存储/记录它收集的数据。

安装包。

  1. 获取根权限:

    $ sudo -i
  2. 如果您位于Web代理之后,请使用http_port环境变量指定要使用的代理,以及可选的身份验证凭据(如果需要的话),如果不是仅仅省略“user:pass @”部分):

    # export http_proxy="http://user:pass@proxy-ip:proxy-port/"
  3. 检查Ubuntu存储库。 取消以“deb”开头的所有行(或至少指的是Universe):

    # vi /etc/apt/sources.list
  4. 更新您的软件包列表:

    # apt-get update
  5. 安装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。

  1. 创建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
    创建用户

  2. 登录数据库:

    $ psql snort
  3. 授予所有权限,以便在每个表格和序列上嗅探用户:

    psql> grant all privileges on database snort to snort;
  4. 要检查表,索引等(和权限),请执行:

    psql> \dt 
    psql> \dp
  5. 编辑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
    	

  6. 调整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
    	
  7. 重新启动postgresql以应用以前的更改:

    # /etc/init.d/postgresql-8.1 restart

Snort配置

  1. 以交互方式启动snort,使用界面eth0 (只是为了检查一切正常工作):

    # snort -i eth0 -c /etc/snort/snort.conf
  2. 要检查所有需要的服务正在运行,您可以执行:

    # ps -ef |grep <SERVICE>

    其中<SERVICE>是snort,apache,postgresql等

  3. 测试数据库是否记录警报,向snort传感器主机发送一些可疑流量(例如,使用nmap或nessus):

    # su postgres 
    $ psql snort -c "select count (*) from event"

    每次发送更多可疑流量并执行SQL查询时,您应该获得越来越大的价值。

安装BASE先决条件。

  1. 安装Apache 2,PHP(以下示例中的第4版,但您也可以使用PHP 5),PHP GD扩展和PGP adodb库。 有许多配置选项,其具体细节最适用于相应的软件包文档。

    # apt-get install apache2 libapache2-mod-php4 php4-gd php4-pgsql libphp-adodb
  2. 在/ var / www /下创建一个名为test.php的文件,并写入:

    	  <?php
    	      phpinfo();
    	  ?>
    	
  3. 确保/etc/php4/apache2/php.ini中包含以下行,并且未注释:

    	  extension=pgsql.so
    	  extension=gd.so
    	
  4. 重新启动Apache 2以启用新安装的PHP扩展:

    # /etc/init.d/apache2 restart
  5. 现在使用您的Web浏览器查看URL http://web-server-ip-address/test.php 。 它应该提供您的系统信息,Apache和PHP,postgres,gd,...

安装和配置BASE

  1. 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; 
    	
  2. 在浏览器中打开base_main.php页面。 如果需要任何数据库更改,BASE将提示进行操作。 单击“设置页面”链接进入数据库配置页面(base_db_setup.php)。

  3. 下一页将有助于创建必要的表。 点击“创建BASE AG”按钮,如下所示。 BASE表添加表将Snort DB扩展到[Create BASE AG]支持BASE功能

  4. 如果您没有安装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
  5. 在编写本文时,/ var/www/base/base_qry_common.php中有一个错误,可以防止显示图形。 您需要删除'?>行后的空行。

结束。

由Roberto Uribeetxeberria和IñakiArenaza。

你收获的是你所播种的

祝你好运!

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏