The OpenNET Project / Index page

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



"Раздел полезных советов: Как отбить простой DDoS в nginx"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Как отбить простой DDoS в nginx"  +/
Сообщение от auto_tips (??), 20-Фев-20, 10:41 
Все мы сталкивались с зажатым 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% простейших атак.

URL:
Обсуждается: https://www.opennet.ru/tips/info/3131.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от anonymous (??), 20-Фев-20, 10:41   +/
Надо нормально настраивать rate limit, а не тупо срезать всех, кто не запрашивает deflate.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #5

2. Сообщение от gogo (?), 20-Фев-20, 12:48   +/
В этом есть некий смысл, однако таким макаром можно отбить разве что атаку уж какого-то совсем невменяемого скрипт-киддиса.
Ответить | Правка | Наверх | Cообщить модератору

3. Сообщение от LeNiN (ok), 20-Фев-20, 14:21   +/
+1 за limit_req_zone.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

4. Сообщение от sabitov (ok), 20-Фев-20, 19:07   +/
Иногда бывает удобно посмотреть, что отвечает чужой сервер на запрос. Кому как, конечно, но мне такие проверки удобно делать через телнет / опенссл. И ни про какой дефлейт при этом, разумеется речи не идёт.

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

Ответить | Правка | Наверх | Cообщить модератору

5. Сообщение от анонимус (??), 20-Фев-20, 19:51   +/
rate limit против DDoS? Ну-ну
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #6, #8

6. Сообщение от Аноним (-), 20-Фев-20, 22:35   +/
Если они пытаются бандвиз жрать - вполне себе вариант маневра.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

7. Сообщение от Аноним (7), 21-Фев-20, 18:35   +1 +/
444 плохой вариант, потому что атакующий получает обратную связь. 502 или 504 гораздо лучше.

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #13

8. Сообщение от Валик (?), 24-Фев-20, 07:19   +/
> rate limit против DDoS? Ну-ну

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

9. Сообщение от Аноним (9), 02-Мрт-20, 23:20   +/
>TL;DR: большинство дельцов, не обращают внимание на заголовок gzip в своих запросах, им важно забить серверу исходящий канал (вот и не требуют gzip)

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

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

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

.


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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11, #12

10. Сообщение от guest (??), 03-Мрт-20, 20:00   +/
>От syn-флуда же ничего не спасёт кроме Cloudflare-подобных сервисов, которые проглотят атаку и не подавятся.

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14, #15

11. Сообщение от Ano (?), 08-Мрт-20, 17:22   +/
Ну либы либами, а реальные атаки и их резолвы - на опыте именно такие, да и какой пользователь не юзает gzip/deflate ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

12. Сообщение от Ano (?), 08-Мрт-20, 17:24   +/
>> Все мы сталкивались с зажатым F5
> .

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

13. Сообщение от тигар (ok), 16-Мрт-20, 19:35   +/
вот и выросло поколение одминов-по-хабрахабару.
почитай уже что делает return 444 и подумай, чем оно отличается от 50х для сервера и, например, атакующего.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #16

14. Сообщение от тигар (ok), 16-Мрт-20, 19:36   +/
>>От syn-флуда же ничего не спасёт кроме Cloudflare-подобных сервисов, которые проглотят атаку и не подавятся.
> разве syncookie не спасают?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

15. Сообщение от Аноним (15), 17-Мрт-20, 19:18   +/
Если тебе просто наливают syn-ов под завязку канала, то никакие куки не помогут.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

16. Сообщение от Аноним (7), 02-Июн-20, 01:24   +/
Песком не засыпьте, дедушка.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #17

17. Сообщение от тигар (ok), 02-Июн-20, 11:34   +/
> Песком не засыпьте, дедушка.
> 444 позволяет сэкономить чуточку памяти и дескрипторов (которые дешевы), но при этом
> дает атакующему ценную информацию, какие боты уже забанены (их можно перевести
> на другие сайты, взамен ввести новые).

а 50х, значица, ничего атакующему не говорит, правда? Ты еще ниразу не видел сайтов, которые ошибки сами обрабатывают, вместо того, чтобы показать дефолтовый 50x.html nginx`а ? и, чтобы 2 раза не вставать, для тебя DDoS это сколько и чего. Ну и, "покекать" - без дыдоса сколько уников/чего там еще на Самом Посещаемом Сайте твоем?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #18

18. Сообщение от Аноним (7), 08-Июн-20, 00:27   +/
Пишу не столько для вас, сколько для тех, кто будет читать комментарии.

Преобладание 502 в ответах цели дает атакующему сигнал, что он достиг цели.
Если сервер врет и на самом деле бэкэнд доступен, атакующий может ошибочно решить, что сайт лег и перестать что-то делать (добавлять нагрузку, менять параметры атаки - все, что обычно делают, чтобы сайт продолжал лежать).
Под атакой сайт работает нестабильно, надежно распознать ложную 502 не представляется возможным.  Фактически атакующая сторона для сохранения эффективности может только вводить новых ботов или прокси (то есть снижать общий КПД и тратить дополнительные ресурсы).
У любой атаки есть бюджет. Только в представлении людей не в теме есть какие-то халявные ботнеты бесконечных размеров, которые ничего не стоят.

>сайтов, которые ошибки сами обрабатывают

Отображение 500х ошибок движком сайта - яркая профнепригодность.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #19

19. Сообщение от тигар (ok), 08-Июн-20, 08:45   +/
булшит уровня г-норесурса хабрахабар. не понятно только почему они из своей резервации вылазят..

несколько вопросов:
1) по-твоему заказчик/исполнитель ддос смотрит в выхлопы консолек ботов, а не ходит прям из своей машинки прям на сайт-жертву, серьезно?
2) ты и правда даже порядок цен не знаешь, но щеки надуваешь
3) про отображение 50х сайтом посмеялся
4) ты так и не ответил что/сколько чего для тебя это ддос
5) про "защищенный" тобой более-менее нагруженый сайт почему-то промолчал

может все-таки давно признать что про 444 прочел от "икспертов на хабре" и закончить этот ненужный тред?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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