Обновить

L4-балансировка и защита от DDoS-атак

Время на прочтение14 мин
Охват и читатели7.7K
Всего голосов 6: ↑6 и ↓0+7
Комментарии7

Комментарии 7

а потом мы открыли для себя NetScaler

Хороший пост, занимательно!

Алексей, а как между L4 балансировщиками трафик распределяется в вашей схеме?

Балансировщики по BGP отправляют маршруты VIPов на сетевые устройства и трафик балансируется между балансировщиками с помощью ECMP.

Спасибо, теперь картина полная.

НЛО прилетело и опубликовало эту надпись здесь

Как-то у вас всё намешано в кучу: люди (динамическая маршрутизация по L3 и балансировка на L4), кони (попытка отбиться от атак на балансировщике). Вам не приходило разделить зоны ответственности, где одна команда отвечает за очистку и доставку трафика, а другая команда уже работает с валидным траффиком? Ну как это делает мировой Bigtech.

Теперь немного про ваши костыли.

Отключать ненужный трафик — dst-порты, протоколы.

Возвращаясь к теме разделения зон ответственности, зачем вам взваливать дополнительную головую боль, если можно сразу балансировать валидный трафик? Разве нельзя на сетевой железке на L3 настроить отдачу требуемые сочетания протокола и порта?

Дропать трафик с подозрительных адресов

Вы же понимаете, что для вас по этому поводу заготовлено отдельное место в аду? Сколько раз говорить, что у подавляющего числа пользователей нет своего адреса IP и подавляющее большинство сидит за операторскими NAT, настройки которых требуют часто детального рассмотрения как и авторы этих настроек на предмет уровня психической экологичностии. Опять же по человейникам стоит невероятный зоопарк домашних роутеров и прочей умной техники с непонятными настройками и неясным временем обновления прошивки. Другими словами из-за кривых настроек домашних умных устройств до таких же настроек операторского NAT вы легко и непринуждённо дропаете легитимных пользователей. Перед вами именно такая задача поставлена?

Дропать фрагментированный трафик

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

Клиент присылает SYN-пакет, мы перехватываем его до балансировщика, в SYN-ACK ставим какое-нибудь значение — либо куки, то есть криптографически высчитываем это значение, либо рандомно, либо статически, неважно. Легитимный клиент в ответ на такую дерзость с нашей стороны пришлет reset, скажет: «Что ты мне прислал? Это какая-то ересь, я этого не ожидал». Естественно, мы увидим, что клиенту это не понравилось, значит, он легитимный

Вы даёте полную гарантию, что данное поведение охватывает всех ваших валидных клиентов? Или это модель ориентированная только под ваше мобильное приложение?

Запишем его IP и порт к себе в базу аутентифицированных клиентов

Обычно это IP адрес операторского NAT. Коих много, но количество счётное и не такое большое. Или вы каким-то образом умудряетесь писать локальный адрес клиента, сидящего за NAT своего роутера. Но там обычно что-то вроде 192.168.1.0/24.

Потом клиент пришлет первоначальный SYN Retransmit, как того требует протокол TCP

Вы не думали, что некоторые операторы не любят SYN Retransmit у себя в сетях?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
www.ontico.ru
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия