Estoy usando esta sintaxis para mi archivo de configuración de Nginx /etc/nginx/nginx.conf
que 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 http
como 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_conn
debe colocarlo un nivel arriba en el http
bloque para que se herede en los server
bloques.
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_req
colocarlo un nivel más arriba en el http
bloque para que se herede en el server
bloque.