UDP Flood iš Google arba kaip neatimti iš visų Youtube

Одним прекрасным весенним вечером, когда идти домой не хотелось, а неуемное желание жить и познавать свербило и жгло аки каленым железом, возникла идея поковырять заманчивую приблуду фичу на файрволе под названием «IP DOS policy"
После предварительных ласок и ознакомления с мануалом настроил в режиме Pass-and-Log, чтобы посмотреть вообще на выхлоп и сомнительную полезность данной настройки.
Спустя пару дней (чтобы статистика набралась, конечно, а не потому что забыл) взглянул в логи и, пританцовывая на месте, захлопал в ладоши — записей набралось по самое не балуйся. Казалось бы, чего проще — включай политику в режим блокировки всех флудящих, сканящих, устанавливающих pusiau atviras сессии с баном на час и спи себе спокойно с осознанием того факта, что граница на замке. Но 34-ый год жизни преодолел юношеский максимализм и где-то на затылочном участке мозга прозвучал тоненький голосок:«А давай-ка поднимем веки и посмотрим, а чьи же адреса наш любимый файрвол распознал как злостных флудильщиков? Ну так, в порядке бреда.»

Начинаем анализировать полученные данные со списка аномалий. Прогоняю адреса через простенький скрипт PowerShell и глаза натыкаются на знакомые буквы "Google".

UDP Flood iš Google arba kaip neatimti iš visų Youtube

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

UDP Flood iš Google arba kaip neatimti iš visų Youtube
UDP Flood iš Google arba kaip neatimti iš visų Youtube
UDP Flood iš Google arba kaip neatimti iš visų Youtube
UDP Flood iš Google arba kaip neatimti iš visų Youtube

Чешу в затылке, попутно настраивая на внешнем интерфейсе захват пакетов для последующего анализа. В голове проносятся радужные мысли: «Как так, что-то инфицированное в скоупе Google? И это обнаружил я? Да это ж, это ж — награды, почести и красная ковровая дорожка, и свое казино с блекджеком и, ну вы поняли…»

Разбираю полученный файл wireshark-ом.
Да, действительно с адреса из скоупа "Google" фигачат пакеты UDP с 443 порта на рандомный порт на моем девайсе.
Но, постойте-ка… Вот протокол сменяется с UDP apie GQUIC.
Семен Семеныч…

UDP Flood iš Google arba kaip neatimti iš visų Youtube

Сразу же вспоминается доклад с HighLoad Александра Тоболя «UDP против TCP или будущее сетевого стека»(ryšys).
С одной стороны, наступает легкое разочарование — ни тебе, барин, лавров, ни почестей. С другой стороны, проблема ясна, осталось понять куда и сколько копать.
Пару минут общения с Корпорацией Добра — и все встает на свои места. В попытке улучшить скорость доставки контента компания "Google" еще в 2012 году анонсировала протокол QUIC, позволяющий убрать большую часть недостатков TCP (да-да-да, в этих статьях — Ррраз и Du говорится о совершенно революционном подходе, но, будем откровенны, хочется, чтобы фоточки с котиками загружались побыстрее, а не вот эти вот все ваши революции сознания и прогресса). Как показало дальнейшее исследование, на подобный вариант доставки контента многие организации сейчас переходят.
Проблема в моем и, я думаю, не только в моем случае оказалась в том, что пакетов в итоге идет очень уж много и файрвол воспринимает их как флуд.
Вариантов решения оказалось немного:
1. Добавить в список исключения для DoS Policy на файрволе скоуп адресов "Google". При одной только мысли о диапазоне возможных адресов глазик начал нервно дергаться — отложена идея как бредовая.
2. Повысить порог срабатывания для udp flood policy — тоже не комильфо, а вдруг кто действительно зловредный прошмыгнет.
3. Запретить обращения из внутренней сети по UDP apie 443 порт наружу.
Почитав дополнительно про реализацию и интеграцию QUIC в "Google Chrome" был принят как указание к действию последний вариант. Дело в том, что, любимый всеми повсеместно и беспощадно(не пойму за что, уж лучше наглая рыжая "Firefox"-овская морда будет получать за отожранные гигабайты оперативки), "Google Chrome" изначально пытается установить соединение с использованием своего выстраданного QUIC, но если чуда не происходит, то он возвращается к проверенным методам типа TLS, хоть и стыдится этого дичайше.

Создаем на файрволе запись для сервиса QUIC:

UDP Flood iš Google arba kaip neatimti iš visų Youtube

Настраиваем новое правило и размещаем его где-нибудь повыше в цепочке.

UDP Flood iš Google arba kaip neatimti iš visų Youtube

После включения правила в списке аномалий тишь да гладь, за исключением действительно злостных нарушителей.

UDP Flood iš Google arba kaip neatimti iš visų Youtube

Спасибо всем за внимание.

Использованные ресурсы:
1.Доклад Александра Тоболя
2.Описание протокола QUIC от компании Инфопульс
3.Vikipedija
4. KB от Fortinet

Šaltinis: www.habr.com

Добавить комментарий