nginx限制请求数和连接数来防御cc攻击

简介:

主要通过nginx的http_limit_conn和http_limit_req模块来防御cc攻击。

ngx_http_limit_req_module可以限制单个IP每秒请求数

ngx_http_limit_conn_module可以限制单个IP的连接数

通过限制请求数和连接数能相对有效的防御CC攻击。

1、限制每秒请求数

ngx_http_limit_req_module模块指令通过漏桶原理来限制单位时间内的请求数,一旦单位时间内请求数超过限制,就会返回503错误,需要分别在http和server中配置。

例:

http {
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
...
server {
    ...
    location  / {
        limit_req zone=one burst=2 nodelay;
           }
       }
 }


说明:

$binary_remote_addr:表示客户端IP地址
zone=one:10m:漏桶名字为one,并为这个zone分配10M内存用来存储会话(二进制远程地址),1M的内存可以保存约16000个64字节的记录(可以参考官方文档:http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
rate=5r/s:限制频率每秒5个请求
burst=2:允许超过频率限制请求,但是最多不能超过2个,举例一:第一秒请求1个,第二秒也请求1个,那么第三秒是可以请求5个的。举例二:第一秒请求4个,第二秒超过2个请求直接503。
nodelay:超过的请求不延迟处理,设置后4个请求在一秒内处理。

2、限制IP连接数

ngx_http_limit_conn_modul模块和上面的有些相似,使用起来更简单。

例:

http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
...
server {
    ...
    location / {
        limit_conn addr 5;
            }
       }
 }


说明:limit_conn addr 5;限制同一时间内只允许5个连接,超出的返回503
目录
相关文章
|
1月前
|
云安全 安全 BI
CC攻击该怎么防护更好
随着互联网发展,CC攻击成为严峻的网络安全问题。这种DDoS攻击通过操纵大量主机,向目标服务器发送大量请求,导致服务器资源耗尽。应对CC攻击,可以采取以下策略:部署高防IP或SCDN服务,限制请求频率,以及使用验证码验证。德迅云安全提供一站式安全加速解决方案,包括Web应用防火墙、CDN加速和抗DDoS防护,利用AI检测、智能语义解析等技术,有效防御各种网络攻击,同时保证网站内容的快速稳定访问。通过实时数据统计和安全可视化工具,便于监控和应对安全威胁。综合运用这些方法能有效降低CC攻击影响,保障Web应用程序的安全稳定运行。
|
20天前
|
应用服务中间件 网络安全 nginx
Nginx简易防CC策略规则
Nginx简易防CC策略规则
20 1
|
5天前
|
监控 应用服务中间件 nginx
Nginx的并发连接数是如何计数的
Nginx的并发连接数是如何计数的
|
1月前
|
存储 缓存 负载均衡
CC攻击解析与防御策略
CC攻击是DDoS的一种,利用代理服务器向目标发送大量合法请求,消耗服务器资源。识别特征包括命令行大量"SYN_RECEIVED"连接、IP批量异常连接和日志中异常访问模式。防御策略包括提升服务器性能、数据缓存优化、页面静态化、请求速率限制、IP访问限制及使用CDN。专业高防产品提供智能识别和响应,帮助企业构建全面防御体系。
250 2
|
2月前
|
域名解析 安全 网络安全
全面了解CC攻击和防范策略
CC攻击是一种针对Web服务的攻击,模仿正常用户请求耗尽服务器资源。攻击类型包括直接、肉鸡、僵尸和代理攻击。目标包括网站、API、登录页面、基础设施组件、云服务、金融机构等。影响包括服务中断、性能下降、经济损失、品牌受损及法律问题。判断CC攻击可通过观察CPU上升、网站响应慢或检查系统日志。防护措施包括IP封禁、人机验证、使用安全加速服务、静态化页面、更改端口、完善日志和域名解析策略。CC与DDoS攻击主要区别在于攻击原理、对象、危害、门槛和所需流量。综合运用多种防御策略能有效抵御CC攻击。
|
1月前
|
JavaScript Ubuntu 应用服务中间件
nginx扩展 OpenResty 实现防cc攻击教程
使用OpenResty实现CC攻击防护,包括两个主要步骤:限制请求速度和JS验证。首先,安装依赖(RHEL/CentOS需安装readline-devel, pcre-devel, openssl-devel,Ubuntu需安装libreadline-dev等)。然后,安装Luajit和OpenResty。在Nginx配置中,创建`lua`共享字典并设置`content_by_lua_file`调用lua脚本。lua脚本检查请求频率,超过限制则返回503,否则增加计数。同时,通过JS验证,生成随机码并重定向用户,用户需携带正确验证码请求才能访问。
41 0
|
1月前
|
存储 安全 应用服务中间件
解密Nginx限流机制:有效应对DDoS攻击与高并发流量
解密Nginx限流机制:有效应对DDoS攻击与高并发流量
60 0
|
3天前
|
缓存 负载均衡 应用服务中间件
nginx配置详解
配置详解
50 24
nginx配置详解
|
4天前
|
缓存 负载均衡 应用服务中间件
nginx配置
nginx配置详解
26 2
nginx配置
|
15天前
|
负载均衡 应用服务中间件 API
深入理解 Nginx 与 Kong 的配置与实践
在微服务架构中,Nginx 用于配置负载均衡,如示例所示,定义上游`pay-service`包含不同权重的服务节点。Kong API 网关则通过service和route进行服务管理和路由,与Nginx的upstream和location类似。通过Kong的命令行接口,可以创建upstream、target、service和route,实现对后端服务的负载均衡和请求管理。Nginx和Kong协同工作,提供高效、灵活的API管理和流量控制。
17 1
深入理解 Nginx 与 Kong 的配置与实践

热门文章

最新文章