nginx优化之--慢连接攻击应…
来源:互联网 发布:数据库模型设计工具 编辑:程序博客网 时间:2024/06/10 12:59
CC攻击针对的是服务器上面的内存和CPU资源,因此通常会找到一些比较高消耗的接口,例如search.php之类的需要大量sql查询的接口。因此,明白了这一点,我们就很好防御了,主要是针对单个ip地址的连接数和请求php文件的密度来控制的。
我们主要用到的是Nginx中提供的两个limit模块:
1
2
一、白名单
首先这两个模块是支持白名单的,就是可能有某些IP地址,我们是不需要进行限制的,比如可能会是搜索引擎啦什么的或者自己的IP,因此需要设置一个白名单,不需要的可跳过本步。具体方法:
在HTTP段中插入如下格式内容,声明白名单IP
3
4
5
6
7
8
9
10
11
geo指令定义了一个白名单$limited变量,默认值为1,如果客户端IP在上面的范围内,$limited的值为0。
然后紧跟在上面内容后使用map指令映射搜索引擎客户端的ip为空串,如果不是白名单IP就显示本身真实的IP,这样搜索引擎iIP就不能存到limit模块的内存session中,所以不会限制白名单的IP访问。
12
13
14
15
二、访问频率限制
访问频率限制使用到的是ngx_http_limit_req_module,需要在两个地方配置,首先在HTTP段中,声明好这个模块一些参数,如果有设置白名单,设置如下
16
17
18
19
20
如果没有配置白名单,所有来访IP都会限制,配置如下
21
22
23
24
25
解释一下上面的参数,第一个代表的是需要限制的ip群,这个很好理解,第二个zone=one表示这个limit_zone的名字叫做one,后面的使用中可以用这个one来进行指代,后面的15m,代表为这个zone分配10m的内存,1m可以保存16000的$binary_remote_addr。最后一个是频率,如果要按秒来算可以设置20r/s这样。
最后是配置到Nginx的php的解析段
26
27
28
29
30
指定了使用名字为one的zone,然后缓冲队列为5,无延迟,如果不设置无延迟,访问会卡住。
三、访问连接限制
访问连接限制使用到的是ngx_http_limit_conn_module,也是需要在两个地方配置,首先在HTTP段中,声明好这个模块一些参数,如果有设置白名单,设置如下
31
32
33
34
35
如果没有配置白名单,所有来访IP都会限制,配置如下
36
37
38
39
40
参数的意思跟上面的差不多也就不多解释了。
后面的就是在server段中进行设置了,可以具体到某个目录什么的了
41
42
43
44
大功告成,打完收工,记得要nginx
- nginx优化之--慢连接攻击应…
- 遭遇”慢连接”DOS攻击小记
- mysql优化之慢查询
- MySQL优化之慢查询优化基础
- MySQL慢查询优化之Limit优化
- nginx优化之--隐藏/替换服务…
- nginx 优化系列之worker_con…
- NGINX应用之优化
- 使用socket方式连接Nginx优化php-f…
- Nginx学习之如何防止流量攻击
- Nginx优化指南+LINUX内核优化+linux连接数优化+nginx连接数优化
- Nginx优化指南+LINUX内核优化+linux连接数优化+nginx连接数优化
- Nginx优化指南+LINUX内核优化+linux连接数优化+nginx连接数优化
- Nginx通过修改连接简单防御CC攻击的方法
- [李景山php] ddos 攻击 之 慢速连接攻击 太极打法
- TCP之性能优化避免慢启动
- 13-mysql优化之慢查询
- TCP性能优化之避免慢启动
- 根据IP 即可获得用户所…
- ecshop不用后台更新缓存同样…
- Ecshop中的Ajax使用方法
- mongodb --linux安装
- nginx优化之--隐藏/替换服务…
- nginx优化之--慢连接攻击应…
- 根据IP 即可获得用户所…
- Yii中创建Model时出现的错误…
- Linux中rsync客户端连接服务…
- Linux系统中rsync相关配置
- Linux系统中rsync相关配置
- Linux中mysql的主从服务器配…
- CI框架中的图片上传功能
- SEO网站优化策略