Słownik

Co to jest BGP FlowSpec?

BGP FlowSpec (RFC 8955) to rozszerzenie BGP, które rozsyła granularne reguły filtrowania ruchu (adres, port, protokół). Jest precyzyjniejsze niż RTBH.

Ostatnia aktualizacja:

BGP FlowSpec to rozszerzenie protokołu BGP zdefiniowane w RFC 8955 (który zastąpił RFC 5575). Pozwala rozsyłać przez sesje BGP granularne reguły filtrowania ruchu zamiast samych tras. Pojedyncza reguła opisuje przepływ wieloma kryteriami (adresem źródłowym i docelowym, protokołem, portami, długością pakietu, flagami TCP czy fragmentacją) i wiąże go z akcją, na przykład odrzuceniem pakietów, ograniczeniem pasma (rate-limit), przekierowaniem do VRF lub oznaczeniem DSCP. Dzięki temu operator może zablokować dokładnie ruch ataku, nie poświęcając całego prefiksu jak w RTBH.

Jak działa FlowSpec

FlowSpec wykorzystuje osobną rodzinę adresową BGP: dla IPv4 jest to AFI/SAFI 1/133, dla IPv6 to 2/133, a wariant L3VPN używa SAFI 134. Reguły są więc przenoszone tym samym mechanizmem co trasy, lecz w odrębnym NLRI. Reguła dopasowania składa się z komponentów filtrujących, a akcje koduje się jako rozszerzone społeczności BGP (extended communities). Router, który odbierze anons FlowSpec, po walidacji instaluje regułę w sprzęcie (ASIC) jako wpis filtrujący działający z prędkością łącza.

  • Komponenty dopasowania (typy od 1 do 12): prefiks docelowy, prefiks źródłowy, protokół IP, port, port źródłowy i docelowy, typ oraz kod ICMP, flagi TCP, długość pakietu, DSCP i fragmentacja.
  • Akcje (kodowane jako rozszerzone społeczności): traffic-rate (odrzucenie przez ustawienie 0 b/s lub ograniczenie pasma), traffic-action (próbkowanie lub bit terminal), przekierowanie do VRF, przekierowanie na adres IP oraz traffic-marking (przepisanie pola DSCP).
  • Walidacja: domyślnie router akceptuje regułę tylko wtedy, gdy jej nadawca jest najlepszą drogą do prefiksu docelowego, co chroni przed wstrzyknięciem fałszywych filtrów.
  • Dystrybucja: reguły można propagować wewnątrz AS (iBGP, route reflektor) oraz między systemami autonomicznymi (eBGP), w tym do operatora upstream.

FlowSpec a RTBH

RTBH (Remotely Triggered Black Hole) działa na poziomie całego prefiksu: ogłasza się trasę z odpowiednią społecznością blackhole, a cały ruch do danego adresu jest odrzucany na brzegu sieci lub u operatora upstream. Jest prosty i szeroko wspierany, ale gruboziarnisty, bo odcina też ruch legalny do atakowanego celu, czyli kończy atak kosztem dostępności ofiary. FlowSpec działa precyzyjniej: filtruje po porcie, protokole czy długości pakietu, więc usługa pozostaje dostępna dla ruchu legalnego, a zamiast twardego odrzucenia można zastosować ograniczenie pasma lub przekierowanie do scrubbingu. Ceną jest większa złożoność, ryzyko wyczerpania zasobów TCAM/ASIC oraz nierówne wsparcie i limity reguł na różnych platformach.

Zastosowania i ograniczenia

FlowSpec stosuje się głównie do automatycznego łagodzenia DDoS. System detekcji (NetFlow/IPFIX) generuje reguły dopasowane do sygnatury ataku i rozsyła je w ciągu sekund. Bywa też używany do egzekwowania polityk filtrowania w dużych sieciach. Trzeba jednak pamiętać o ograniczeniach: liczba reguł instalowanych w sprzęcie jest skończona, a źle skonstruowana reguła międzydomenowa może zablokować ruch szerzej, niż zamierzano. Dlatego wiele sieci ogranicza akceptowane akcje (np. tylko do odrzucenia i ograniczenia pasma) i wymaga ścisłej walidacji.

FlowSpec w sieci AS202520 SkyPass

AS202520 SkyPass wspiera FlowSpec i RTBH jako element ochrony Anti-DDoS dla klientów tranzytu IP i peeringu. Reguły FlowSpec rozsyłamy z routerów brzegowych w PoP w Warszawie i Wrocławiu, co pozwala blokować lub ograniczać ruch ataku precyzyjniej niż samym blackholingiem, zanim nasyci on uplink. Dla klientów peerujących na polskich IXP-ach (w THINX, w TPIX, we WRIX, w POZIX, 1-IX) oraz korzystających ze zdalnego dostępu do tych punktów łączymy FlowSpec, RTBH i scrubbing w spójny model łagodzenia, dopasowany do pojemności łącza i charakteru ataku.

Najczęstsze pytania

Który RFC definiuje BGP FlowSpec?

Aktualnym standardem jest RFC 8955 (2020), który zastąpił pierwotny RFC 5575. Rozszerzenia dla IPv6 opisuje RFC 8956.

Czym FlowSpec różni się od RTBH?

RTBH odrzuca cały ruch do całego prefiksu, poświęcając też ruch legalny. FlowSpec dopasowuje się po porcie, protokole i innych polach, więc blokuje lub ogranicza tylko ruch ataku, a usługa pozostaje dostępna.

Czy FlowSpec można rozsyłać między systemami autonomicznymi?

Tak, reguły można propagować przez eBGP, w tym do operatora upstream. W praktyce wiele sieci ogranicza wtedy dozwolone akcje (np. tylko odrzucenie i ograniczenie pasma) i stosuje ścisłą walidację, by uniknąć nadużyć.

Jakie są główne ograniczenia FlowSpec?

Skończona liczba reguł instalowanych w sprzęcie (TCAM/ASIC), nierówne wsparcie na różnych platformach oraz ryzyko, że źle skonstruowana reguła zablokuje ruch szerzej, niż zamierzano.

Powiązane artykuły