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대체하여 DDOS 보호가 예상대로 작동합니까?server{}sites-enabled/*

답변1

실제로 다음과 같은 중요한 차이점이 있습니다.도스그리고디도스공격. DDOS에 추가된 D는 분산을 의미합니다.

간단한도스공격 설정을 사용할 수 있습니다. 그러나 허용되거나 예상되는 사용 사례와 허용되지 않거나 예상되지 않는 사용 사례 간의 차이는 애플리케이션이나 웹사이트에 따라 다릅니다. 일반적인 레시피가 없습니다.

완화시키기 위해서디도스당신의 설정을 공격합니다도움이 되지 않습니다. 이러한 공격은 다양한 IP 주소에서 시작됩니다. 일반적으로 DDOS 공격은 네트워크 수준에서 매우 높은 대역폭으로 완화되어야 합니다.

답변2

내 생각엔 당신이 말하는 것 같아요ngx_http_limit_conn_module그리고ngx_http_limit_req_module.

구문:limit_conn 구역 번호;
기본값: —
컨텍스트: http, server, location
이러한 지시문은 현재 수준에 정의된limit_conn 지시문이 없는 경우에만 이전 구성 수준에서 상속됩니다.

따라서 블록 에 상속되도록 하려면 블록 limit_conn의 한 레벨 위에 배치해야 합니다 .httpserver

구문: Limit_req zone=name [burst=번호] [nodelay | 지연=숫자];
기본값: —
컨텍스트: http, server, location
이러한 지시문은 현재 수준에 정의된limit_req 지시문이 없는 경우에만 이전 구성 수준에서 상속됩니다.

블록 에 상속되도록 블록 limit_req의 한 레벨 위로 배치하는 경우 에도 마찬가지입니다 .httpserver

관련 정보