`
zhengdl126
  • 浏览: 2542417 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

关于Apache (httpd)服务器防DDOS模块mod_evasive的使用说明

阅读更多

http://www.docin.com/p-83334545.html

 

http://www.linuxsir.org/main/node/244

 

测试表明:

当mod_evasive在正常封掉某个ip时候,apache日志仍然会有访问记录;

 

 

mod_evasive 的官方地址: http://www.zdziarski.com/
projects
mod_evasive

 

wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz

tar zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive
/usr/local/webserver/apache2/bin/apxs -i -a -c mod_evasive20.c

 

最后出现:
Libraries have been installed in:
   /usr/local/webserver/apache2//modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/local/webserver/apache2//modules/mod_evasive20.so
[activating module `evasive20' in /usr/local/webserver/apache2//conf/httpd.conf]

 

 

查看httpd.conf
vim /usr/local/webserver/apache2/conf/httpd.conf

自动添加了
LoadModule evasive20_module   modules/mod_evasive20.so

然后我们再修改 Apache 的配置文件,配置文件名为httpd.conf;

 

 

修改httpd.conf
LoadModule rpaf_module modules/mod_rpaf-2.0.so
LoadModule evasive20_module   modules/mod_evasive20.so


....

<IfModule mod_rpaf-2.0.c>
RPAFenable On
RPAFproxy_ips 127.0.0.1 192.168.12.201 192.168.12.202 192.168.12.203
RPAFsethostname On
RPAFheader X-Forwarded-For
</IfModule>

<IfModule mod_evasive20.c>
    DOSHashTableSize    3097
    DOSPageCount        10
    DOSSiteCount        100
    DOSPageInterval     2
    DOSSiteInterval     2
    DOSBlockingPeriod   360
    DOSEmailNotify ***@qq.com
    DOSLogDir "/usr/local/webserver/apache2/logs/mod_evasive"
    DOSWhiteList 192.168.12.*
</IfModule>

 

 

 

 

<IfModule mod_evasive20.c>

 DOSHashTableSize 3097
#记录和存放黑名单表大小,如果服务器访问量很大,可以加大该值.
DOSPageCount 5       
#同一个页面在同一时间内可以被同一个用户访问的次数,超过该数字就会被列为攻击,同一时间的数值可以在DosPageInterval参数中设置.

DOSSiteCount 100
#同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在DOSSiteInterval中设置。

DOSPageInterval 2
#设置DOSPageCount中时间长度标准,默认值为1。

DOSSiteInterval 2
设置DOSSiteCount中时间长度标准,默认值为1。

DOSBlockingPeriod 3600
#被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。

DOSEmailNotify **.@qq.com

#设置受到攻击时接收攻击信息提示的邮箱地址。有IP加入黑名单后通知管理员。

DOSSystemCommand "sudo iptables -A INPUT -s %s -j DROP"

#IP加入黑名单后执行的系统命令。

 DOSLogDir "/usr/local/webserver/apache2/logs/mod_evasive"#手动创建目录mod_evasive,攻击日志存放目录,注意这个目录的权限,是运行apache程序的用户。锁定机制临时目录

#白名单   
DOSWhiteList 127.0.0.1  
DOSWhiteList 192.168.12.*

</IfModule>

 

 

 

如果您不知道把这些插入到哪,用下面的办法做也是可以的;
在/etc目录中创建一个文件,比如mod_evasive.conf;


#touch /etc/mod_evasive.conf

然后把根据自己的Apache版本来加入相应的内容;

接着我们再修改 httpd.conf ,在最后一行加入


Include /etc/mod_evasive.conf

修改完成后,我们要重启Apache服务器;
service apachectl restart

--------------------------------对mod_evasive测试验证 ;
1 防DDOS的模块做好后,我们可以要验证,可以用Apache 自带的ab工具,系统默认安装在/usr/sbin目录中;比如;


/usr/local/webserver/apache2/bin/ab -n 1000 -c 50 http://****

注:上面的例子的意思是,如果您的服务器是google的WEB服务器,我们要发送数据请求包,总共1000个,每次并发50个;

 

 

 

 

2 另外一个测试工具就是mod_evasive的解压包的目录中test.pl, 修改test.pl IP地址

 

chmod 755 test.pl
./test.pl
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden


   测试结果

这个时候,你可以到你的/usr/local/webserver/apache2/logs/mod_evasive目录下面发现有日志文件

类似文件:dos-192.168.12.201 ,192.168.12.201 表示记录了攻击的ip 

 

 

 

 

邮件内容:

To: ***@qq.com
Subject: HTTP BLACKLIST 192.168.12.202

mod_evasive HTTP Blacklisted 192.168.12.202

 

 

 

 

================为apache安装rpaf模块,该模块用于apache做后端时获取访客真实的IP

 

wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz

 


为apache安装rpaf模块,该模块用于apache做后端时获取访客真实的IP.
1.使用apxs安装模块.这里要使用此前apache编译安装后的apxs

cd /tmp
tar -zxf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/usr/local/webserver/apache2/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c


2.编辑/usr/local/apache/conf/httpd.conf,添加模块参数,查找LoadModule php5_module modules/libphp5.so,在下方添加:

LoadModule rpaf_module modules/mod_rpaf-2.0.so

 

 

<IfModule mod_rpaf-2.0.c>
RPAFenable On
RPAFproxy_ips 127.0.0.1 192.168.12.201 192.168.12.202 192.168.12.203
RPAFsethostname On
RPAFheader X-Forwarded-For
</IfModule>


此区块应该在<IfModule mod_evasive20.c>之上

上面出现的请修改为你本机所监听web服务的ip.
# 填写Nginx所在的内网IP。
多个IP用空格空开.

 

 

分享到:
评论

相关推荐

    mod_evasive_1.10.1.tar.gz

    mod_evasive是Apache的一个开源模块,专门设计用于防止DDoS攻击和防止恶意用户进行快速重复请求,从而保护服务器的稳定性。它通过监控HTTP请求速率和模式,一旦检测到异常行为,就会对请求者采取限制措施,如暂停...

    mod_evasive/mod_dosevasive22

    4. 在Apache的配置文件(如`httpd.conf`)中加载模块,添加`LoadModule evasive_module /path/to/mod_evasive.so`(或`mod_dosevasive22.so`)。 5. 配置模块的参数,例如设置IP封锁的时间、请求阈值等。 6. 重启...

    Apache防DDOS模块mod_evasive安装和配置方法详解

    ### Apache防DDoS模块mod_evasive安装与配置详解 #### 一、mod_evasive简介 mod_evasive 是 Apache 服务器的一个扩展模块,主要用于防御分布式拒绝服务(DDoS)攻击。虽然不能完全阻止所有类型的DDoS攻击,但它...

    ddos专防工具 apache wamp

    3. 在Apache的配置文件httpd.conf中加载模块,添加`LoadModule evasive_module modules/mod_evasive.so`。 4. 配置mod_evasive的参数,例如设置每个IP的请求限制(`DDoSDenyCount`)、封锁时间(`DDOSBanTime`)等。...

    win版apache防ddos mod_dosevasive22

    mod_dosevasive完全可以通过apache配置文件来配置,很容易就可以集成到你的web服务器,并且容易使用。 DOSHashTableSize ---------------- 哈希表的大小决定每个子级哈希表的顶级节点数,越多则越可避免反复的查表,...

    ddos防御 wamp apache 32位操作系统

    对于Apache服务器来说,有效的防御策略之一就是使用Mod Evasive模块。这个模块设计用于检测和阻止DDoS和暴力攻击,通过限制同一IP地址的请求频率来防止服务器被恶意用户过度利用。 在压缩包文件中,我们看到了多个...

    mod_qos:Apache Web Server的服务质量模块-开源

    mod_qos可以与其他Apache模块结合使用,如mod_evasive(DDoS防护)、mod_security(应用防火墙)等,以提供更全面的安全和性能保障。通过合理的配置,这些模块可以互相补充,构建强大的服务器防护体系。 **5. mod_...

    apache优化和模块安装

    Apache 优化和模块安装是提升Web服务器性能的关键步骤。Apache 是一个广泛应用的开源HTTP服务器,它的性能可以通过调整配置参数和安装特定模块来显著提高。在这个过程中,我们将关注两个主要方面:Apache 的最大连接...

    apache 相关工具模块

    mod_security和mod_evasive等模块有助于增强服务器的安全性。 6. **日志管理**:Apache的日志文件记录了服务器的活动,可以用于诊断问题、跟踪访问者行为。logrotate工具常用于定期轮换和压缩日志文件。 7. **性能...

    apache服务器资源

    为了提升安全性,Apache提供了多种安全配置选项,包括限制IP访问、设置防火墙规则、使用SSL证书进行加密传输,以及启用mod_evasive等防止DDoS攻击的模块。另外,定期更新Apache到最新版本可以防范已知的安全漏洞。 ...

    apache的包

    9. **负载均衡**: 通过使用mod_proxy和mod_proxy_balancer模块,Apache可以作为负载均衡器,将请求分发到多个后端服务器,提高系统的可用性和响应速度。 10. **第三方模块**: Apache拥有庞大的第三方模块库,例如...

    Apache Web服务器

    Apache Web服务器是世界上最广泛使用的网络服务器之一,它是一款开源、免费的软件,为全球数百万网站提供服务。Apache以其稳定性、灵活性和强大的功能而闻名,是互联网基础设施的重要组成部分。 Apache Web服务器的...

    官网下载Apache-2.4.32

    - 配置`mod_evasive`模块,防止DDoS攻击。 - 限制`AllowOverride`选项,防止恶意用户通过`.htaccess`文件更改服务器配置。 6. **日志和监控**: - `ErrorLog`记录错误信息,`CustomLog`定义访问日志格式,便于...

    Apache HTTP Server Version 2.2 中文帮助详解文档

    9. **代理与缓存**:Apache可以作为反向代理服务器,转发请求到其他服务器,或者通过mod_proxy和mod_cache模块实现内容缓存,提高响应速度。 10. **自定义错误页面**:管理员可以通过配置文件指定自定义的错误页面...

    Apache服务器配置与管理.ppt

    安装完成后,使用"service httpd restart"或"/etc/init.d/httpd restart"命令启动Apache服务器。然后,为了验证Apache是否正确安装和运行,可以通过访问服务器的IP地址或域名在浏览器中进行测试。 Apache服务器的...

    httpd-2.4.41-win64-VC14.zip

    8. **安全考虑**:Apache提供了多种安全模块,如mod_security和mod_evasive,用于防止DDoS攻击和恶意请求。此外,定期更新Apache到最新版本以保持安全性和兼容性至关重要。 9. **性能优化**:Apache可以通过调整...

    apache2.2中文帮助文档(chm)

    这个"apache2.2中文帮助文档(chm)"是一个压缩包,其中包含了关于Apache 2.2的详细中文指南,对于那些需要管理和配置Apache服务器的用户来说非常有用。 在Apache 2.2版本中,有许多关键知识点值得深入理解: 1. *...

    linux系统下安装Apache服务server_apache_linux.rar

    可以使用`mod_status`模块来实时查看Apache服务器的状态,并使用`mod_log_config`模块进行详细的日志记录,帮助诊断问题和优化性能。 九、安装其他组件 Apache通常与其他技术结合使用,如PHP和MySQL,以提供动态...

    Linux下搭建Apache

    此外,还可以使用`mod_evasive`防止DDoS攻击。安装和启用这些模块的步骤取决于你的Linux发行版。 在生产环境中,还需要考虑SSL/TLS加密以保护数据传输。这涉及到安装和配置`mod_ssl`模块,以及申请和安装SSL证书。 ...

    Apache2.4-win64位

    例如,mod_evasive可帮助抵御DDoS攻击,mod_security则能防御SQL注入和跨站脚本等Web攻击。 5. **配置改进**:Apache2.4的配置文件更加灵活和简洁,允许使用Include指令引入外部配置文件,增强了配置的可读性和维护...

Global site tag (gtag.js) - Google Analytics