简介
Nginx作为一款轻量高性能开源的Web服务器,深受大众欢迎并在服务器中得到了广泛应用。但是Nginx默认是不设防的,即不会自动防御DDOS攻击和CC攻击,因此攻击者可以轻易地发送大量的请求从而耗尽你的服务器资源、恶意盗刷你的服务器流量或者让你的后端服务器崩溃,因此配置Nginx基础防御是很有必要的,本篇文章就记录如何为你的Nginx配置一些基础的防御规则从而保护你的Web服务器。
相关文章链接:
Nginx配置笔记
利用Fail2Ban保护你的服务器(Fail2Ban使用教程)
Nginx upstream与proxy_pass反向代理配置详解
Nginx限制单个IP的TCP连接数与TCP连接速率
此处内容需要评论回复后方可阅读
建议根据实际情况来设置限制,写后记得好好测试一下再将配置上线,否则可能导致正常用户访问出现异常。
官方文档
Nginx限制单个IP的请求速率
此处内容需要评论回复后方可阅读
Nginx限制后端服务器的最大请求次数
上面的那些手段对于 DDOS
和 CC
攻击可能有点用,但是如果遇到 DDOS
就用处不是很大,对于这种分布式的攻击,我们应该首先考虑一下对后端的保护,防止服务器后端因同时收到太多请求而直接崩溃导致数据损坏等情况的发生。
示例配置代码:
此处内容需要评论回复后方可阅读
配置自动拉黑触发过载保护的IP
以上的那些手段只是配置了一下Nginx的并发限制,达到阈值后Nginx只是会给相应的IP返回错误,并不会拿那些恶意IP怎么样,光做到这些还是不太够的,至少要能把这些恶意IP拉黑掉。
为了实现拉黑功能可以借助一些WAF模块如: ModSecurity
、 http_guard
、 ngx_lua_waf
关于它们的使用方法大家可以上网上搜索一下,这里笔者来介绍一下如何使用 Fail2Ban
来实现IP自动拉黑。
此处内容需要评论回复后方可阅读