Użyj BGP, aby obronić się przed atakiem DDoS pochodzącym ze zdalnego AS


16

Mam pytanie dotyczące BGP i sposobu osiągnięcia tej konfiguracji.

Mój główny router korporacyjny jest podłączony do usługodawcy internetowego (single homed). Ten router już wymienił określone publiczne prefiksy IP do dostawcy usług internetowych w aktualizacjach BGP. Powiedzmy teraz, że w odległości kilku przeskoków znajduje się AS, który zalewa mój lokalny AS atakiem DDoS. W tym AS znajduje się wiele sieci atakujących serwery sieciowe w moim lokalnym AS.

Jak możemy zatrzymać ten ruch na naszym routerze za pomocą BGP?

Doceń swoją odpowiedź !! :)


2
Jak ustaliłeś źródło tego ruchu? Jeśli patrzysz tylko na źródłowe adresy IP, mogą być sfałszowane. Powódź pakietów wszystkich fałszywych adresów źródłowych w jednym AS jest tym, co zobaczysz, jeśli nastąpi atak odbicia.
kasperd

Czy jakaś odpowiedź ci pomogła? jeśli tak, powinieneś zaakceptować odpowiedź, aby pytanie nie wyskakiwało wiecznie, szukając odpowiedzi. Alternatywnie możesz podać i zaakceptować własną odpowiedź.
Ron Maupin

Odpowiedzi:


14

Istnieją dwie rzeczy, które możesz zrobić z BGP:

RTBH - zdalnie sterowana czarna dziura

Pierwsza opcja jest radykalna: Blackhole (zatrzymaj ruch) dla atakowanego adresu IP. Wada: docelowy adres IP nie jest już osiągalny. Korzyść: reszta Twojej sieci pozostaje bezczynna. Packetlife ma ładne wyjaśnienie, jak to działa i jak to zrobić. Druga opcja opiera się na pierwszej:

RTBH oparty na źródłach

RTBH może być również używany (w niektórych konfiguracjach) do blokowania ruchu przychodzącego z określonych adresów IP (w prawdziwym DDoS, który nie pomógłby tak bardzo, jak ruch przychodzący z tysięcy adresów IP). Ponownie, Packetlife ma wyjaśnienie.

W twoim przypadku możesz uzyskać wszystkie prefiksy dla AS z bazy danych routingu, takich jak RADB, i zablokować je za pomocą RTBH opartego na źródle. Jednak ruch graniczny nadal uderzyłby w twoją sieć na granicy.

Gdy używasz „prostej” RTBH, zaletą jest to, że możesz wysyłać te trasy RTBH do swojego Upstream ISP (jeśli go obsługują), który mógłby następnie zablokować ruch w swojej sieci, więc nie musisz go obsługiwać.


Metoda opisana przez Packetlife jest pomocna, ale nie przyda się w scenariuszu, w którym łącza wysyłające są nasycone ruchem ataków. Napisałem odpowiedź na temat korzystania ze społeczności górnych dziur w celu rozwiązania tego problemu.
Elliot B.

2
To jest w moim ostatnim zdaniu: „Kiedy używasz„ prostej ”RTBH, zaletą jest to, że możesz wysłać te trasy RTBH do swojego Upstream ISP (jeśli go obsługują), który mógłby wtedy zablokować ruch w ich sieci, więc nie masz sobie z tym poradzić ”.
Sebastian Wiesinger

Widziałem to, ale chciałem szczegółowo opisać metodę czarnej dziury wywołaną przez klienta i wskazać, że „[nie trzeba] obsługiwać” oznacza, że ​​inaczej czarna dziura nie byłaby skuteczna. Nie zamierzam pukać do twojej odpowiedzi, po prostu dostarczając więcej informacji :)
Elliot B.

7

Metoda RTBH opisana przez @Sebastian za pośrednictwem Packetlife jest pomocna, ale ta metoda będzie działać tylko wtedy, gdy łącze wysyłające nie będzie nasycone ruchem atakowym . Jeśli łącze ładujące jest nasycone, blackhole musi zostać zaimplementowany w punkcie, zanim ruch atakujący dotrze do sieci.

Możesz to osiągnąć za pomocą społeczności Blackhole.

Hurricane Electric oferuje proste wyjaśnienie / przykład blackholingu wywołanego przez klienta ze społecznością BGP:

  1. Początek ataku
  2. Klient identyfikuje atakowany adres IP lub ip
  3. Klient statyczny kieruje zakres ip lub ip do Null0 i dodaje ogłoszenie odpowiedniego przedrostka z mapą trasy, która oznacza go 6939: 666.

Przykład konfiguracji Cisco (gdzie XXXX to atakowany adres IP):

conf t
ip route X.X.X.X 255.255.255.255 Null0
router bgp YourAS
network X.X.X.X mask 255.255.255.255 route-map blackhole
route-map blackhole permit 10
set community 6939:666
end

Zauważ, że 6939:666jest to społeczność blackhole związana z Hurricane Electric. Zmodyfikowałbyś tę wartość, aby odpowiadała społeczności blackhole twojego dostawcy.

Istnieje oczywiście wiele sposobów na skonfigurowanie tego. W moim sprzęcie Brocade używam następującej konfiguracji:

router bgp
!
redistribute static route-map blackhole
!
!
route-map blackhole permit  5
 match tag  66
 set community  55555:666

Gdzie 55555:666jest społeczność Blackhole Twojego dostawcy usług. Następnie można zastosować czarną dziurę za pomocą prostego polecenia:

ip route 123.123.123.123 255.255.255.255 null0 tag 66

4

Z perspektywy BGP niewiele można zrobić. Możesz przestać reklamować swój prefiks, ale właśnie kończysz atak DoS, ponieważ nikt nie będzie mógł uzyskać dostępu do Twojej usługi.

Jeśli masz wiele prefiksów, możesz zmienić numerację, ale prawdopodobnie atak przeniesie się również na nowy prefiks.

To, co musisz zrobić, to pracować z upstream. Czy mają usługę szorowania? Jeśli mają system taki jak Arbor Peakflow, mogą szorować ruch i wyczyścić go, zanim wejdzie on do sieci. Takie usługi są często bardzo drogie.

Istnieją również inne opcje, takie jak Cloudflare i podobne firmy, w których konfigurujesz BGP przez tunel GRE do tej firmy, a twój ruch jest obsługiwany przez ich „chmurę”, która może obsłużyć znacznie większy ruch niż twoje urządzenia lokalne.


0

Pracuję dla CloudFlare, chciałbym podzielić się częścią mojej wiedzy na temat ograniczania ataków DDOS w ciągu ostatnich kilku miesięcy, kiedy tu jestem.

Po pierwsze; wiele osób stosuje środki na poziomie sieci, aby złagodzić ataki DDOS warstwy aplikacji. Przed nurkowaniem na BGP Blackholing zastanów się, czy może to poradzić sobie z ograniczeniem szybkości lub ochroną warstwy aplikacji. To mówi; teraz bardzo tanio jest przeprowadzać ataki DDOS o bardzo dużej pojemności (biorąc pod uwagę, ile jest w pobliżu otwartych rekursorów DNS i jak mogą wzmocnić ataki).

Jak Elliot opisał w swojej odpowiedzi, użycie BGP Communities do blackhole traffic może działać dobrze, jeśli twoja sieć jest mała; mechanizm ten jest udokumentowany w RFC 3882 . Jednak, podobnie jak my, jeśli zamiast tego chcesz pochłonąć ruch atakowy zamiast blackhole (tj. Chcesz zebrać dane o atakach DDOS ), strzeż się szkód ubocznych, w wyniku których dostawcy sieci pośredniczących mogą być przeciążeni. Możesz zmniejszyć szkody dodatkowe, sprawdzając bezpośrednio z dostawcami usług internetowych, którzy przeprowadzają ataki. W ten sposób masz najkrótszą drogę od atakującego do miejsca docelowego. Dodatkowo możesz zaimplementować projekt sieci Anycast , co oznacza, że ​​jeden adres IP trafia do wielu centrów danych (w zależności od tego, który jest najbliższy).

Oczywiście nie jest możliwe, aby każda firma posiadała infrastrukturę umożliwiającą wykonanie Anycast i peering; dlatego firmy coraz częściej zwracają się do usług w chmurze, aby usunąć zły ruch, zanim dotrze on do swoich centrów danych. Oczywiście CloudFlare jest jedną z takich usług.


-1

Jeśli wszystkie zebrane przez ciebie dowody to zalew pakietów ze źródłowymi adresami IP z jednego konkretnego AS, prawdopodobnie doszedłeś do błędnego wniosku. Bardziej prawdopodobne jest, że te źródłowe adresy IP są sfałszowane.

Atak refleksyjny / wzmacniający polega na wysyłaniu wielu pakietów fałszujących źródłowy adres IP ofiary. Jeśli tak właśnie się dzieje, a masz w sieci serwery, które mogą wzmocnić atak, to sieć, którą zarzucasz atakowi, jest w rzeczywistości ofiarą i pomagasz atakującemu.

W takiej sytuacji rozwiązaniem nie jest stosowanie inżynierii ruchu, a raczej skonfigurowanie serwerów tak, aby nie można było ich użyć w ataku wzmacniającym. Jak to zrobić, nie jest tak naprawdę kwestią inżynierii sieci.

Oczywiście jest możliwe, że wszystkie pakiety pochodzą z jednego AS. Dzięki współpracy z obrażającego się AS można uzyskać potwierdzenie, że pakiety faktycznie pochodzą z ich AS. Jednak przy takim poziomie współpracy można również zablokować atak u źródła.

Jeśli założymy, że masz jakąś metodę, nie pomyślałem o otrzymaniu potwierdzenia, że ​​pakiety naprawdę pochodzą z AS, jak myślisz, i że nie możesz zablokować go u źródła i zamiast tego chcę zablokować za pomocą BGP, to ja przeczytałem o nieco ryzykownej metodzie osiągnięcia tego celu. Chodzi o to, że przygotowujesz ścieżkę AS do ogłoszonej trasy. W tej przygotowanej ścieżce AS podajesz numer AS źródła tych pakietów.

Gdy ogłoszenie dotrze do routerów BGP w naruszającym się AS, wykrywają pętlę i upuszczają komunikat. Tymczasem reszta świata nie zobaczy pętli i nie zaakceptuje ogłoszenia.

To jest teoria. To, czy rzeczywiście zadziała w praktyce, zależy od kilku różnych czynników. Na przykład zależy to od faktycznego wykorzystania numeru AS, z którego pochodzą pakiety, który może być inny niż numer AS ogłaszający te adresy IP. (Taka różnica może być uzasadniona lub z powodu fałszowania).

Zależy to również od tego, czy twoja przesyłka nie filtruje trasy, jeśli stwierdzi podejrzenie ścieżki AS. Co więcej, sieci znajdujące się dalej od ciebie mogą również zrzucić twoją trasę, na przykład, jeśli miały również złe doświadczenia z obrażającym się AS i zdecydowały się zrzucić wszystkie trasy z tego miejsca.

Od ciebie zależy, czy takie podejście jest warte ryzyka.

(Gdybym mógł znaleźć to ponownie, powiązałbym to źródło).


2
To jest bardzo niebezpieczne. Sfałszujesz inny AS na swojej drodze, którego nie posiadasz. Również jeśli inne osoby zrzucą trasy z tego AS, również zrzucą twoje trasy.
Sebastian Wiesinger

1
@Sebastian Prawda, że ​​ryzyko to istnieje. Ale jeśli alternatywą jest sieć, która jest nieosiągalna z powodu zalania ruchem, warto zaryzykować.
kasperd

To brzmi jak bardzo zły pomysł, nigdy wcześniej o nim nie słyszałem. Przerywa łączność dla całego ASN, gdy istnieje jeden węzeł botnetu, co nie jest tym, czego potrzebujesz, np. Dla dużych dostawców chmury. Ponadto źle skaluje się z DDoS, w których tysiące węzłów botnetów atakują coś w Twojej sieci.
Teun Vink

1
@TeunVink Zdecydowanie nie dotyczy to typowego ataku DDoS. Ale OP nie pyta o typowy atak DDoS. Pyta o atak, w którym cały ruch pochodzi z jednego AS. Zerwanie łączności z jednym AS byłoby dopuszczalne, gdyby alternatywą był atak przerywający łączność z całym Internetem.
kasperd

-2

Możesz blackhole ich AS z sieci lokalnej, dzięki czemu router BGP tworzy trasy zerowe dla każdego ogłoszonego przedrostka.

Zawodowiec:

  • twój AS będzie dla nich martwy, co jest ich celem, podczas gdy nadal normalnie wymieniasz dane ze wszystkimi.
  • lokalne filtrowanie wejścia automatycznie usunie przychodzące pakiety z tego AS

Contra:

  • mogą tworzyć trasy blackhole na routerze, więc upewnij się, że obowiązują odpowiednie zasady, aby utrzymać najważniejsze trasy nietknięte

1
Blackholing całego AS oznacza, że ​​sam skończysz DOS. Nikt inny w tym AS nie może się z tobą skontaktować. Twoi klienci mogą być również w tym AS.
Ron Trunk

1
Zakładam tutaj wrogi AS, tzn. Zanotowanie wartości zostaje utracone, jeśli całkowicie je zablokujesz. Istnieje kilka usług „kuloodpornego hostingu”, które zgłosiłbym do tej kategorii.
Simon Richter,

1
Większość ASN-ów nie jest całkowicie wroga ani przyjazna, tylko zawierają niektóre hosty, które są częścią botnetu. Takie podejście nie zapobiega zalaniu twoich linków, więc nie pomoże ci powstrzymać ataków DDoS opartych na wolumenie.
Teun Vink
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.