Hello! 欢迎来到小浪云!


防御CC攻击:nginx服务器的策略与技巧


avatar
小浪云 2024-06-18 40


CC攻击(Challenge Collapsar Attack)是一种网络攻击方式,其目的是通过大量合法或伪造的小流量请求,耗尽服务器资源,导致正常用户无法访问,也称为“连接数攻击”或“请求速率限制攻击”。要在 nginx 中防止 CC 攻击,首先需要修改nginx的配置文件。

1.使用 nginx 的 limit_req 模块可以限制单个IP地址在一定时间内的请求次数。


http {

    limit_req_zone $binary_remote_addr zone=myzone:10m rate=5r/s;


    server {

        location / {

            limit_req zone=myzone burst=10 nodelay;

        }

    }

}


在上述配置中,limit_req_zone 指令定义了一个名为 myzone 的内存区域,它跟踪源 IP 地址,并且限定了每个 IP 每秒可以发起的请求次数(例如 rate=5r/s)。burst 参数允许突增连接数而不会立即返回错误,而 nodelay 参数可以使得请求不会因为超过速率而被延迟。


2.使用 nginx 的 limit_conn 模块可以限制单个IP地址的并发连接数。


http {

    limit_conn_zone $binary_remote_addr zone=addr:10m;


    server {

        location / {

            limit_conn addr 5;

        }

    }

}


这里定义了一个名为 addr 的内存区域来跟踪并限制并发连接数(例如 limit_conn addr 5 表示每个 IP 最多可以有 5 个并发连接)。

相关阅读