UDP Flood od Google czyli jak nie pozbawić wszystkich YouTube

Pewnego pięknego wiosennego wieczoru, gdy nie chciało się wracać do domu, a nieodparte pragnienie życia i poznawania swędziało i paliło jak rozgrzane żelazo, wpadłem na pomysł, aby podłubać w intrygującej funkcji na zaporze ogniowej nazwanej „polityka DOS IP«.
Po wstępnym zapoznaniu się z instrukcją ustawiłem w trybie Pass-and-Log, aby zobaczyć, co właściwie się wydarzy i jaką wątpliwą użyteczność ma to ustawienie.
Po kilku dniach (żeby statystyki się zgromadziły, oczywiście, a nie dlatego, że zapomniałem) spojrzałem do logów i, tańcząc w miejscu, zaklaskałem w dłonie – zebrało się tyle wpisów, że można by je sprzedać. Wydawałoby się, że to proste – włącz politykę w trybie blokowania wszystkich floodujących, skanujących, ustalających half-open sesje z banem na godzinę i śpij spokojnie, mając świadomość, że granica jest zamknięta. Ale 34. rok życia przekroczył młodzieńczy maksymalizm i gdzieś w zakamarkach mózgu rozległ się cienki głosik: „A może zajrzyjmy, a czyje to adresy nasz ukochany firewall rozpoznał jako notorycznych floodowców? Tak, dla jaj.”

Zaczynam analizować zdobyte dane z listy anomalii. Przeprowadzam adresy przez prosty skrypt Powershell i moje oczy natrafiają na znajome litery google.

UDP Flood od Google czyli jak nie pozbawić wszystkich YouTube

Trę oczy, mrugam przez pięć minut, aby upewnić się, że się nie mylę — naprawdę na liście tych, których firewall uznał za notorycznych floodowców, typ ataku – udp flood, adresy, które należą do korporacji dobra.

UDP Flood od Google czyli jak nie pozbawić wszystkich YouTube
UDP Flood od Google czyli jak nie pozbawić wszystkich YouTube
UDP Flood od Google czyli jak nie pozbawić wszystkich YouTube
UDP Flood od Google czyli jak nie pozbawić wszystkich YouTube

Zgłaszam się do myślenia, jednocześnie ustawiając na zewnętrznym interfejsie przechwytywanie pakietów do późniejszej analizy. W mojej głowie krążą tęczowe myśli: „Jak to możliwe, coś zainfekowanego w zasięgu Google? A to odkryłem? Toż, toż — nagrody, zaszczyty, czerwony dywan i własne kasyno z blackjackiem i, no wiecie…”

Analizuję otrzymany plik Wireshark-owego.
Tak, rzeczywiście, z adresu w zasięgu Google przesyłane są pakiety UDP z portu 443 na losowy port na moim urządzeniu.
Ale, poczekajcie… Oto protokół zmienia się z UDP na GQUIC.
Semenie Semenowiczu…

UDP Flood od Google czyli jak nie pozbawić wszystkich YouTube

Od razu przypomniałem sobie wykład z HighLoad Aleksandra Tobola «UDP przeciwko TCP lub przyszłość stosu sieciowego) (link).
Z jednej strony narasta lekkie rozczarowanie — ani poważanych nagród, ani zaszczytów. Z drugiej strony, problem jest jasny, pozostaje tylko zrozumieć, gdzie i ile kopać.
Kilka minut rozmowy z Korporacją Dobra — i wszystko wraca na swoje miejsce. W dążeniu do poprawy szybkości dostarczania treści firma Google już w 2012 roku ogłosiła protokół QUIC, który ma na celu usunięcie większości wad TCP (tak, tak, w tych artykułach — Raz i Dwa mówi się o zupełnie rewolucyjnym podejściu, ale bądźmy szczerzy, chcemy, aby zdjęcia kotów ładowały się szybciej, a nie całe wasze rewolucje w świadomości i postępie). Jak pokazały dalsze badania, wiele organizacji przechodzi obecnie na ten sposób dostarczania treści.
Problem w moim, a myślę, że nie tylko w moim przypadku, okazał się taki, że końcowo pakietów jest zdecydowanie za dużo i zapora sieciowa postrzega je jako flood.
Rozwiązań okazało się niewiele:
1. Dodać do listy wyjątków dla Polityki DoS na zaporze zakres adresów Google. Przy samej myśli o zakresie możliwych adresów oko zaczęło nerwowo drgać — pomysł odłożony jako absurdalny.
2. Podnieść próg uruchamiania dla polityki flood UDP — też nie jest idealnie, a co jeśli ktoś naprawdę złośliwy się wymknie.
3. Zakazać dostępu z wewnętrznej sieci przez UDP na 443 port na zewnątrz.
Po przeczytaniu dodatkowych informacji na temat realizacji i integracji QUIC do Google Chrome ostatnia opcja została przyjęta jako wskazówka do działania. Sytuacja jest taka, że, powszechnie lubiany i bezwzględny (nie rozumiem, za co, lepiej, aby nachalna, ruda Firefox-owska gęba dostawała za zjedzone gigabajty pamięci operacyjnej), Google Chrome początkowo próbuje nawiązać połączenie z użyciem swojego wytrwałego QUIC, ale jeśli nie odniesie sukcesu, wraca do sprawdzonych metod, takich jak TLS, chociaż straszliwie się tego wstydzi.

Tworzymy w zaporze wpis dla usługi QUIC:

UDP Flood od Google czyli jak nie pozbawić wszystkich YouTube

Konfigurujemy nową regułę i umieszczamy ją gdzieś wyżej w łańcuchu.

UDP Flood od Google czyli jak nie pozbawić wszystkich YouTube

Po włączeniu reguły w liście anomalii cisza, poza naprawdę złośliwymi naruszycielami.

UDP Flood od Google czyli jak nie pozbawić wszystkich YouTube

Dziękuję wszystkim za uwagę.

Wykorzystane zasoby:
1.Raport Aleksandra Tobola
2.Opis protokołu QUIC od firmy Infopulse
3.Wikipedia
4. KB od Fortinet

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster