http_name 变量引用一个请求头,上述例子中是 User-Agent 头。可以针对其他的 http 头使用类似的方法来识别攻击。 8. 限制到后端服务器的连接数
一个 Nginx、Nginx Plus 实例可以处理比后端服务器多的多的并发请求。在 Nginx Plus 中,你可以限制到每一个后端服务器的连接数,比如可以设置 Nginx Plus 与 website upstream 中的每个后端服务器建立的连接数不得超过200个:
upstream website {
server 192.168.100.1:80 max_conns=200;
server 192.168.100.2:80 max_conns=200;
queue 10 timeout=30s;
}
`max_conns` 参数可以针对每一个后端服务器设置 Nginx Plus 可以与之建立的最大连接数。`queue` 命令设置了当每个后端服务器都达到最大连接数后的队列大小,`timeout` 参数指定了请求在队列中的保留时间。 9. 处理特定类型的攻击
有一种攻击是发送包含特别大的值的请求头,引起服务器端缓冲区溢出。Nginx、Nginx Plus 针对这种攻击类型的防御,可以参考
[Using NGINX and NGINX Plus to Protect Against CVE-2015-1635]
http://nginx.com/blog/nginx-protect-cve-2015-1635/?_ga=1.14368116.2137319792.1439284699)
10. 优化Nginx性能
DDOS 攻击通常会带来高的负载压力,可以通过一些调优参数,提高 Nginx、Nginx Plus 处理性能,硬抗 DDOS 攻击,详细参考:
[Tuning NGINX for Performance]
http://nginx.com/blog/tuning-nginx/?_ga=1.48422373.2137319792.1439284699
三、识别DDOS攻击
到目前为止,我们都是集中在如何是用 Nginx、Nginx Plus 来减轻 DDOS 攻击带来的影响。如何才能让 Nginx、Nginx Plus 帮助我们识别 DDOS 攻击呢?`Nginx Plus Status module` 提供了到后端服务器流量的详细统计,可以用来识别异常的流量。Nginx Plus 提供一个当前服务状态的仪表盘页面,同时也可以在自定义系统或其他第三方系统中通过 API 的方式获取这些统计信息,并根据历史趋势分析识别非正常的流量进而发出告警。 四、总结
Nginx 和 Nginx Plus 可以作为抵御 DDOS 攻击的一个有力手段,而且 Nginx Plus 中提供了一些附加的特性来更好的抵御 DDOS 攻击并且当攻击发生时及时的识别到。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://zhuanlan.51cto.com/art/201806/575836.htm