以下的安装方法参考了英文原帖How to install Mod Security 2,有兴趣的朋友可以直接去看看。
系统安装的是Ubuntu 8.04 LTS server版,在安装时因为考虑到是否需要自己编译安装lamp所以没有选择自动安装lamp,基本的系统装好后,想来想去还是用apt自动安装算了。所以用
代码: 全选
sudo tasksel install lamp-server
到系统服务里看一看,apache和mysql都赫然在列了。按照firehare兄弟的帖子做一些安全设置,做到有关Mod-Security的部分时,用apt-get无法安装libapache2-mod-security,不知道是否有别的源内还有这个包,如果有兄弟知道请明示,那样会方便许多。
跑去官方网站下载,有source包和debian的deb包,deb包是分成好几个部分的,互相之间有依赖关系,而且似乎也还有一个包需要自己编译,干脆就用source包了。
下载modsecurity-apache_2.5.5.tar.gz
解压
代码: 全选
tar zxvf modsecurity-apache_2.5.5.tar.gz
代码: 全选
cd modsecurity-apache_2.5.5
代码: 全选
cd apache2
代码: 全选
./configure
1、自动安装的apache2不会帮你安装apxs,而mod-security的编译要求apxs支持,解决的办法是用apt安装apache2-dev包,这是一个虚拟包,建议根据apache2的版本选择是
代码: 全选
sudo apt-get install apache2-threaded-dev
代码: 全选
sudo apt-get install apache2-prefork-dev
代码: 全选
apache2 -l
代码: 全选
./configure --with-apxs=/usr/bin/apxs2
2、configure如果报缺失libxml2,可以用
代码: 全选
sudo apt-get install libxml2 libxml2-dev
3、configure如果报缺失liblua,可以用
代码: 全选
sudo apt-get install liblua5.1-0 liblua5.1-0-dev
4、configure如果报缺失libcurl,可以用
代码: 全选
sudo apt-get install libcurl3 libcurl3-dev
配置成功当然就是编译了
代码: 全选
make
代码: 全选
make test
代码: 全选
make mlogc
代码: 全选
sudo make install
首先要编辑这个模块的load文件
代码: 全选
sudo gedit /etc/apache2/mods-available/mod_security2.load
代码: 全选
LoadFile /usr/lib/libxml2.so
LoadFile /usr/lib/liblua5.1.so
LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so
代码: 全选
sudo ln -s /etc/apache2/mods-available/mod_security2.load /etc/apache2/mods-enabled
代码: 全选
sudo ln -s /etc/apache2/mods-available/unique_id.load /etc/apache2/mods-enabled
代码: 全选
sudo gedit /etc/apache2/conf.d/modsecurity2.conf
代码: 全选
<ifmodule mod_security2.c>
Include /etc/modsecurity/*.conf
</ifmodule>
代码: 全选
sudo mkdir /etc/modsecurity
sudo mkdir /etc/modsecurity/logs
sudo touch /etc/modsecurity/logs/modsec_audit.log
sudo touch /etc/modsecurity/logs/modsec_debug.log
代码: 全选
sudo cp *.conf /etc/modsecurity
代码: 全选
sudo gedit /etc/modsecurity/modsecurity_crs_10_config.conf
代码: 全选
SecDebugLog logs/modsec_debug.log
代码: 全选
SecDebugLog /etc/modsecurity/logs/modsec_debug.log
代码: 全选
SecAuditLog logs/modsec_audit.log
代码: 全选
SecAuditLog /etc/modsecurity/logs/modsec_audit.log
代码: 全选
sudo /etc/init.d/apache2 restart
代码: 全选
cat /var/log/apache2/error.log | grep "ModSecurity for"
如果是,你会看到如下结果
代码: 全选
"[Tue Jul 29 07:41:46 2008] [notice] ModSecurity for Apache/2.5.5 (http://www.modsecurity.org/) configured."