当前位置: 首页 > 工具软件 > mod_security > 使用案例 >

最新xampp下安装mod_security,mod_evasive,mod-cband笔记

严修谨
2023-12-01

mod_security官方的文档有一些问题,亲手装了一遍,现将问题记录如下

Windows xampp版本

假设xampp安装在D:/xampp

1 下载mod_security-2.5.9-win32.zip,解压缩

2 将libxml2.dll拷贝到D:/xampp/apache/bin下面

3 将mod_security2.so拷贝到D:/xampp/apache/modules/mod_security2下面,当然先建立mod_security2目录

4 将modsecurity-2.5.9/rules下的9个conf文件拷贝到D:/xampp/apache/conf/modsecurity下面

5 安装vcredist_x86.exe

6 编辑D:/xampp/apache/conf/httpd.conf

LoadModule unique_id_module modules/mod_unique_id.so
LoadModule security2_module modules/mod_security2/mod_security2.so


<IfModule security2_module>
Include etc/modsecurity/*.conf
</IfModule>


7 修改D:/xampp/apache/conf/modsecurity/modsecurity_crs_10_config.conf,将下面三个/tmp改成D:/xampp/tmp
SecUploadDir /tmp
SecDataDir /tmp
SecTmpDir /tmp

为了性能考虑,将审计日志和调试日志都关闭
SecAuditEngine Off
SecDebugLogLevel        0

8 重启Apache,可以看到D:/xampp/apache/logs下面多了modsec_audit.log和modsec_debug.log两个文件,即安装成功。


RHEL4下安装Linux版本

1 下载modsecurity-apache_2.5.9.tar.gz,传到root目录下,tar xvzf modsecurity-apache_2.5.9.tar.gz解压

2 xampp要安装开发包xampp-linux-devel-1.7.1.tar.gz,解压方式tar xvfz xampp-linux-devel-1.7.2.tar.gz -C /opt

3 到http://www.pcre.org/下载pcre-7.9.tar.gz,传到root目录下解压,解压缩,进入编译
  ./configure
  make
  make install

4 进入/root/modsecurity-apache_2.5.9/apache2
./configure --with-apxs=/opt/lampp/bin/apxs --with-apr=/opt/lampp/bin/apr-1-config --with-apu=/opt/lampp/bin/apu-1-config
make
make install
会提示/opt/lampp/modules/mod_security2.so安装成功!

5 将/root/modsecurity-apache_2.5.9/rules/下所有.conf文件拷贝到/opt/lampp/etc/modsecurity/下,先建立modsecurity目录

6 编辑/opt/lampp/etc/httpd.conf
打开 LoadModule unique_id_module modules/mod_unique_id.so

在modules段的最下面加入

LoadModule security2_module modules/mod_security2.so

在最下面加入
<IfModule security2_module>
Include etc/modsecurity/*.conf
</IfModule>


7 重启apache /opt/lampp/lampp reloadapache,这是应该看见/opt/lampp/logs下面有modsec_audit.log和modsec_debug.log两个文件


======================================================

安装mod_evasive_1.10.1.tar.gz防DDOS攻击
1 将文件传到root目录下并解压缩。
 /opt/lampp/bin/apxs -i -a -c mod_evasive20.c
  编译成功后会生成
 /opt/lampp/modules/mod_evasive20.so
并且在httpd.conf中自动加入
 LoadModule evasive20_module   modules/mod_evasive20.so
在这句话后面加入
<IfModule evasive20_module>
    DOSHashTableSize    3097
    DOSPageCount        2
    DOSSiteCount        50
    DOSPageInterval     1
    DOSSiteInterval     1
    DOSBlockingPeriod   10
</IfModule>


 重启apache即可

测试效果   D:/xampp/apache/bin/ab.exe -n 1000 -c 50 http://www.xxx.com:80/

======================================================

安装mod-cband-0.9.7.5.tgz限制连接带宽

此模块的流量限制功能不是很准确,实际使用效果不理想,最终我并没有使用。

1 将文件传到root目录下解压。
./configure --with-apxs=/opt/lampp/bin/apxs
make
make install
此时模块已经编译好,传至/opt/lampp/modules/mod_cband.so
并且httpd.conf文件中也添加了
LoadModule cband_module       modules/mod_cband.so
在下面加入
<IfModule cband_module>
    CBandRandomPulse On
</IfModule>


在虚拟主机配置段中NameVirtualHost *:80下加入
<IfModule cband_module>
    <CBandUser xxx>
        CBandRemoteSpeed 200kb/s  10 10
    </CBandUser>
</IfModule>


在每一个virtualhost中加入
<VirtualHost *:80>
   ServerAdmin webmaster@xxx.com
   DocumentRoot /opt/lampp/htdocs/
   ServerName www.xxx.com
   ErrorLog "|/opt/lampp/bin/rotatelogs /opt/lampp/logs/www.xxx.com_%Y-%m-%d_error_log 86400"
   CustomLog "|/opt/lampp/bin/rotatelogs /opt/lampp/logs/www.xxx.com_%Y-%m-%d_access_log 86400" common env=!dontlog
   php_admin_value open_basedir "/opt/lampp/htdocs/:/opt/lampp/phpmyadmin:/tmp"
 
   <IfModule cband_module>
     CBandUser xxx
   </IfModule>


</VirtualHost>

表示每个IP200kb/s的带宽 10个请求和10个连接数。但实际并不准确



关于流量单位的说明:
    * transfer speeds:
          o kbps, Mbps, Gbps - multiples of "bits per second", respectively: 1024, 1024*1024 and 1024*1024*1024 bps
          o kb/s, Mb/s, Gb/s - multiples of "bytes per second", respectively: 1024, 1024*1024 and 1024*1024*1024 b/s
          o defaults to kbps

此模块使用/opt/lampp/lampp reloadapache重启时,日志中会报下面两个错误。如果用stopapache,startapache就不会了。
[Tue Sep 15 10:59:24 2009] [warn] Duplicate command 'CBandRandomPulse'
[Tue Sep 15 10:59:24 2009] [warn] Duplicate command 'CBandRemoteSpeed' for localhost:0

 类似资料: