Sintaxis de protección DDOS - Nginx

Sintaxis de protección DDOS - Nginx

Estoy usando esta sintaxis para mi archivo de configuración de Nginx /etc/nginx/nginx.confque dice:

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/*;

}

Los bloques del servidor de mis sitios web se incluyen dentro de:include /etc/nginx/sites-enabled/*;

¿El servidor definido httpcomo se ve arriba reemplazará los server{}bloques en my sites-enabled/*para que la protección DDOS funcione como se esperaba?

Respuesta1

En realidad hay una diferencia importante entreDOSyDDOSataques. La D adicional en DDOS significa distribuido.

por sencilloDOSSe pueden utilizar ataques con su configuración. Sin embargo, realmente depende de su aplicación o sitio web dónde podría estar la diferencia entre un caso de uso permitido o esperado y un caso de uso no permitido o no esperado. No existe una receta genérica.

MitigarDDOSataca tu configuraciónno ayudará. Estos ataques se lanzarán desde muchas direcciones IP diferentes. Normalmente los ataques DDOS deben mitigarse a nivel de red y con un ancho de banda realmente alto.

Respuesta2

Supongo que estás hablando dengx_http_limit_conn_moduleyngx_http_limit_req_module.

Sintaxis: número de zona limit_conn;
Valor predeterminado: —
Contexto: http, servidor, ubicación
Estas directivas se heredan del nivel de configuración anterior si y solo si no hay directivas limit_conn definidas en el nivel actual.

Entonces, limit_conndebe colocarlo un nivel arriba en el httpbloque para que se herede en los serverbloques.

Sintaxis: limit_req zona=nombre [ráfaga=número] [nodelay | retraso=número];
Valor predeterminado: —
Contexto: http, servidor, ubicación
Estas directivas se heredan del nivel de configuración anterior si y solo si no hay directivas limit_req definidas en el nivel actual.

Lo mismo ocurre con limit_reqcolocarlo un nivel más arriba en el httpbloque para que se herede en el serverbloque.

información relacionada