Quagga routing i bezpieczeństwo

11

Mam router quagga z dwoma tranzytowymi sąsiadami i ogłaszam własną przestrzeń IP. Niedawno dołączyłem do publicznej wymiany peeringu (IXP), więc jestem częścią ich lokalnej sieci (/ 24) wraz ze wszystkimi innymi uczestnikami. Jak dotąd wszystko działa dobrze.

Teraz dla bezpieczeństwa zastanawiam się, czy inni uczestnicy nie mogliby po prostu przekierować całego mojego ruchu wychodzącego przeze mnie? Na przykład, co się stanie, jeśli inny uczestnik wskaże domyślną trasę do mojego adresu IP IXP. Jeśli dobrze zrozumiem, cały ruch wychodzący od tego uczestnika trafiłby następnie do mojego routera, który skierowałby go do Internetu za pomocą mojego łącza tranzytowego, prawda?

Zastanawiam się więc, czy muszę podjąć przeciwko temu jakieś środki. Moje pomysły to:

  1. Skonfiguruj reguły zapory ogniowej (iptables), aby tylko ruch z miejscem docelowym mojej własnej przestrzeni IP był akceptowany przez innego uczestnika IXP. Usuń wszelki inny ruch od uczestników IXP.

  2. W jakiś sposób quagga używa innej tabeli routingu jądra dla każdego sąsiada (lub grupy równorzędnej). Tabela routingu dla sąsiadów IXP nie zawierałaby żadnych wpisów poza moją własną przestrzenią IP, więc nie wystąpiłby żaden routing przy użyciu moich połączeń wysyłających ip. Patrząc na wyniki ip rule showshow quagga nie robi tego automatycznie?

Czy jestem na dobrej drodze? Dlaczego 2. nie jest zaimplementowane bezpośrednio w Quagga? Jak routery sprzętowe (Cisco, Jałowiec, ..) radzą sobie z tym problemem?

Alessandro
źródło
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:

9

Masz rację, jeśli nie podejmiesz żadnych działań, może się to zdarzyć. Jest to naruszenie zasad dopuszczalnego użytkowania większości IXP, jakie znam, ale nadal chcesz temu zapobiec.

Twoje pierwsze rozwiązanie jest dobre i rozwiąże problem. Tylko upewnij się, że nie śledzisz stanu sesji w iptables, co prawdopodobnie zabije wydajność, a nawet router.

Możesz również rozważyć filtrowanie danych wychodzących w podobny sposób: nie pozwól pakietom opuścić sieci pochodzącej z nieznanych źródeł. Zapobiegnie to wysyłaniu przez hosty w sieci fałszywych pakietów IP, które są często używane w atakach DDoS.

Nie wdrożyłbym drugiego rozwiązania. Jest to skomplikowane i nie skaluje się dobrze, jeśli masz wiele routerów obsługujących twoje tranzyty i połączenia równorzędne lub jeśli masz dużą liczbę sesji równorzędnych (kilka hunderdetów na IXP nie jest rzadkością).

Na wszystkich platformach routerów sprzętowych wiem, że ten problem został rozwiązany w konfiguracji poprzez skonfigurowanie RPF na interfejsie wychodzącym i / lub przez napisanie filtrów.

Teun Vink
źródło
0

O ile rozumiem, masz 2 połączenia z dostawcami tranzytowymi i 1 połączenie z punktem peering, w tej sytuacji zakładam, że używasz BGP do peerowania ze swoimi dostawcami tranzytowymi i routerem IXP.

Sposób działania BGP polega na tym, że inni mogą dotrzeć tylko do miejsc docelowych, które im reklamujesz. Na przykład masz / 24 i zareklamujesz to swoim dostawcom tranzytowym, aby hosty w Internecie mogły do ​​ciebie dotrzeć za pośrednictwem tranzytowych partnerów, a także zareklamujesz swój / 24 do punktu peering, aby hosty podłączone do punktu peering mogły dotrzeć do ciebie bezpośrednio, bez konieczności przeglądania Internetu (ponieważ byłaby to najlepsza ścieżka).

W przypadku sesji BGP normalnie filtrowałbyś to, co reklamujesz swoim rówieśnikom i to, co reklamują ci (jeśli masz dalszych użytkowników) z listą prefiksów, na przykład. Zasadniczo nie filtrujesz danych przychodzących z giełdy komunikacji równorzędnej, ponieważ giełda wysyła tylko trasy osób połączonych na giełdzie. Jest to podobne do dostawców usług tranzytowych, z tym że zazwyczaj wysyłają ci pełną globalną tabelę routingu (wszystkie miejsca docelowe w Internecie).

W tej sytuacji należy dodać listę prefiksów pasującą do listy ACL w kierunku wychodzącym w sesji BGP podłączonej do punktu komunikacji, aby reklamować tylko prefiks / 24, co pozwoli hostom na wymianie komunikacji równorzędnej dotrzeć do adresów IP tylko w twoim / 24 za pośrednictwem twojego router (który jest tym, czego chcesz).

Jeśli ktoś reklamuje Ci domyślną trasę, a Ty ją akceptujesz, nie będziesz przejmował jej ruchu i wysyłał go do Internetu. W tej sytuacji zobaczysz za ich pośrednictwem trasę do Internetu, ponieważ router zobaczy przez nich trasę do 0.0.0.0/0 (Internet), ponieważ reklamowali ci ją.

Hosty podłączone do centrali równorzędnej będą widziały za pośrednictwem Internetu tylko wtedy, gdy samodzielnie reklamujesz domyślną trasę do centrali. Jedynym innym razem, kiedy możesz zostać wykorzystany jako „tranzyt AS”, jest to, że masz klientów, którzy są z Tobą w grupie równorzędnej i proszą Cię o reklamowanie ich przestrzeni IP w IXP, aby mogli oni dotrzeć do wymiany za pośrednictwem Ciebie.

Fitzi
źródło