RHEL5.4下Apache+php+MySQL+Snort+acid安装配置NIDS笔录

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:
为公司信息安全要求,上周配置了一台网络入侵检测系统(NIDS),今天把安装过程记录下来,供自己和其它朋友们以后参考。
关于本NIDS成功安装及本文的形成,我参考了很多网上的相关文档,具体文档略,不过非常感谢各位前辈们的无私奉献。
一、安装环境
操作系统:Red Hat Enterprise Linux 5.4
数据库:MySQL:mysql-5.1.46
Web服务器:Apache:httpd-2.2.15
WEB语言:PHP:php-5.2.13
 
二、安装MySQL
软件包mysql-5.1.46.tar.gz
下载地址http://dev.mysql.com/downloads/mysql/
# tar -zxvf mysql-5.1.46.tar.gz //解压缩
# cd mysql-5.1.46 //进入解压缩后的文件目录
# ./configure --prefix=/usr/local/mysql \ //设定安装目录
--enable-thread-safe-client \ //编译线程安全版的客户端库
--without-debug \ //关闭debug功能
# make //编译
# make install //安装
# /usr/local/mysql/bin/mysql_install_db //初始化授权表
# chown –R root /usr/local/mysql //文件属性改为root用户
# chgrp –R root /usr/local/mysql //文件属性改为root用户所属组
# /usr/local/mysql/bin/mysqld_safe --user=root & //启动MySQL
# /usr/local/mysql/bin/mysqladmin –u root password ‘123456’ //修改root用户的密码为123456
注:如果接下来在安装Snort后进行配置测试时提示无法找到以下文件:libmysqlclient.so.16和mysql.sock
请按照以下方法解决:
1、libmysqlclient.so.16:
方法1 # vi /etc/ ld.so.conf 向此文件添加以下两行内容
/usr/local/mysql/lib/mysql
/usr/local/lib
保存ld.so.conf退出
# ldconfig
方法2 # ln –s /usr/local/mysql/lib/mysql/libmysqlclient.so.16 /usr/local/lib/libmysqlclient.so.16
2、mysql.sock:
ln –s /var/lib/mysql/mysql.sock /tmp/mysql.sock
 
三、安装Apache
软件包httpd-2.2.15.tar.gz
下载地址http://httpd.apache.org/download.cgi
# tar -zxvf httpd-2.2.15.tar.gz
# cd httpd-2.2.15
# ./configure --prefix=/usr/local/apache --enable-module=most --enable-shared=max –enable-so
# make
# make install
# /usr/local/apache/bin/apachectl start //启动MySQL
 
四、安装PHP
软件包php-5.2.13.tar.gz
下载地址http://www.php.net/downloads.php
# tar -zxvf php-5.2.13.tar.gz
# cd php-5.2.13
# ./configure –prefix=/usr/local/php \
–with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-zlib --with-gd --enable-sockets –disable-debug
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini
 
五、配置Apache 服务的httpd.conf 文件及测试
1、编辑/usr/local/apache/conf/httpd.conf文件
在DirectoryIndex后添加index.php
在AddType application后面添加以下两行
AddType application/x-httpd-php .php
AddType applicatoin/x-httpd-php-source .phps
2、重启apache
# /usr/local/apache/bin/apachectl restart
3、测试
写个index.php文件放入主页所在目录
内容如下:
<?
phpinfo();
?>
在浏览器中输入http://服务器IP/
如果有php的信息,则说明apache+php+mysql配置成功了,注意 gd和mysql的支持信息
 
六、安装snort
1、安装pcre
软件包pcre-8.02.tar.gz
下载地址http://sourceforge.net/projects/pcre/files/
# tar –zxvf pcre-8.02.tar.gz
# cd pcre-8.02
# ./configure
# make
# make install
2、安装snort
软件包snort-2.4.5.tar.gz
下载地址http://down1.chinaunix.net/distfiles/snort-2.4.5.tar.gz
# tar -zxvf snort-2.4.5.tar.gz
# cd snort-2.4.5
# ./configure --with-mysql
# make
# make install
# mkdir /etc/snort //建立snort目录
# cd etc
# cp * /etc/snort //拷贝配置文件
3、安装snort rules
软件包snortrules-pr-2.4.tar.gz
下载地址http://down1.chinaunix.net/distfiles/snortrules-pr-2.4.tar.gz
# tar -zxvf snortrules-pr-2.4.tar.gz
# cd rules
# mkdir /etc/snort/rules //建立snort规则目录
# mkdir /var/log/snort //建立snort日志目录
# cp * /etc/snort/rules //拷贝规则
4、编辑/etc/snort/snort.conf文件
更改var HOME_NET 192.168.6.0/24 //你的实际工作网段
更改”var RULE_PATH ../rules” 为 “var RULE_PATH /etc/snort/rules”
把下面一行前面的#去掉,并改为
output database: log,mysql, user=root password=mysql密码 dbname=snort host=localhost
把以下11行前面的#号都删除
# include ?$RULE_PATH/web-attacks.rules
# include ?$RULE_PATH/backdoor.rules
# include ?$RULE_PATH/shellcode.rules
# include ?$RULE_PATH/policy.rules
# include ?$RULE_PATH/porn.rules
# include ?$RULE_PATH/info.rules
# include ?$RULE_PATH/icmp-info.rules
include ?$RULE_PATH/virus.rules
# include ?$RULE_PATH/chat.rules
# include ?$RULE_PATH/multimedia.rules
# include ?$RULE_PATH/p2p.rules
保存退出
 
七、建立snort 数据库及检查数据库和数据结构
1、建立snort数据库
mysql&gt; create database snort;
mysql&gt; grant INSERT,SELECT on snort.* to root@localhost;
mysql&gt; exit
# mysql –u root -p < /usr/local/snort-2.4.5/schemas /create_mysql snort //为snort建立数据表
2、检查数据库和数据结构
# mysql -u root -p
Enter password:  // 输入 root 密码
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version:  5.1.46  Source distribution
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| snort              |
| test               |
+--------------------+
4 rows in set (0.02 sec)
 
mysql> use snort;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
mysql> show tables;
+------------------+
| Tables_in_snort  |
+------------------+
| data             |
| detail           |
| encoding         |
| event            |
| icmphdr          |
| iphdr            |
| opt              |
| reference        |
| reference_system |
| schema           |
| sensor           |
| sig_class        |
| sig_reference    |
| signature        |
| tcphdr           |
| udphdr           |
+------------------+
16 rows in set (0.00 sec)
 
mysql> exit;
看到上面的表就成功了
 
八、安装配置和测试acid
1、软件包acid-0.9.6b23.tar.gz
下载地址http://acidlab.sourceforge.net/
软件包adodb511.tgz
下载地址http://sourceforge.net/projects/adodb/files/
软件包jpgraph-1.16.tar.gz
下载地址http://sourceforge.net/projects/jpgraph/files/
2、安装acid及相关支持文件
把acid-0.9.6b23.tar.gz,adodb511.tgz,jpgraph-1.16.tar.gz放入网站根目录下,我这里是/usr/local/apache/htdocs
# cd /usr/local/apache/htdocs
# tar -zxvf jpgraph-1.16.tar.gz
# tar -zxvf adodb511.tgz
# mv jpgraph-1.16 jpgraph
# mv adodb5 adodb
# tar -zxvf acid-0.9.6b23.tar.gz
3、编辑/usr/local/apache/htdocs/acid/acid_conf.php
把“?DBlibpath=";?DBlib_path = "/usr/local/apache/htdocs/adodb”
?$alert_dbname = "snort";
?$alert_host = "localhost";
?$alert_port = "";
?$alert_user = "root";
?$alert_password = "test"; //改成你的数据库密码
?$archive_dbname = "snort";
?$archive_host = "localhost";
?$archive_port = "";
?$archive_user = "root";
?$archive_password = "test” //改成你的数据库密码
把“?ChartLibpath=";?ChartLib_path = "/usr/local/apache/htdocs/jpgraph/src";”
保存退出
4、配置测试
重启apache
# /usr/local/apache/bin/apachectl restart
运行snort把数据写入mysql
# snort -c /etc/snort/snort.conf
在浏览器中输入
http://你的主机地址/acid/acid_main.php,点"Setup Page"链接 -&gt;Create Acid AG
然后再访问http://你的主机地址/acid/ ACID界面出现
用一些扫描工具对主机进行扫描,将产生警告记录,访问acid,可查看记录
 
RHEL5.4 下Apache+php+MySQL+Snort+acid 配置完成,帖几张图片秀一下
 
clip_image002
clip_image004
clip_image006
clip_image008
clip_image010









本文转自 linuxos 51CTO博客,原文链接:http://blog.51cto.com/winos/317389,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
235
分享
相关文章
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
47 18
seatunnel配置mysql2hive
本文介绍了SeaTunnel的安装与使用教程,涵盖从安装、配置到数据同步的全过程。主要内容包括: 1. **SeaTunnel安装**:详细描述了下载、解压及配置连接器等步骤。 2. **模拟数据到Hive (fake2hive)**:通过编辑测试脚本,将模拟数据写入Hive表。 3. **MySQL到控制台 (mysql2console)**:创建配置文件并执行命令,将MySQL数据输出到控制台。 4. **MySQL到Hive (mysql2hive)**:创建Hive表,配置并启动同步任务,支持单表和多表同步。
144 15
PHP与MySQL动态网站开发实战指南####
【10月更文挑战第21天】 本文将深入浅出地探讨如何使用PHP与MySQL构建一个动态网站,从环境搭建到项目部署,全程实战演示。无论你是编程新手还是希望巩固Web开发技能的老手,都能在这篇文章中找到实用的技巧和启发。我们将一起探索如何通过PHP处理用户请求,利用MySQL存储数据,并最终呈现动态内容给用户,打造属于自己的在线平台。 ####
186 0
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
169 25
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####
PHP与MySQL动态网站开发实战指南####
深入探索PHP与MySQL的协同工作机制,本文旨在通过一系列实战案例,揭示构建高效、稳定且用户友好的动态网站的秘诀。从环境搭建到数据交互,再到最佳实践分享,本文为开发者提供了一条清晰的学习路径,助力其在LAMP(Linux, Apache, MySQL, PHP/Perl/Python)栈上实现技术飞跃。 ####
php中配置variables_order详解
`variables_order` 是 PHP 配置中的一个关键指令,它决定了不同来源的变量被导入到全局变量空间的顺序。正确配置 `variables_order` 不仅可以确保变量的正确处理和覆盖顺序,还能提高应用程序的安全性。开发者应根据具体应用的需求,合理配置 `variables_order`,确保应用的稳定和安全运行。
67 5
php实现一个简单的MySQL分页
通过本文的详细步骤和代码示例,我们实现了一个简单的PHP MySQL分页功能。主要步骤包括计算总记录数、设置分页参数、查询当前页的数据以及生成分页链接。这种分页方式适用于大多数Web应用,能够有效提升用户体验和页面响应速度。
122 4

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等