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

来源:纯月部落
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
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/danny_xcz/archive/2009/09/11/4542272.aspx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bash字符串处理(与Java对照) - 17.判断是否以另外的字符串结尾

From: http://codingstandards.iteye.com/blog/1187353 In Java String.endsWith oolean endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 StringUtils.endsWith & StringUtils.endsWithIgnoreCase & StringUtils.endsWithAny org.apache.c…

[转载]用c写PHP的扩展接口(php5,c++)

原文&#xff3b;http://bugs.tutorbuddy.com/php5cpp/php5cpp/&#xff3d;第1节. 开始之前开始前&#xff0c;我要说明&#xff1a;这篇文章所描述的主要是在UNIX的PHP环境上的。另外一点我要说明的是&#xff1a;文中所介绍的方法在PHP 4.3.x和PHP 5下都是可行的。尽管我们在…

web前端——transform变形 旋转角度正负的判断

在使用CSS的transform的变形效果的时候&#xff0c;总是被这个角度的正负搞的头大&#xff0c;特意写出来&#xff0c;和大家分享 首先&#xff0c;我们要学会怎么看 假设需要围绕x轴做旋转&#xff0c;那么我们将x轴的正向指向我们自己&#xff0c;然后再看顺时针和逆时针&am…

话里话外:成功的ERP需要全程的流程变革(三)

成功的ERP需要全程的流程变革流程变革最佳实践5步走流程变革的最佳实践&#xff0c;是将一个颇具风险的流程重组过程分解为几个分步实现的步骤&#xff0c;并与ERP的实施同步开展&#xff0c;再经过几轮优化改进的循环&#xff0c;达到变革的目标——提高流程的效益和效率。伴随…

Bash字符串处理(与Java对照) - 18.格式化字符串

From: http://codingstandards.iteye.com/blog/1198098 In Java class Formatter 参见&#xff1a;http://download.oracle.com/javase/6/docs/api/java/util/Formatter.html#syntax String.format static String format(String format, Object... args) 使用指定…

Unity基础知识学习笔记二

1&#xff0c;object Instantiate(object original,Vector3 position,Quaternion rotation) 克隆原始物体&#xff0c;并返回克隆物体。例如&#xff1a;Instantiate(prefab,new Vector3(1,1,1),Qutaternion.identity);克隆一个prefab物体。2,InputManager,输入管理器&#xff…

JavaScript 监听手机端的touch滑动事件(滑动手势)

如何监听移动端滑动手势&#xff08;上 / 下 / 左 / 右滑动&#xff09;&#xff0c;今天记录下。 var startx, starty;//获得角度 function getAngle(angx, angy) {return Math.atan2(angy, angx) * 180 / Math.PI; };//根据起点终点返回方向 1向上滑动 2向下滑动 3向左滑动 …

雅虎衰落源于公司领袖缺乏远见与决断个性

文/ 周鸿祎雅虎的衰落&#xff0c;公司领袖负有不可推卸的责任&#xff0c;杨致远缺乏做出决断的个性和能力。 与充满商业智慧的微软和Google相比&#xff0c;雅虎显得太过幼稚。我之前创立的3721卖给了雅虎&#xff0c;后来还有过一段合作&#xff0c;所以对它有较深入的了解。…

java的Random类详解

Random类是一个专门用来生成一个伪随机数的类&#xff0c;这个类提供了两个构造函数&#xff0c;一个使用默认的种子&#xff0c;另一个需要程序员显示传入一个long型整数的种子。与Math类中的random方法生成的伪随机数不同的是&#xff0c;Math的random方法生成的伪随机数取值…

Bash字符串处理(与Java对照) - 19.查找字符的位置

From: http://codingstandards.iteye.com/blog/1198917 In Java String.indexOf & String.lastIndexOf int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 int indexOf(int ch, int fromIndex) 从指定的索引开始搜索&#x…

mint-ui 写一个下拉滑动选择,mt-popup和mt-picker结合使用

<template><div id"feedback"><div click"getpopupVisible">产品选择</div><mt-popupv-model"popupVisible"popup-transition"popup-fade"position"bottom"><div class"picker-toolb…

够学习一辈子的生活经典

说话要用脑子&#xff0c;敏事慎言&#xff0c;话多无益&#xff0c;嘴只是一件扬声器而已&#xff0c;平时一定要注意监督、控制好调频旋钮和音控开关&#xff0c;否则会给自己带来许多麻烦。讲话不要只顾一时痛快、信口开河&#xff0c;以为人家给你笑脸就是欣赏&#xff0c;…

设计模式之单一职责原则

超前的设计或者过度的设计都不是良好的设计&#xff0c;很多时候我们等到代码在第一次变化的时候可以及时作出反应。 What 就一个类&#xff08;接口、结构体、方法等等&#xff09;而言&#xff0c;应该仅有一个引起它变化的原因。 Why 软件设计真正要做的许多内容&#xff0c…

makefile常用语法讲解(1)

From: http://www.cnblogs.com/mydomain/archive/2011/08/12/2136083.html 1、make是一个解释makefile中指令的命令工具。Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。而makefile 文件需要按照某种语法进行编写&#…

HTML5如何控制暂停播放停止

本篇教程探讨了HTML5如何控制暂停播放停止&#xff0c;希望阅读本篇文章以后大家有所收获&#xff0c;帮助大家HTML5CSS3从入门到精通 。 <!DOCTYPE HTML> <html> <head> <meta charset"utf-8"> <meta name"viewport" content…

Oracle 高水位(HWM: High Water Mark) 说明

一. 准备知识&#xff1a;ORACLE的逻辑存储管理. ORACLE在逻辑存储上分4个粒度: 表空间, 段, 区 和 块. 1.1 块: 是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是说当ORACLE从数据文件读数据时,是读取多少个块,而不是多少行. 每一个B…

React开发(153):ant design自定义列

<Row gutter{12}><Col span{12}><Form.Item label"省/市/区"><CascaderfieldNames{fieldNames}options{options}onChange{() > {this.onChange();}}placeholder"请输入"/></Form.Item></Col>