Linux 9系统下构建小型入侵检测系统

欢迎进入网络安全论坛,与300万技术人员互动交流 >>进入  一、系统平台

  Redhat9.0发行版, 安装gcc 及相关库文件,建议不要安装Apache,PHP,MySQL,我们将用源码编译安装。基于安全方面的考虑,可以设置一下iptables只允许SSH和WWW访问。

  二、软件

  MySQL4.0.12 http://mysql.secsup.org

  Snort2.0.0 http://www.snort.org

  Apache2.0.45 http://www.apache.org

  PHP4.3.1 http://www.php.net

  ADODBv3.30 http://phplens.com

  Acid0.9.6b23 http://acidlab.sourceforge.net

  Zlib1.1.4 http://flow.dl.sourceforge.net

  JPGraph1.11 http://jpgraph.techuk.com

  LibPcap0.7.2 http://www.tcpdump.org

  建议到这个站点下载http://ftp.cdut.edu.cn/pub/linux/NEW/

  也可以到http://www.rpmfind.com下载相关的xx.src.rpm编译安装。如若安装了rpm包,可以强行将其反安装rpm -e -nodeps xx.xx

  三、安装(建议将所有的包文件考到同一目录)

  1.安装zlib1.1.4

  tar -xzvf zlib-xx.tar.gz

  cd zlib-xx

  /configure;make test

  make install

  cd ..

  2.安装LibPcap0.7.2

  tar -xzvf libpcap.tar.gz

  cd libpcap-xx

  /configure

  make

  make install

  cd ..

  3.安装MySQL4.0.12

  3.1创建mysql组和mysql用户

  groupadd mysql

  useradd -g mysql mysql

  修改/root下的.bash_profile的这一行:

  PATH=?$PATH:?$HOME/bin 为

  PATH=?$PATH:?$HOME/bin:/usr/local/mysql/bin

  3.2安装mysql

  tar -xzvf mysql-xx.tar.gz

  cd mysql-xx

  /configure –prefix=/usr/local/mysql

  make

  make install

  cd scripts

  /mysql_install_db

  chown -R root /usr/local/mysql

  chown -R mysql /usr/local/mysql/var

  chgrp -R mysql /usr/local/mysql

  cd ./support-files/my-medium.cnf /etc/my.cnf

  向/etc/ld.so.conf中加入两行:/usr/local/mysql/lib/mysql

  /usr/local/lib

  载入库,执行

  ldconfig -v

  3.3测试mysql是否工作:

  cd /usr/local/mysql/bin/

  /mysqld_safe –user=mysql&

  #ps -ef |grep mysql

  看mysql_safe是否工作

  3.4设置mysql为自启动:

  将mysql安装目录下的support-files目录中的

  mysql.server文件拷到/etc/init.d目录

  cp mysql.server /etc/init.d/mysql

  chmod 755 /etc/init.d/mysql

  创建硬链接:

  cd /etc/rc3.d(文本方式启动)

  ln -s /etc/init.d/mysql S85mysql

  ln -s /etc/init.d/mysql K85mysql

  cd /etc/rc5.d (图形方式启动)

  ln -s /etc/init.d/mysql S85mysql

  ln -s /etc/init.d/mysql K85mysql

  4.安装Apache2.0.45和PHP4.3.1

  tar -zxvf httpd-2.0.xx.tar.gz

  cd httpd_2.xx.xx

  /configure –prefix=/www –enable-so

  注:apache根目录为 /www

  make

  make install

  cd ..

  tar -zxvf php-4.3.x.tar.gz

  cd php-4.3.x

  /configure –prefix=/www/php –with-apxs2=/www/bin/apxs –with-config- filepath=/www/php –enable-sockets –with-mysql=/usr/local/mysql –with-zlibdir=/

  usr/local –with- gd

  注意:这些为一行,中间不要有回车。

  cp php.ini-dist /www/php/php.ini

  编辑httpd.conf(/www/conf):

  加入两行

  LoadModule php4_module modules/libphp4.so

  AddType application/x-httpd-php .php

  httpd.conf中相关内容如下:

  #

  # LoadModule foo_module modules/mod_foo.so

  LoadModule php4_module modules/libphp4.so

  # AddType allows you to tweak mime.types without actually editing it, or ?$

  # make certain files to be certain types.

  #

  AddType application/x-tar .tgz

  AddType image/x- icon .ico

  AddType application/x-httpd-php .php

  设置Apache为自启动:

  cp /www/bin/apachectl /etc/init.d/httpd

  cd /etc/rc3.d

  ln -s /etc/init.d/httpd S85httpd

  ln -s /etc/init.d/httpd K85httpd

  cd /etc/rc5.d

  ln -s /etc/init.d/httpd S85httpd

  ln -s /etc/init.d/httpd K85httpd

  测试一下 PHP:

  cd /etc/init.d

  /httpd start

  在/www/htdocs下建立文件 test.php

  cd /www/htdocs

  vi test.php

  加入

  lt;?php

  hpinfo();

  ?>

  用浏览器访问http://IP_address/test.php,成功的话,出现一些

  系统,apache,php信息

  5.安装 Snort2.0

  5.1建立snort配置文件和日志目录

  mkdir /etc/snort

  mkdir /var/log/snort

  tar -zxvf snort-2.x.x.tar.gz

  cd snort-2.x.x

  /configure –with-mysql=/usr/local/mysql

  make

  make install

  5.2安装规则和配置文件

  cd rules (在snort安装目录下)

  cp * /etc/snort

  cd ./etc

  cp snort.conf /etc/snort

  cp *.config /etc/snort

  5.3修改snort.conf(/etc/snort/snort.conf)

  var HOME_NET 10.2.2.0/24 (修改为你的内部网网络地址,我的是

  192.168.0.0/24)

  var RULE_PATH ./rules 修改为 var RULE_PATH /etc/snort/

  改变记录日志数据库:

  output database: log, mysql, user=root password=your_password

  dbname=snort host=localhost

  5.4设置snort为自启动:

  在snort安装目录下

  cd /contrib

  cp S99snort /etc/init.d/snort

  vi /etc/init.d/snort

  修改snort如下:

  CONFIG=/etc/snort/snort.conf

  #SNORT_GID=nogroup (注释掉)

  #8194;$SNORT_PATH/snort -c ?$CONFIG -i ?$IFACE ?$OPTIONS

  (去掉原文件中的 -g ?$SNORT_GID )

  chmod 755 /etc/init.d/snort

  cd /etc/rc3.d

  ln -s /etc/init.d/snort S99snort

  ln -s /etc/init.d/snort K99snort

  cd /etc/rc5.d

  ln -s /etc/init.d/snort S99snort

  ln -s /etc/init.d/snort K99snort   四.在mysql中建立数据库

  /usr/local/mysql/bin/mysql

  mysql>SET PASSWORD FOR root@localhost=PASSWORD(‘your_password’);

  mysql>create database snort;

  mysql>grant INSERT,SELECT on root.* to snort@localhost;

  mysql>quit;

  进入snort安装目录:/usr/local/mysql/bin/mysql -p

  gt;Enter password:

  安装DB表:(在contrib目录)

  zcat snortdb-extra.gz | /usr/local/mysql/bin/mysql -p snort

  进入mysql数据库,看看snort数据库中的表:

  /usr/local/mysql/bin/mysql -p

  gt;Enter password:

  mysql>show databases;

  +————+

  | Database

  +————+

  | mysql

  | snort

  | test

  +————+

  3 rows in set (0.00 sec)

  mysql>use snort;

  mysql>show tables; 将会有这些:

  +——————+

  | Tables_in_snort |

  +——————+

  | data

  | detail

  | encoding

  | event

  | flags

  | icmphdr

  | iphdr

  | opt

  | protocols

  | reference

  | reference_system

  | schema

  | sensor

  | services

  | sig_class

  | sig_reference

  | signature

  | tcphdr

  | udphdr

  +——————+

  19 rows in set (0.00 sec)

  mysql>exit

为何是一个人?也有善意的提醒:

Linux 9系统下构建小型入侵检测系统

相关文章:

你感兴趣的文章:

标签云: