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 個并發連接)。