Как правильно защитить сервер от ддос ?

Тема в разделе "Защита от Ddos-атак", создана пользователем егор, 26 апр 2015.

  1. Помогите мне поставить защиту на VPS сервер от ддос.
    Я всего хорошо не знеаю, но начитал что лучше всего на уровне nginx .. Где что можно почитать, с чего начать ? Мне нужна такая защита если больше 5 запросов в секунду то бан на 10 секунд и потом с бана проподает
    ОС CentOS 6.x.
     
    26 апр 2015
  2. В Nginx можно прописать:
    Код:
    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; 
    
    server {
        location ~ \.php$ {
            limit_req zone=one burst=5; # разрешает не более 1 запроса в секунду со всплесками не более 5 запросов.
        }
    Если директива limit_req_zone не работает, нужно пересобрать Nginx с модулем ngx_http_limit_req_module или просто обновить Nginx, он вроде по-умолчанию идет.

    Как это работает для пользователя:
    • если пользователь случайно кликнет три раза подряд по ссылке, Nginx просто задержит его запрос;
    • если пользователь кликнет подряд по нескольким внутренним ссылкам, то Nginx заставит его выждать соответствующий промежуток времени, пропорциональный числу бессмысленных нажатий и обработает только последний запрос;
    • если ошибку 503 получит робот поисковой системы, то он просто поймет, что надо зайти попозже и это не скажется на индексации сайта, кроме того, частоту загрузки страниц для поисковых систем можно ограничивать через robots.txt;
     
    Последнее редактирование модератором: 27 апр 2015
    26 апр 2015
  3. Потом можно будет забанить все айпи которые в логах выдают ошибку 503, на уровне файерволла.
     
    26 апр 2015
  4. автоматически это можно делать при помощи fail2ban, вот фильтр для обработки лога от nginx

    Код:
    [INCLUDES]
    before = common.conf
    
    [Definition]
    _daemon = nginx
    failregex = limiting requests, excess:.* by zone.*client: <HOST>
    ignoreregex =
     
    6 янв 2016
    admin нравится это.

Поделиться этой страницей