- 论坛徽章:
- 0
|
经验共享:RedHat linux 9系统下构建小型入侵检测系统\r\n作者:冬林\r\n 一、系统平台\r\n \r\n Redhat9.0发行版, 安装gcc 及相关库文件,建议不要安装\r\n \r\n Apache,PHP,MySQL,我们将用源码编译安装。基于安全方面的\r\n \r\n 考虑,可以设置一下iptables只允许SSH和WWW访问。\r\n \r\n 二、软件\r\n \r\n MySQL4.0.12 http://mysql.secsup.org\r\n \r\n Snort2.0.0 http://www.snort.org\r\n \r\n Apache2.0.45 http://www.apache.org\r\n \r\n PHP4.3.1 http://www.php.net \r\n \r\n ADODBv3.30 http://phplens.com\r\n \r\n Acid0.9.6b23 http://acidlab.sourceforge.net\r\n \r\n Zlib1.1.4 http://flow.dl.sourceforge.net\r\n \r\n JPGraph1.11 http://jpgraph.techuk.com\r\n \r\n LibPcap0.7.2 http://www.tcpdump.org\r\n \r\n 建议到这个站点下载http://ftp.cdut.edu.cn/pub/linux/NEW/\r\n \r\n 也可以到http://www.rpmfind.com下载相关的xx.src.rpm编译安装。如若安装了rpm包,可以强行将其反安装\r\n \r\n rpm -e -nodeps xx.xx\r\n \r\n 三、安装(建议将所有的包文件考到同一目录)\r\n \r\n 1.安装zlib1.1.4\r\n \r\n tar -xzvf zlib-xx.tar.gz\r\n \r\n cd zlib-xx\r\n \r\n /configure;make test\r\n \r\n make install\r\n \r\n cd ..\r\n \r\n 2.安装LibPcap0.7.2\r\n \r\n tar -xzvf libpcap.tar.gz\r\n \r\n cd libpcap-xx\r\n \r\n /configure\r\n \r\n make\r\n \r\n make install\r\n \r\n cd ..\r\n \r\n 3.安装MySQL4.0.12\r\n \r\n 3.1创建mysql组和mysql用户\r\n groupadd mysql\r\n useradd -g mysql mysql\r\n 修改/root下的.bash_profile的这一行:\r\n PATH=?$PATH $HOME/bin 为\r\n PATH=?$PATH $HOME/bin:/usr/local/mysql/bin\r\n \r\n 3.2安装mysql\r\n tar -xzvf mysql-xx.tar.gz\r\n cd mysql-xx\r\n /configure --prefix=/usr/local/mysql\r\n make\r\n make install\r\n cd scripts\r\n /mysql_install_db\r\n chown -R root /usr/local/mysql\r\n chown -R mysql /usr/local/mysql/var\r\n chgrp -R mysql /usr/local/mysql\r\n cd ./support-files/my-medium.cnf /etc/my.cnf\r\n 向/etc/ld.so.conf中加入两行:/usr/local/mysql/lib/mysql\r\n /usr/local/lib\r\n 载入库,执行\r\n ldconfig -v\r\n \r\n 3.3测试mysql是否工作:\r\n cd /usr/local/mysql/bin/\r\n /mysqld_safe --user=mysql&\r\n #ps -ef |grep mysql\r\n 看mysql_safe是否工作\r\n \r\n 3.4设置mysql为自启动:\r\n 将mysql安装目录下的support-files目录中的\r\n mysql.server文件拷到/etc/init.d目录\r\n cp mysql.server /etc/init.d/mysql\r\n chmod 755 /etc/init.d/mysql\r\n\r\n 创建硬链接:\r\n cd /etc/rc3.d(文本方式启动)\r\n ln -s /etc/init.d/mysql S85mysql\r\n ln -s /etc/init.d/mysql K85mysql\r\n cd /etc/rc5.d (图形方式启动)\r\n ln -s /etc/init.d/mysql S85mysql\r\n ln -s /etc/init.d/mysql K85mysql\r\n \r\n 4.安装Apache2.0.45和PHP4.3.1\r\n tar -zxvf httpd-2.0.xx.tar.gz\r\n cd httpd_2.xx.xx\r\n /configure --prefix=/www --enable-so\r\n \r\n 注:apache根目录为 /www\r\n \r\n make\r\n make install\r\n cd ..\r\n tar -zxvf php-4.3.x.tar.gz\r\n cd php-4.3.x\r\n /configure --prefix=/www/php --with-apxs2=/www/bin/apxs\r\n --with-config- filepath=/www/php --enable-sockets \r\n--with-mysql=/usr/local/mysql --with-zlibdir=/\r\n usr/local --with- gd \r\n \r\n 注意:这些为一行,中间不要有回车。\r\n \r\n cp php.ini-dist /www/php/php.ini\r\n 编辑httpd.conf(/www/conf):\r\n 加入两行\r\n LoadModule php4_module modules/libphp4.so\r\n AddType application/x-httpd-php .php\r\n httpd.conf中相关内容如下:\r\n #\r\n # LoadModule foo_module modules/mod_foo.so\r\n LoadModule php4_module modules/libphp4.so\r\n # AddType allows you to tweak mime.types without \r\n actually editing it, or ?$\r\n # make certain files to be certain types.\r\n #\r\n AddType application/x-tar .tgz\r\n AddType image/x- icon .ico\r\n AddType application/x-httpd-php .php\r\n \r\n 设置Apache为自启动:\r\n \r\n cp /www/bin/apachectl /etc/init.d/httpd\r\n cd /etc/rc3.d\r\n ln -s /etc/init.d/httpd S85httpd\r\n ln -s /etc/init.d/httpd K85httpd\r\n cd /etc/rc5.d\r\n ln -s /etc/init.d/httpd S85httpd\r\n ln -s /etc/init.d/httpd K85httpd\r\n \r\n 测试一下 PHP:\r\n cd /etc/init.d\r\n /httpd start\r\n 在/www/htdocs下建立文件 test.php\r\n cd /www/htdocs\r\n vi test.php\r\n \r\n 加入\r\n \r\n lt;?php\r\n \r\n hpinfo();\r\n \r\n ?>\r\n \r\n 用浏览器访问http://IP_address/test.php,成功的话,出现一些\r\n \r\n 系统,apache,php信息\r\n \r\n 5.安装 Snort2.0\r\n \r\n 5.1建立snort配置文件和日志目录\r\n mkdir /etc/snort\r\n mkdir /var/log/snort\r\n tar -zxvf snort-2.x.x.tar.gz\r\n cd snort-2.x.x\r\n /configure --with-mysql=/usr/local/mysql\r\n make\r\n make install\r\n \r\n 5.2安装规则和配置文件\r\n cd rules (在snort安装目录下)\r\n cp * /etc/snort\r\n cd ./etc\r\n cp snort.conf /etc/snort\r\n cp *.config /etc/snort\r\n \r\n 5.3修改snort.conf(/etc/snort/snort.conf)\r\n var HOME_NET 10.2.2.0/24 (修改为你的内部网网络地址,我的是\r\n 192.168.0.0/24)\r\n var RULE_PATH ./rules 修改为 var RULE_PATH /etc/snort/\r\n 改变记录日志数据库:\r\n output database: log, mysql, user=root password=your_password\r\n dbname=snort host=localhost\r\n \r\n 5.4设置snort为自启动:\r\n 在snort安装目录下\r\n cd /contrib\r\n cp S99snort /etc/init.d/snort\r\n vi /etc/init.d/snort\r\n \r\n 修改snort如下:\r\n CONFIG=/etc/snort/snort.conf\r\n #SNORT_GID=nogroup (注释掉)\r\n #8194;$SNORT_PATH/snort -c ?$CONFIG -i ?$IFACE ?$OPTIONS\r\n \r\n (去掉原文件中的 -g ?$SNORT_GID )\r\n \r\n chmod 755 /etc/init.d/snort\r\n \r\n cd /etc/rc3.d\r\n \r\n ln -s /etc/init.d/snort S99snort\r\n \r\n ln -s /etc/init.d/snort K99snort\r\n \r\n cd /etc/rc5.d\r\n \r\n ln -s /etc/init.d/snort S99snort\r\n \r\n ln -s /etc/init.d/snort K99snort\r\n \r\n 四.在mysql中建立数据库\r\n \r\n /usr/local/mysql/bin/mysql\r\n mysql>SET PASSWORD FOR root@localhost=PASSWORD(\'your_password\');\r\n mysql>create database snort;\r\n mysql>grant INSERT,SELECT on root.* to snort@localhost;\r\n mysql>quit;\r\n\r\n 进入snort安装目录:/usr/local/mysql/bin/mysql -p \r\n gt;Enter password:\r\n 安装DB表:(在contrib目录)\r\n zcat snortdb-extra.gz | /usr/local/mysql/bin/mysql -p snort\r\n 进入mysql数据库,看看snort数据库中的表:\r\n /usr/local/mysql/bin/mysql -p\r\n gt;Enter password:\r\n mysql>show databases;\r\n +------------+\r\n | Database\r\n +------------+\r\n | mysql\r\n | snort\r\n | test\r\n +------------+\r\n \r\n 3 rows in set (0.00 sec)\r\n mysql>use snort;\r\n mysql>show tables; 将会有这些:\r\n +------------------+\r\n | Tables_in_snort |\r\n +------------------+\r\n | data\r\n | detail\r\n | encoding\r\n | event\r\n | flags\r\n | icmphdr\r\n | iphdr\r\n | opt\r\n | protocols\r\n | reference\r\n | reference_system\r\n | schema\r\n | sensor\r\n | services\r\n | sig_class\r\n | sig_reference\r\n | signature\r\n | tcphdr\r\n | udphdr\r\n +------------------+\r\n \r\n 19 rows in set (0.00 sec)\r\n \r\n mysql>exit\r\n \r\n 五.安装配置Web接口\r\n \r\n 安装JPGraph1.11\r\n cp jpgraph-1.11.tar.gz /www/htdocs\r\n cd /www/htdocs\r\n tar -xzvf jpgraph-1.xx.tar.gz\r\n rm -rf jpgrap-1.xx.tar.gz\r\n cd jpgraph-1.11\r\n rm -rf README\r\n rm -rf QPL.txt\r\n \r\n 安装ADODB:\r\n cp adodb330.tgz /www/htdocs/\r\n cd /www/htdocs\r\n tar -xzvf adodb330.tgz\r\n rm -rf adodb330.tgz\r\n \r\n 安装配置Acid:\r\n cp acid-0.0.6b23.tar.gz /www/htdocs\r\n cd /www/htdocs\r\n tar -xvzf acid-0.9.6b23.tar.gz\r\n rm -rf acid-0.9.6b23.tar.gz\r\n cd /www/htodcs/acid/\r\n \r\n 编辑acid_conf.php,修改相关配置如下:\r\n #8194;$DBlib_path = \"/www/htdocs/adodb\";\r\n /* The type of underlying alert database\r\n *\r\n * MySQL : \"mysql\"\r\n * PostgresSQL : \"postgres\"\r\n * MS SQL Server : \"mssql\"\r\n */\r\n #8194;$DBtype = \"mysql\";\r\n /* Alert DB connection parameters\r\n * - ?$alert_dbname : MySQL database name of Snort alert DB\r\n * - ?$alert_host : host on which the DB is stored\r\n * - ?$alert_port : port on which to access the DB\r\n * - ?$alert_user : login to the database with this user\r\n * - ?$alert_password : password of the DB user\r\n *\r\n * This information can be gleaned from the Snort database\r\n * output plugin configuration.\r\n */\r\n #8194;$alert_dbname = \"snort\";\r\n #8194;$alert_host = \"localhost\";\r\n #8194;$alert_port = \"\";\r\n #8194;$alert_user = \"root\";\r\n #8194;$alert_password = \"Your_Password\";\r\n /* Archive DB connection parameters */\r\n #8194;$archive_dbname = \"snort\";\r\n #8194;$archive_host = \"localhost\";\r\n #8194;$archive_port = \"\";\r\n #8194;$archive_user = \"root\";\r\n #8194;$archive_password = \"Your_Password \";\r\n And a little further down\r\n #8194;$ChartLib_path = \"/www/htdocs/jpgraph-1.11/src\";\r\n /* File format of charts (\'png\', \'jpeg\', \'gif\') */\r\n #8194;$chart_file_format = \"png\";\r\n \r\n 进入web界面:\r\n http://yourhost/acid/acid_main.php \r\n 点\"Setup Page\"链接 ->Create Acid AG\r\n 访问http://yourhost/acid将会看到ACID界面。\r\n \r\n 六.测试系统\r\n \r\n 重启系统或者直接启动相关后台程序:\r\n /etc/init.d/mysql restart\r\n /etc/init.d/snort start\r\n /etc/init.d/httpd start\r\n 利用nmap,nessus,CIS或者X-scan对系统进行扫描,\r\n 产生告警纪录。\r\n http://yourhost/acid 察看纪录。\r\n 至此,一个功能强大的IDS配置完毕。各位可以利用web界面\r\n 远程登陆,监控主机所处局域网,同时安装phpMyAdmin对mysql\r\n 数据库进行操控。 |
|