Co to jest BCP38?
BCP38 (RFC 2827) to zalecenie filtrowania ruchu z fałszywym adresem źródłowym na brzegu sieci, co ogranicza spoofing i ataki DDoS z amplifikacją.
Ostatnia aktualizacja:
BCP38 to dokument IETF (RFC 2827, Best Current Practice nr 38) zalecający walidację adresu źródłowego (source address validation), czyli filtrowanie na brzegu sieci pakietów, których adres źródłowy nie mógł legalnie pochodzić z danego interfejsu. Celem jest powstrzymanie spoofingu IP, czyli podszywania się pod cudzy adres źródłowy, który jest podstawą wielu ataków DDoS opartych na odbiciu i amplifikacji. Zasada jest prosta: jeśli pakiet wchodzi do sieci z adresem źródłowym, który nie należy do zakresu przypisanego klientowi lub łączu, należy go odrzucić.
Na czym polega spoofing i dlaczego jest groźny
W nagłówku IP adres źródłowy nie jest w żaden sposób uwierzytelniany, więc nadawca może go dowolnie sfałszować. Atakujący wykorzystuje to, by wysłać niewielkie zapytania do otwartych usług (DNS, NTP, memcached, SSDP) z podstawionym adresem ofiary. Serwery odpowiadają znacznie większym pakietem skierowanym do ofiary, generując atak z amplifikacją. Bez walidacji adresu źródłowego operator nieświadomie przepuszcza sfałszowany ruch i staje się elementem infrastruktury ataku.
- Ataki refleksyjne i amplifikacyjne (DNS, NTP, memcached) wymagają sfałszowanego adresu źródłowego, by skierować odpowiedzi na ofiarę.
- Spoofing utrudnia atrybucję, bo prawdziwe źródło ruchu jest ukryte za podstawionym adresem.
- Sieć przepuszczająca spoofing trafia na listy reputacyjne i bywa źródłem skarg od innych operatorów.
- BCP38 nie chroni własnej sieci przed atakiem, lecz uniemożliwia jej udział w atakach na innych.
Jak wdraża się BCP38: filtry i uRPF
Walidację adresu źródłowego realizuje się najbliżej krawędzi, tam gdzie znany jest legalny zakres adresów. W praktyce stosuje się dwie metody. Pierwszą są jawne listy ACL na portach klienckich, które przepuszczają wyłącznie prefiksy przypisane danemu klientowi. Drugą jest uRPF (Unicast Reverse Path Forwarding), opisany w RFC 3704, który automatycznie sprawdza, czy istnieje trasa powrotna do adresu źródłowego przez interfejs wejściowy.
- Tryb strict uRPF: pakiet przechodzi tylko, gdy najlepsza trasa do jego adresu źródłowego prowadzi przez interfejs, na którym pakiet wpłynął. Nadaje się do łączy klienckich z jedną ścieżką.
- Tryb loose uRPF: sprawdza jedynie, czy adres źródłowy w ogóle istnieje w tablicy routingu. Jest bezpieczniejszy przy asymetrycznym routingu, ale słabszy.
- Statyczne ACL: precyzyjne i przewidywalne, lecz wymagające ręcznej aktualizacji przy zmianie przydziału adresów.
- Filtrowanie należy stosować na brzegu dostępowym (porty klientów), a nie wyłącznie na styku z tranzytem.
BCP38, MANRS i ograniczenia
Walidacja adresu źródłowego (anti-spoofing) jest jednym z czterech podstawowych działań inicjatywy MANRS, obok filtrowania tras, koordynacji oraz globalnej walidacji, czyli publikowania własnej polityki routingu w IRR i RPKI. BCP38 ma jednak ograniczenia: skuteczność zależy od wdrożenia przez jak najwięcej sieci, a w środowiskach z routingiem asymetrycznym lub multihomingiem strict uRPF może odrzucać legalny ruch. Dlatego filtruje się najbliżej źródła, gdzie zakres adresów jest jednoznaczny, a w głębi sieci stosuje łagodniejsze metody. BCP38 nie eliminuje DDoS, lecz odcina sfałszowany ruch u źródła i zmniejsza skalę ataków refleksyjnych w całym internecie.
BCP38 w sieci AS202520 SkyPass
Jako operator AS202520 SkyPass stosuje walidację adresu źródłowego na portach klienckich w PoP-ach w Warszawie i Wrocławiu. Filtry oparte na przydzielonych prefiksach łączymy z uRPF tam, gdzie topologia na to pozwala. W efekcie ruch wchodzący do naszej sieci i wychodzący do polskich punktów wymiany ruchu (THINX, TPIX, WRIX, 1-IX) oraz do tranzytu IP nie przenosi sfałszowanych adresów źródłowych. Walidacja jest częścią naszego zgodnego z MANRS podejścia do bezpieczeństwa routingu i uzupełnia RPKI oraz ochronę DDoS oferowaną klientom peeringu i tranzytu.
Najczęstsze pytania
Czym różni się BCP38 od uRPF?
BCP38 (RFC 2827) to zalecenie, czyli ogólna zasada walidacji adresu źródłowego. uRPF to jeden z mechanizmów technicznych, który realizuje tę zasadę na routerze, sprawdzając trasę powrotną do adresu źródłowego.
Czy strict uRPF można stosować na łączu multihomed?
Niezalecane. Przy routingu asymetrycznym strict uRPF może odrzucać legalny ruch, bo trasa powrotna prowadzi przez inny interfejs. Lepszy jest tryb loose lub statyczne ACL dopasowane do przydzielonych prefiksów.
Czy BCP38 chroni moją sieć przed atakiem DDoS?
Nie bezpośrednio. BCP38 uniemożliwia wysyłanie sfałszowanego ruchu z Twojej sieci, więc nie staje się ona źródłem ataków refleksyjnych. Ochroną przed atakami przychodzącymi zajmują się usługi anty-DDoS.
Gdzie najlepiej wdrożyć walidację adresu źródłowego?
Najbliżej źródła, czyli na portach dostępowych klientów, gdzie zakres legalnych adresów jest jednoznaczny. Filtrowanie wyłącznie na styku z tranzytem jest mniej skuteczne i nie zatrzymuje spoofingu lokalnych klientów.
