Ddos 防護語法 - Nginx

Ddos 防護語法 - Nginx

我在 Nginx 設定檔中使用以下語法/etc/nginx/nginx.conf

user www-data;
worker_processes 2;
pid /run/nginx.pid;
worker_rlimit_nofile 100000;

events {
worker_connections 2048;
multi_accept on;
}

http {

##
# Basic Settings
##

client_header_buffer_size 2k;
large_client_header_buffers 2 1k;

client_body_buffer_size 10M;
client_max_body_size 10M;

client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;

limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=50r/s;

server {
limit_conn conn_limit_per_ip 10;
limit_req zone=req_limit_per_ip burst=10 nodelay;
}

sendfile on;
tcp_nopush on;
tcp_nodelay on;
types_hash_max_size 2048;
server_tokens off;

# server_names_hash_bucket_size 64;
# server_name_in_redirect off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

##
# Virtual Host Configs
##

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

}

我的網站伺服器區塊包含在:include /etc/nginx/sites-enabled/*;

上面定義的伺服器是否http會取代server{}我的區塊,sites-enabled/*以便 DDOS 保護能如預期運作?

答案1

實際上,兩者之間有一個重要的區別作業系統分散式阻斷服務攻擊攻擊。 DDOS 中的附加 D 代表分散式。

對於簡單的作業系統可以使用您的設定進行攻擊。然而,這實際上取決於您的應用程式或網站,其中允許或預期的用例與不允許或不預期的用例之間可能存在差異。不存在通用配方。

減輕分散式阻斷服務攻擊攻擊你的設置不會有幫助。此類攻擊將從許多不同的 IP 位址發動。通常,必須在網路層級並使用非常高的頻寬來緩解 DDOS 攻擊。

答案2

我的猜測是你正在談論ngx_http_limit_conn_模組ngx_http_limit_req_module

語法:limit_conn 防區編號;
預設值: —
上下文:http、伺服器、位置
當且僅噹噹前層級上沒有定義 limit_conn 指令時,這些指令才會從先前的設定等級繼承。

因此,limit_conn您需要將其放置在區塊中上一層,http以使其繼承到server區塊中。

語法:limit_req zone=name [burst=number] [nodelay |延遲=數字];
預設值: —
上下文:http、伺服器、位置
當且僅噹噹前層級上沒有定義 limit_req 指令時,這些指令才會從先前的設定等級繼承。

對於limit_req將其提升到http區塊中一層以使其繼承到server區塊中的位置也是如此。

相關內容