Wszystkie artykuły

6 min czytania

Anycast: co to jest i co daje w trakcie ataku DDoS

Jak działa anycast w BGP, czym różni się od unicastu i dlaczego sieć rozgłaszana z wielu lokalizacji przyjmuje atak DDoS lepiej niż pojedynczy punkt wejścia. Zalety, ograniczenia i przykład z sieci SkyPass.

Schemat sieci anycast: jeden prefiks rozgłaszany z pięciu lokalizacji, a użytkownicy i botnet trafiają do najbliższej

Anycast to sposób adresowania, w którym ten sam adres IP, a dokładniej ten sam prefiks, rozgłasza się z wielu miejsc w internecie jednocześnie. Pakiet trafia do najbliższego z nich. Z anycastu korzystają serwery DNS, sieci CDN i sieci ochrony DDoS, bo pozwala rozłożyć ruch, także ruch ataku, na wiele lokalizacji zamiast kierować go w jedno miejsce. W tym tekście wyjaśniamy, jak to działa od strony BGP, co daje w trakcie ataku i gdzie ma ograniczenia.

Unicast, anycast, multicast: krótkie przypomnienie

W klasycznym unicaście jeden adres IP należy do jednego urządzenia w jednym miejscu. Cały ruch do tego adresu, niezależnie skąd pochodzi, kończy na jednym łączu i jednym routerze. Multicast wysyła jeden strumień do grupy odbiorców. Anycast odwraca sytuację: jeden adres istnieje w wielu miejscach, a każdy nadawca trafia do tego, które jest dla niego „najbliższe”.

Słowo „najbliższe” nie oznacza kilometrów. Chodzi o odległość w rozumieniu BGP: liczbę systemów autonomicznych po drodze, polityki operatorów i preferencje tras. Ruch z sieci w Niemczech może trafić do innego punktu niż ruch z sieci w Polsce, choć fizycznie oba są blisko.

Jak działa anycast w BGP

Technicznie anycast nie wymaga żadnego nowego protokołu. Ten sam prefiks, na przykład /24, rozgłasza się przez BGP z kilku routerów w różnych lokalizacjach, z tego samego numeru AS. Routery w internecie widzą kilka tras do tego samego prefiksu i, jak zawsze, wybierają najlepszą według swoich reguł. W efekcie:

  • użytkownik z Europy wchodzi do sieci w punkcie, który jego operator uznał za najlepszy dla Europy,
  • użytkownik z Azji wchodzi w innym punkcie,
  • a bot z przejętego routera na innym kontynencie w jeszcze innym.

Wszyscy łączą się z tym samym adresem IP i nikt nie musi o tym wiedzieć.

Porównanie unicastu i anycastu. W unicaście ruch użytkowników i ataku z całego świata trafia na jedną lokalizację. W anycaście każde źródło wchodzi do najbliższej z czterech lokalizacji, a do klienta dociera czysty ruch po filtracjiPorównanie unicastu i anycastu. W unicaście ruch użytkowników i ataku z całego świata trafia na jedną lokalizację. W anycaście każde źródło wchodzi do najbliższej z czterech lokalizacji, a do klienta dociera czysty ruch po filtracjiTen sam prefiks rozgłaszany z jednego miejsca i z wielu. W anycaście każde źródło, także botnet, wchodzi do sieci najbliższym punktem.

Dla usług bezstanowych, takich jak DNS, anycast jest niemal idealny: każde zapytanie to osobny pakiet i nie ma znaczenia, który węzeł odpowie. Przy połączeniach TCP trzeba zadbać, żeby trasy były stabilne, bo zmiana punktu wejścia w trakcie sesji oznacza jej zerwanie. W praktyce trasy BGP zmieniają się rzadko, a sieci ochrony DDoS projektuje się tak, żeby ruch z danego regionu konsekwentnie wchodził tym samym punktem.

Co anycast daje w trakcie ataku DDoS

Atak DDoS jest z definicji rozproszony: pochodzi z tysięcy urządzeń w wielu krajach. W sieci unicastowej cały ten wolumen zbiega się w jednym miejscu i zapycha jedno łącze. W sieci anycastowej dzieje się coś innego.

Atak rozkłada się na wiele lokalizacji. Każdy bot wysyła ruch do najbliższego punktu wejścia, więc wolumen dzieli się mniej więcej według geografii botnetu. Żadne pojedyncze łącze nie musi przyjąć całości.

Pasek pokazujący, że w unicaście 100% ataku trafia na jedną lokalizację, a w anycaście przykładowo 34%, 28%, 22% i 16% na cztery lokalizacjePasek pokazujący, że w unicaście 100% ataku trafia na jedną lokalizację, a w anycaście przykładowo 34%, 28%, 22% i 16% na cztery lokalizacjeTen sam wolumen ataku: w jednym punkcie wejścia i rozłożony na cztery lokalizacje. Udziały zależą od tego, skąd pochodzi botnet.

Filtracja zaczyna się na brzegu, blisko źródła. Część ruchu ataku można odrzucić już w punkcie wejścia, zanim dotrze do centrów scrubbingu. Rdzeń sieci dostaje mniej do przetworzenia.

Pojemność się sumuje. Łączna pojemność sieci anycastowej to suma pojemności jej punktów wejścia. Atak, który zapchałby pojedyncze łącze, rozłożony na kilka lokalizacji mieści się w ich sumarycznej pojemności.

Użytkownicy z innych regionów nie odczuwają ataku. Jeśli botnet działa głównie z Azji, to azjatycki punkt wejścia jest obciążony najbardziej, a użytkownik z Europy wchodzi do sieci spokojnym punktem europejskim.

Można odciąć przeciążony węzeł. Gdy jedna lokalizacja dostaje więcej, niż jest w stanie przyjąć, operator może wycofać z niej rozgłoszenie prefiksu. Ruch przeniesie się do pozostałych punktów, a usługa dalej działa.

Schemat czterech lokalizacji anycast. Lokalizacja 3 jest przeciążona i wycofana, a ruch z jej źródeł przechodzi do sąsiednich lokalizacji, które dalej oddają czysty ruch do centrów scrubbinguSchemat czterech lokalizacji anycast. Lokalizacja 3 jest przeciążona i wycofana, a ruch z jej źródeł przechodzi do sąsiednich lokalizacji, które dalej oddają czysty ruch do centrów scrubbinguWycofanie rozgłoszenia z przeciążonej lokalizacji. Jej źródła, także botnet, przechodzą do sąsiadów, a usługa nie przestaje działać.

Anycast w sieci SkyPass

Nasza sieć AS202520 jest anycastowana w wielu lokalizacjach. Ruch do chronionych prefiksów, także ruch ataku, trafia do najbliższego punktu wejścia, gdzie część ataku jest odrzucana na brzegu. Reszta trafia do centrów scrubbingu w Warszawie i we Wrocławiu, które filtrują ruch w warstwach L3, L4 i L7. Do Twojej sieci wraca wyłącznie czysty ruch: tunelem, VLAN-em po L2 albo bezpośrednim cross-connectem.

Szafa z przełącznikami, wkładkami optycznymi i serwerami SkyPass w punkcie obecności sieciJeden z punktów obecności sieci SkyPass: przełączniki, wkładki optyczne i serwery.

Ty nie zmieniasz niczego w swojej infrastrukturze. Twoje prefiksy rozgłaszamy z naszej sieci, więc anycast działa po naszej stronie. Największy atak odparty na tej infrastrukturze sięgał 9 Tbps. Jak wygląda to w praktyce u operatora ISP, który przez 50 dni był atakowany z siłą do 5,5 Tbps, opisujemy w case study NysaNet.

Ograniczenia i o czym pamiętać

Anycast nie jest magicznym rozwiązaniem i warto znać jego granice.

  • Anycast rozkłada atak, ale go nie czyści. Bez filtracji w punktach wejścia i w centrach scrubbingu rozłożony atak nadal dociera do celu, tylko kilkoma drogami naraz. Anycast i scrubbing to uzupełniające się elementy, nie alternatywy.
  • Stan sesji. Filtry stanowe muszą widzieć obie strony połączenia. Gdy ruch z jednego źródła wchodzi raz jednym, raz drugim punktem, trudniej śledzić stan. Dlatego trasy muszą być stabilne, a ruch zalecamy prowadzić symetrycznie, czyli w obie strony przez tę samą sieć.
  • „Najbliższy” według BGP bywa zaskakujący. Zdarza się, że ruch z Polski wchodzi przez punkt za granicą, bo tak zdecydował operator tranzytowy. Operatorzy sieci anycastowych korygują to politykami BGP: prependami, communities i doborem tranzytów.
  • Diagnostyka wymaga narzędzi. Traceroute z różnych miejsc pokazuje różne węzły, co bywa mylące. Pomagają looking glass i sondy w wielu lokalizacjach. Routing naszej sieci sprawdzisz w Looking Glass.

Najczęstsze pytania

Czy anycast działa z grami online i innymi usługami na TCP i UDP? Tak, pod warunkiem stabilnych tras. Ruch z danego źródła powinien konsekwentnie wchodzić tym samym punktem, żeby sesje nie były zrywane. W sieciach ochrony DDoS to standardowe założenie projektowe.

Czy muszę mieć własny AS, żeby skorzystać z anycastu? Nie. Jeśli masz własne prefiksy, rozgłaszamy je z AS202520. Jeśli nie, możesz skorzystać z naszych adresów IPv4, na przykład w tunelu GRE.

Czy anycast obniża opóźnienia? Zwykle tak, bo użytkownik wchodzi do sieci w punkcie bliskim swojemu operatorowi. Dla ochrony DDoS ważniejsze jest jednak to, że atak rozkłada się na wiele łączy.

Czy to to samo co CDN? Nie. CDN używa anycastu albo DNS do kierowania użytkowników do najbliższej kopii treści. Sieć ochrony DDoS używa anycastu do przyjmowania całego ruchu do Twoich adresów, filtrowania go i oddawania czystego ruchu do Twojej infrastruktury.

Chcesz wiedzieć, jak wyglądałoby to w Twojej sieci? Opisz nam swoją infrastrukturę, a zaproponujemy sposób podłączenia i poziom ochrony.

Kontakt

Porozmawiajmy o Twojej infrastrukturze

Opisz, co chronisz lub utrzymujesz, a zaproponujemy wariant usługi i sposób podłączenia.

Po wysłaniu formularza wracamy do Ciebie z pytaniami o szczegóły albo z propozycją kolejnego kroku: rozmowy, testów lub oferty.