全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 12813|回复: 34
打印 上一主题 下一主题

[已解决] AMH面板防CC攻击模块已发布。

[复制链接]
跳转到指定楼层
1#
发表于 2013-5-24 14:37:32 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

适用版本 AMH3.1 & AMH3.2
-----------------------------------------
模块版本名称: limit_req2_nginx_module-1.0
模块发布时间: 2013-05-22
模块描述:
nginx模块系列 - nginx限制请求处理频率的模块。典型应用:限制来自单个IP地址的请求处理频率。 限制的方法是通过一种“漏桶”的方法——固定每秒处理的请求数,推迟过多的请求处理。


模块脚本开发者:Zeraba
开发者网站:http://www.lsanday.com/

可以在面板上面搜索 limit_req2_nginx_module-1.0 下载安装了。
http://amysql.com/bbs/post-408-1-1.htm


------------

测试:
http://myloveisyourlove.com/t.php

如看到phpinfo或502(php-fpm已停止)为正常。
提示或是400状态的话就是禁止了。

35#
 楼主| 发表于 2013-5-31 21:14:17 | 只看该作者
wpyuel 发表于 2013-5-31 21:12
模块下载失败:limit_req2_nginx_module-1.0

目前已是1.2版本了。看论坛有更新。

limit_req2_nginx_module-1.2
34#
发表于 2013-5-31 21:12:00 | 只看该作者
模块下载失败:limit_req2_nginx_module-1.0
33#
发表于 2013-5-25 11:56:05 | 只看该作者
支持咯~
32#
发表于 2013-5-25 00:58:58 | 只看该作者
limit_req2_zone $binary_remote_addr $request_uri zone=two:3m rate=3r/s
这个貌似有点不科学,我设置为8r/s,axel 开 5个线程都被命中了,好奇怪
31#
发表于 2013-5-24 22:29:59 | 只看该作者
模块越来越多了 支持个
30#
发表于 2013-5-24 20:08:34 | 只看该作者
lazyzhu 发表于 2013-5-24 19:28
$binary_remote_addr是客户端IP,每个请求都一样,所以相当于9r/s
$request_uri是被请求链接,供9个,每 ...

嗯 谢谢啊

#  规则 one 所有的ip发起的请求数(包括参数)超过50/秒。可防止多IP的CC
limit_req2_zone $request_uri zone=one:3m rate=50r/s;
# 规则 two 同一IP最多同时发起20个请求,保证正常的浏览要求。可防止过多请求)
limit_req2_zone $binary_remote_addr zone=two:3m rate=20r/s;
#  规则three 同一IP发起的请求(包括参数)在3次/秒。可防止单IP的CC
limit_req2_zone $binary_remote_addr $request_uri zone=three:3m rate=3r/s;

我原来的参数
limit_req2_zone $binary_remote_addr $uri zone=one:3m rate=3r/s;
limit_req2_zone $binary_remote_addr $request_uri zone=two:3m rate=3r/s

应该都是同一ip发起的请求了 就是有参数和没参数的区别而已了  设置的很差
你给的好很多啊

再然后只要在vhost的配置中加入
three rewrite mjj.html
two retrun 502
one return 400
就挺好了?



对了
three rewrite mjj.html
two retrun 502
one return 400
这三个能设置时效吗?  return 400  30s 之类的
月妹妹博客 和 你之前loc 都提到用lua写?

有栗子吃么?
29#
发表于 2013-5-24 19:29:33 来自手机 | 只看该作者
jjabc,我的心在等待,永远在等待。
28#
发表于 2013-5-24 19:28:48 | 只看该作者
本帖最后由 lazyzhu 于 2013-5-24 19:40 编辑
Zeraba 发表于 2013-5-24 19:05
嗯 是没懂 $binary_remote_addr 和 $request_uri
举个栗子
一个页面 如果html有10个


$binary_remote_addr是客户端IP,每个请求都一样,所以相当于9r/s
$request_uri是被请求链接,供9个,每个都是1r/s
$binary_remote_addr $request_uri 如果放在一起,就是每个IP的请求

$request_uri 和 $uri 有区别
比如三个$request_uri
http://lazyzhu.com/123456.html
http://lazyzhu.com/123456.html?q=1
http://lazyzhu.com/123456.html?q=2
其$uri都是http://lazyzhu.com/123456.html
所以可以看出$request_uri 更具体




所以最佳方案可以设置这样三条

#  同一链接的请求限制在50次/秒,防止多IP的CC
limit_req2_zone $request_uri zone=one:3m rate=50r/s;
# 同一IP最多同时20个请求,保证正常的浏览要求
limit_req2_zone $binary_remote_addr zone=two:3m rate=20r/s;
#  同一IP相同的请求限制在3次/秒,防止单IP的CC
limit_req2_zone $binary_remote_addr $request_uri zone=three:3m rate=3r/s;


上面参数需根据实际情况调节




27#
发表于 2013-5-24 19:10:29 | 只看该作者
本帖最后由 Zeraba 于 2013-5-24 19:12 编辑
lazyzhu 发表于 2013-5-24 18:36
区别大了

一个页面有5个图片,假设访问时图片同时加载


对了 虽然这两行 limit_req2_zone 在http段里  img php *  超过3r/s 都会被判定到
但是
在vhost的conf里  我只在php段加了 limit_req2 zone  那这样是不是只影响php?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-12-26 04:00 , Processed in 0.303980 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表