51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

如何配置 Nginx 防止 CC 攻击

CC 攻击是一种网络攻击手段,属于 DDoS 攻击的一种形式。CC 攻击的主要目的是通过发送大量看似合法的请求到目标服务器,耗尽服务器的资源,使得服务器无法处理正常的用户请求,从而导致网站服务无法访问。

限制请求速度 {#限制请求速度}

|---------------------|-----------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 | limit_req_zone $binary_remote_addr zone=one:10m rate=30r/m; server { location /login.html { limit_req zone=one; } } |

注意:在安装 Nginx 时加载 ngx_http_limit_req_module 模块,通过 limit_req_zone 指令定义请求速率限制的区域,并使用 limit_req 指令在特定的 location 中应用这些限制。这样设置可限制每个客户端 IP 每分钟最多发起 30 个请求。

限制连接数量 {#限制连接数量}

|---------------------|----------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 | limit_conn_zone $binary_remote_addr zone=addr:10m; server { location /store/ { limit_conn addr 10; } } |

注意:在安装 Nginx 时加载 ngx_http_limit_conn_module 模块,通过 limit_conn_zone 指令定义连接数量限制的区域,并使用 limit_conn 指令在特定的 location 中应用这些限制。这将限制每个客户端的 IP 同时最多只能有 10 个连接。

关闭慢速连接 {#关闭慢速连接}

|-----------------|----------------------------------------------------------------------| | 1 2 3 4 | server { client_body_timeout 5s; client_header_timeout 5s; } |

注意:通过设置 client_body_timeoutclient_header_timeout 指令来定义读取客户端请求的超时时间,可以关闭慢速连接。这样可防止攻击者通过慢连接攻击耗尽服务器资源。

设置 IP 黑名单和白名单 {#设置-IP-黑名单和白名单}

|-----------------|--------------------------------------------------------| | 1 2 3 4 | location / { allow 192.168.1.0/24; deny all; } |

注意:使用 allowdeny 指令可控制特定 IP 地址或 IP 范围的访问权限。这样可以允许特定 IP 段访问,而拒绝其它所有 IP 访问。

限制文件类型和请求大小 {#限制文件类型和请求大小}

|-------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 | server { location /upload/ { client_max_body_size 10M; if ($content_type ~* "^image/") { return 403 "Only non-image files are allowed."; } } } |

注意:通过 client_max_body_size 指令限制上传文件大小和类型,防止因大文件上传或超大数据包导致的服务中断或资源耗尽。

其它限制 {#其它限制}

可集成 Fail2Ban 工具,对日志文件进行自动化监控,一旦检测异常行为或恶意 IP 地址,立即将其加入黑名单并封锁。

定制化错误页面不仅能提升用户体验,还能在遭遇攻击时减少攻击者获取的有用信息。

持续关注 Nginx 的错误日志,借助日志分析工具,及时发现并响应任何异常行为或攻击迹象。

强制所有的数据传输通过 HTTPS 加密,可以有效抵御中间人攻击和数据泄露风险。

赞(6)
未经允许不得转载:工具盒子 » 如何配置 Nginx 防止 CC 攻击