The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Как отбить простой DDoS в nginx
Все мы сталкивались с зажатым F5 и просто озверевшими ботами, уже давно не
секрет, что мораль у данных личностей довольно слаба, а желание забить канал
высоко, именно по этому данный сниппет в nginx может срезать львиную долю таких
неуравновешенных личностей.

Суть идеи  в следующем:

   map "$http_accept_encoding:$remote_addr" $ban_ban {
    "~*(.*):(1.1.1.1|2.2.2.2)"  0; #  тут перечисляем кому "можно"
    "~*(.*gzip.*|.*identity.*):(.*)"  0; # выделяем запросы с gzip в заголовке Accept-Encoding
    default        1; # ban
   }

   if ($ban_ban = 1) {
        return 444;
   }


TL;DR: большинство дельцов, не обращают внимание на заголовок gzip в своих
запросах, им важно забить серверу исходящий канал (вот и не требуют gzip) -
мораль  в том, что легитимный пользователь/браузер ВСЕГДА посылает gzip/deflate
в своих "ожиданиях" от сервера. Как следствие такое помогает избежать 90%
простейших атак.
 
20.02.2020 , Автор: Ilya
Ключи: nginx, ddos, flood, gzip, http / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевые сервисы / WWW, Apache httpd / Ограничение доступа и ресурсов, безопасность

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, anonymous (??), 10:41, 20/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Надо нормально настраивать rate limit, а не тупо срезать всех, кто не запрашивает deflate.
     
     
  • 2.3, LeNiN (ok), 14:21, 20/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    +1 за limit_req_zone.
     
  • 2.5, анонимус (??), 19:51, 20/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    rate limit против DDoS? Ну-ну
     
     
  • 3.6, Аноним (-), 22:35, 20/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если они пытаются бандвиз жрать - вполне себе вариант маневра.
     
  • 3.8, Валик (?), 07:19, 24/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > rate limit против DDoS? Ну-ну

    а что не так? отлично подходит для выявления ботов и логирования. а там уже парсим логи и на основе отлупов по лимитам заносим в бан посредством iptables...
    в комплексе с другими простыми средствами вполне спасает от средних DDoS-ов...

     

  • 1.2, gogo (?), 12:48, 20/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В этом есть некий смысл, однако таким макаром можно отбить разве что атаку уж какого-то совсем невменяемого скрипт-киддиса.
     
  • 1.4, sabitov (ok), 19:07, 20/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Иногда бывает удобно посмотреть, что отвечает чужой сервер на запрос. Кому как, конечно, но мне такие проверки удобно делать через телнет / опенссл. И ни про какой дефлейт при этом, разумеется речи не идёт.

    rate limit, адназначна!

     
  • 1.7, Аноним (7), 18:35, 21/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    444 плохой вариант, потому что атакующий получает обратную связь. 502 или 504 гораздо лучше.

    Еще можно резать тех, кто делает запрос и не читает ответ или читает только заголовки. Но это уже по логам и дешевле это делать каким-нибудь ipset.

     
     
  • 2.13, тигар (ok), 19:35, 16/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    вот и выросло поколение одминов-по-хабрахабару.
    почитай уже что делает return 444 и подумай, чем оно отличается от 50х для сервера и, например, атакующего.
     

  • 1.9, Аноним (9), 23:20, 02/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >TL;DR: большинство дельцов, не обращают внимание на заголовок gzip в своих запросах, им важно забить серверу исходящий канал (вот и не требуют gzip)

    Что за бред? Все нормальные либы для HTTP сами посылают все нужные заголовки и сами всё сжимают/раззимают. Зарезание не-http/2 тоже бесполезно - в libcurl - лучшей либе для http - он есть.

    И тем более это никак не поможет против

    > Все мы сталкивались с зажатым F5

    .


    Причём все эти меры - это false positivы, пользователи обидятся, и их не будет даже после того, как вы всё разрешите.

    От syn-флуда же ничего не спасёт кроме Cloudflare-подобных сервисов, которые проглотят атаку и не подавятся.

     
     
  • 2.11, Ano (?), 17:22, 08/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну либы либами, а реальные атаки и их резолвы - на опыте именно такие, да и какой пользователь не юзает gzip/deflate ?
     
  • 2.12, Ano (?), 17:24, 08/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> Все мы сталкивались с зажатым F5
    > .

    это было лирическое отступление есичо.

     

  • 1.10, guest (??), 20:00, 03/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >От syn-флуда же ничего не спасёт кроме Cloudflare-подобных сервисов, которые проглотят атаку и не подавятся.

    разве syncookie не спасают?

     
     
  • 2.14, тигар (ok), 19:36, 16/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >>От syn-флуда же ничего не спасёт кроме Cloudflare-подобных сервисов, которые проглотят атаку и не подавятся.
    > разве syncookie не спасают?

    видимо, зависит от того, насколько вас решили завалить.

     
  • 2.15, Аноним (15), 19:18, 17/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если тебе просто наливают syn-ов под завязку канала, то никакие куки не помогут.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру