BGP FlowSpec filtruje ruch DDoS z prędkością łącza, wypychając granularne reguły wprost na routery. Jak działa, kto obsługuje, gdzie są granice.
Krótka odpowiedź: BGP FlowSpec to rozszerzenie protokołu BGP (RFC 8955 dla IPv4, RFC 8956 dla IPv6), które rozprowadza po sieci granularne reguły filtrowania ruchu. Routery odrzucają lub ograniczają przepustowość złośliwych przepływów z prędkością łącza, wprost w płaszczyźnie przekazywania (forwarding plane). Zamiast blokować w czarnej dziurze cały ruch do danego celu, FlowSpec dopasowuje konkretny ruch — po źródle, celu, protokole, porcie, długości pakietu lub flagach TCP — i działa tylko na nim, dzięki czemu usługa zostaje dostępna w trakcie ataku DDoS.
Najważniejsze w skrócie
- FlowSpec = chirurgiczne filtrowanie DDoS: dopasuj 5-tuple, a potem odrzuć lub ogranicz przepustowość tylko tego ruchu.
- Ustandaryzowany w RFC 8955 (IPv4) i RFC 8956 (IPv6), które zastąpiły pierwotny RFC 5575.
- Reguły przenoszone są przez MP-BGP i zamieniają się w sprzętowe filtry firewall — odfiltrowanie ataku w kilka sekund, w skali całej sieci.
- Obsługiwany przez platformy Juniper, Cisco, Arista i Nokia.
- Jego ograniczenie: niektórych zalewów z losowymi parametrami lub ataków adaptacyjnych nie da się wyrazić zwięzłą regułą, i wtedy pałeczkę przejmuje RTBH.
Czym jest BGP FlowSpec?
BGP FlowSpec (Flow Specification) to rozszerzenie protokołu Border Gateway Protocol, które pozwala sieci rozprowadzać reguły filtrowania ruchu tak samo, jak rozprowadza trasy. Zdefiniowany w RFC 8955 (grudzień 2020) dla IPv4 i RFC 8956 dla IPv6, koduje dopasowanie (flow specification) oraz akcję (odrzucenie, ograniczenie przepustowości, przekierowanie lub oznaczenie) w BGP NLRI, dzięki czemu jedno rozgłoszenie może zaprogramować filtry na wszystkich uczestniczących routerach naraz.
RFC 8955 zastąpił pierwotny RFC 5575, a to szczegół, który ma znaczenie, bo spora część dostępnych w sieci materiałów o FlowSpec wciąż powołuje się na przestarzały RFC. Jeśli dziś dokumentujesz lub konfigurujesz FlowSpec, powołuj się na RFC 8955 i RFC 8956.
Jak działa BGP FlowSpec?
FlowSpec zamienia aktualizację BGP w regułę firewall. Kontroler (lub router) tworzy trasę flow opisującą złośliwy ruch; MP-BGP propaguje ją wewnątrz AS i między AS; a każdy router, który ją odbierze, automatycznie zamienia trasę flow w sprzętowy filtr firewall i instaluje go w płaszczyźnie przekazywania. W Junos na przykład trasy flow stają się filtrami firewall dla IPv4 i VPNv4, które jednocześnie dopasowują i ograniczają przepustowość z prędkością łącza.
Flow specification może dopasowywać wiele komponentów naraz, w tym:
- Prefiks źródłowy i docelowy
- Protokół IP (TCP, UDP, ICMP…)
- Port źródłowy i docelowy
- Długość pakietu, DSCP, bity fragment oraz flagi TCP
Powiązana akcja to zwykle traffic-rate (odrzucenie = rate 0 lub policer bajtów na sekundę), redirect do VRF-a scrubbingu (czyszczenia ruchu) lub mark (DSCP). Ponieważ filtr działa sprzętowo, egzekwowanie odbywa się z prędkością łącza, bez dodatkowego opóźnienia dla legalnego ruchu.
Czym różni się BGP FlowSpec od RTBH?
FlowSpec i RTBH rozwiązują ten sam problem, czyli zatrzymanie zalewu na brzegu sieci, ale na przeciwnych poziomach precyzji. RTBH (Remotely Triggered Black Hole) odrzuca cały ruch do atakowanego adresu IP; poświęca jeden adres, by ocalić sieć. FlowSpec odrzuca tylko ruch ataku i utrzymuje cel online. FlowSpec to chirurgiczny skalpel; RTBH to prymitywne, ale niezawodne rozwiązanie awaryjne na wypadek, gdy zalew jest zbyt duży lub zbyt losowy, by go scharakteryzować. Dobrze prowadzony brzeg sieci używa najpierw FlowSpec, a RTBH tylko w ostateczności.
Którzy producenci obsługują BGP FlowSpec?
FlowSpec jest szeroko obsługiwany na platformach klasy operatorskiej, w tym Juniper (Junos), Cisco (IOS XR), Arista (EOS) i Nokia (SR OS). Zakres obsługi i skala różnią się w zależności od platformy i karty liniowej, zwłaszcza maksymalna liczba instalowalnych reguł flow oraz to, które komponenty dopasowania/akcji zaimplementowano, więc praktyczna liczba filtrów i zestaw funkcji zależą od Twojego sprzętu. Brama filtrująca Juniper MX od ITORO jest zbudowana wokół Junos FlowSpec właśnie z tego powodu: przewidywalne egzekwowanie z prędkością łącza na sprzęcie MX.
Gdzie są granice BGP FlowSpec?
FlowSpec jest potężny, ale nie nieograniczony, i warto uczciwie powiedzieć, gdzie sięgają jego granice:
- Skala reguł/TCAM. Każda reguła flow zajmuje miejsce w sprzętowej tablicy filtrów; platformy ograniczają, ile możesz ich zainstalować, więc bardzo duża liczba odrębnych sygnatur ataku może wyczerpać tablicę.
- Walidacja i bezpieczeństwo. FlowSpec zawiera procedurę walidacji (a wdrożenia między AS wymagają starannie wytyczonych granic zaufania), aby błędna lub przejęta reguła nie zablokowała w czarnej dziurze legalnego ruchu w całej sieci.
- Ataki nie do wyrażenia. FlowSpec potrafi zablokować tylko to, co da się opisać regułą. Zalewy z losowym źródłem lub losowym portem oraz ataki adaptacyjne opierają się zwięzłym regułom, bo nie da się wyliczyć milionów sfałszowanych źródeł. To właśnie te przypadki, w których wkracza RTBH lub scrubbing u operatora nadrzędnego.
Znajomość tych ograniczeń to różnica między strategią filtrowania, która wytrzyma prawdziwy atak, a taką, która się załamie.
Jak zautomatyzować BGP FlowSpec w ochronie przed DDoS?
Ręczne pisanie reguł FlowSpec w trakcie trwającego ataku jest zbyt wolne, bo zalewy nasycają łącza nadrzędne (uplink) w kilkadziesiąt sekund. W środowisku produkcyjnym FlowSpec jest sterowany przez system wykrywania, który rozpoznaje atak i generuje regułę automatycznie. Tak właśnie działa WanGuard anty-DDoS: wykrywa atak w kilka sekund (poniżej 5 sekund przy port-mirror w DPDK), buduje pasującą regułę FlowSpec i wypycha ją na Twoje routery, odrzucając złośliwe przepływy z prędkością łącza, podczas gdy Twoi klienci pozostają online, a do RTBH schodzi tylko wtedy, gdy zalew przekroczy to, co filtrowanie jest w stanie utrzymać.
Jak taki system wygląda od strony wdrożenia, opisujemy w tekście czym jest WanGuard. ITORO instaluje i stroi to od początku do końca dla operatorów ISP, telekomów i data center; sprawdź aktualny cennik i kalkulator.
Najczęstsze pytania
Do czego służy BGP FlowSpec?
BGP FlowSpec służy do rozprowadzania po sieci reguł filtrowania ruchu, dzięki czemu routery odrzucają lub ograniczają przepustowość konkretnych przepływów z prędkością łącza. Najczęstsze zastosowanie to chirurgiczne odfiltrowanie ataku DDoS bez blokowania w czarnej dziurze całego celu. Może też przekierować ruch na ścieżkę scrubbingu lub ponownie go oznaczyć.
Który RFC definiuje BGP FlowSpec?
RFC 8955 (grudzień 2020) definiuje BGP FlowSpec dla IPv4 i zastępuje pierwotny RFC 5575. RFC 8956 rozszerza FlowSpec na IPv6. Dokumentując lub konfigurując dziś FlowSpec, powołuj się na RFC 8955 i RFC 8956, a nie na przestarzały RFC 5575.
Jaka jest różnica między BGP FlowSpec a RTBH?
FlowSpec odrzuca lub ogranicza przepustowość tylko złośliwego ruchu, utrzymując atakowaną usługę online. RTBH blokuje w czarnej dziurze cały ruch do atakowanego adresu IP. FlowSpec jest chirurgiczny i używa się go w pierwszej kolejności; RTBH to prymitywna ostateczność na ataki zbyt duże lub zbyt losowe, by filtrować je granularnie.
Czy BGP FlowSpec zatrzyma każdy atak DDoS?
Nie. FlowSpec potrafi zablokować tylko ruch, który da się opisać regułą, a sprzęt ogranicza liczbę reguł, jakie router jest w stanie utrzymać. Zalewy z losowym źródłem lub losowym portem opierają się zwięzłym regułom, a wolumenu przekraczającego pojemność Twojego łącza nadrzędnego (uplink) nie da się odfiltrować lokalnie; w takich przypadkach schodzi się do RTBH lub zewnętrznego centrum scrubbingu.
Które routery obsługują BGP FlowSpec?
FlowSpec obsługują platformy klasy operatorskiej firm Juniper (Junos), Cisco (IOS XR), Arista (EOS) i Nokia (SR OS), choć maksymalna liczba reguł oraz dokładny zestaw zaimplementowanych komponentów dopasowania/akcji różnią się w zależności od platformy i karty liniowej.
Jak odeprzeć atak DDoS?
Skutecznie odeprzeć atak można tylko tam, gdzie jeszcze jest pasmo — czyli wyżej niż Twoje łącze. BGP FlowSpec pozwala rozesłać precyzyjną regułę (adres, protokół, port, rozmiar pakietu) na routery brzegowe i do operatora, który odrzuci ruch u siebie. W przeciwieństwie do blackholingu usługa zostaje dostępna dla prawidłowego ruchu.
Czy atak filtrowany przez FlowSpec trzeba zgłaszać?
Reguła FlowSpec kończy incydent technicznie, ale nie zwalnia z obowiązków informacyjnych. Podmioty objęte KSC mają ustawowe terminy zgłoszenia, a każdy poszkodowany może złożyć zawiadomienie o przestępstwie — terminy i kanały zebraliśmy w poradniku gdzie zgłosić atak DDoS.
Źródła
- IETF — RFC 8955, Dissemination of Flow Specification Rules (IPv4): https://www.rfc-editor.org/info/rfc8955/
- IETF — RFC 8956, Dissemination of Flow Specification Rules for IPv6: https://datatracker.ietf.org/doc/rfc8956/
- Juniper Networks — BGP Flow-Specification (Junos) documentation & "Day One: Deploying BGP Flowspec": https://www.juniper.net/documentation/en_US/day-one-books/DO_BGP_FLowspec.pdf
- NANOG 63 — "DDoS Mitigation Using BGP Flowspec" (Ryburn): https://archive.nanog.org/sites/default/files/tuesday_general_ddos_ryburn_63.16.pdf