NGINX, не отвечающий во время DDos-атак

Я собираюсь стать прямым к точке, NGINX, кажется, не обрабатывает Запросов HTTP во время DDos-атаки с помощью XML-RPC.

Сервер только использует приблизительно 1% ЦП во время DDos-атаки XML-RPC.

Сервер использует 12 ядер, и NGINX установлен использовать 12 рабочих процессов.

Вот мои текущие конфигурации

nginx.conf:

user              nginx;
worker_processes  12;

error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;

events {
    worker_connections  12288;
}

http {
    server_names_hash_bucket_size 64;
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    limit_conn_zone $binary_remote_addr zone=one:10m;
    limit_req_zone $binary_remote_addr zone=two:10m rate=5r/s;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  30;
    server_tokens off;

    include /etc/nginx/conf.d/*;
}

default.conf:

server {
    listen       80 default_server;
    server_name  _;
    include /etc/nginx/default.d/*.conf;

    limit_conn one 10;
    limit_req zone=two burst=10 nodelay;

    if ($http_user_agent ~* (wordpress))
    {
        return 444;
    }
    if ($http_user_agent = "")
    {
        return 444;
    }

    client_body_buffer_size  1K;
    client_header_buffer_size 1k;
    client_max_body_size 1k;
    large_client_header_buffers 2 1k;

    client_body_timeout   10;
    client_header_timeout 10;
    keepalive_timeout     5 5;
    send_timeout          10;

    access_log off;

    location / {
        root   /var/www/html;
        index  index.php index.html index.htm;
    }

    error_page  404              /404.html;
    location = /404.html {
        root   /var/www/html;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /var/www/html;
    }

    location ~ \.php$ {
        root           /var/www/html;
        try_files      $uri =404;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    location /status/ {
        stub_status on;
    }
}

sysctl.conf:

net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.tcp_syncookies = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

Я не надеюсь блокировать нападения к точке, какой NGINX даже не получит запросы, я просто надеюсь продолжать свой NGINX во время нападений для контроля запросов в секунду.

Большое спасибо.

0
задан 3 October 2015 в 17:37
1 ответ

Смысл атаки DDos заключается в полном использовании всех ресурсов. Нет никакого волшебного конфигуратора, который кто-то мог бы сказать установить эту опцию и nginx ответит. Вы должны блокировать входящий трафик.

Тогда, если вы заблокируете входящий трафик на вебсервере, то что может произойти, так это то, что ваш нижний поток насытится до такой степени, что реальные запросы не смогут пройти. Тогда вам придется работать с вашим восходящим каналом, чтобы заставить их блокировать.

0
ответ дан 5 December 2019 в 12:01

Теги

Похожие вопросы