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.

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.




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…

Od razu przypomniałem sobie wykład z HighLoad Aleksandra Tobola «UDP przeciwko TCP lub przyszłość stosu sieciowego) ().
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 — i 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:

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

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

Dziękuję wszystkim za uwagę.
Wykorzystane zasoby:
1.
2.
3.
4.
Źródło: habr.com
