Quagga Routing und Sicherheit

11

Ich habe einen Quagga-Router mit zwei Transitnachbarn und kündige meinen eigenen IP-Bereich an. Ich habe mich kürzlich einer öffentlichen Peering-Börse (IXP) angeschlossen und bin daher zusammen mit allen anderen Teilnehmern Teil ihres lokalen Netzwerks (/ 24). Bisher funktioniert alles gut.

Aus Sicherheitsgründen frage ich mich, ob andere Teilnehmer nicht einfach ihren gesamten ausgehenden Verkehr durch mich leiten konnten. Was passiert zum Beispiel, wenn ein anderer Teilnehmer eine Standardroute auf meine IXP-IP verweist? Wenn ich den gesamten ausgehenden Verkehr von diesem Teilnehmer richtig verstehe, wird er zu meinem Router geleitet, der ihn über meinen Transit-Uplink ins Internet weiterleitet, oder?

Ich frage mich also, ob ich etwas dagegen unternehmen muss. Meine Ideen sind:

  1. Richten Sie Firewall-Regeln (iptables) so ein, dass nur Datenverkehr mit einem Ziel meines eigenen IP-Bereichs von anderen IXP-Teilnehmern akzeptiert wird. Löschen Sie jeglichen anderen Datenverkehr von IXP-Teilnehmern.

  2. Lassen Sie quagga irgendwie eine andere Kernel-Routing-Tabelle für jeden Nachbarn (oder jede Peer-Gruppe) verwenden. Die Routing-Tabelle für die IXP-Nachbarn würde keine Einträge außer meinem eigenen IP-Bereich enthalten, sodass kein Routing mit meinen IP-Transit-Uplinks stattfinden würde. Betrachtet man die Ausgabe von ip rule showShows, macht quagga dies nicht automatisch?

Bin ich auf dem richtigen Weg? Warum ist 2. nicht direkt in Quagga implementiert? Wie gehen Hardware-Router (Cisco, Wacholder, ..) mit diesem Problem um?

Alessandro
quelle
Hat dir eine Antwort geholfen? Wenn ja, sollten Sie die Antwort akzeptieren, damit die Frage nicht für immer auftaucht und nach einer Antwort sucht. Alternativ können Sie Ihre eigene Antwort bereitstellen und akzeptieren.
Ron Maupin

Antworten:

9

Sie haben Recht, wenn Sie keine Maßnahmen ergreifen, kann dies passieren. Es ist ein Verstoß gegen die Richtlinien zur akzeptablen Nutzung der meisten IXPs, die ich kenne, aber Sie möchten dennoch verhindern, dass dies geschieht.

Ihre erste Lösung ist eine gute Sache und wird Ihr Problem lösen. Stellen Sie nur sicher, dass Sie den Sitzungsstatus in iptables nicht verfolgen, da dies wahrscheinlich die Leistung oder sogar Ihren Router beeinträchtigt.

Sie können auch eine ausgehende Filterung in ähnlicher Weise in Betracht ziehen: Lassen Sie nicht zu, dass Pakete Ihr Netzwerk verlassen, das aus unbekannten Quellen stammt. Dadurch wird verhindert, dass Hosts in Ihrem Netzwerk gefälschte IP-Pakete senden, die häufig bei DDoS-Angriffen verwendet werden.

Ich würde die zweite Lösung nicht implementieren. Es ist kompliziert und lässt sich nicht gut skalieren, wenn Sie mehrere Router haben, die Ihre Transits und Peerings verarbeiten, oder wenn Sie eine große Anzahl von Peering-Sitzungen haben (ein paar Hundert auf einem IXP sind nicht ungewöhnlich).

Ich weiß, dass dieses Problem auf allen Hardware-Router-Plattformen in der Konfiguration gelöst wird, indem RPF auf der ausgehenden Schnittstelle konfiguriert und / oder Filter geschrieben werden.

Teun Vink
quelle
0

Soweit ich weiß, haben Sie 2 Verbindungen zu Transitanbietern und 1 Verbindung zu einem Peering-Punkt. In dieser Situation gehe ich davon aus, dass Sie BGP verwenden, um mit Ihren Transitanbietern und einem IXP-Router zu vergleichen.

BGP funktioniert so, dass andere nur die Ziele erreichen können, für die Sie Werbung machen. Sie haben beispielsweise eine / 24 und werden dies Ihren Transitanbietern mitteilen, damit Hosts im Internet Sie über Ihre Transit-Peers erreichen können, und Sie würden Ihre / 24 auch für den Peering-Punkt bewerben, damit Hosts, die mit dem Peering-Punkt verbunden sind, dies können Sie direkt erreichen, ohne über das Internet zu gehen (da dies der beste Weg wäre).

Bei BGP-Sitzungen filtern Sie normalerweise beispielsweise mit einer Präfixliste, was Sie Ihren Kollegen und deren Werbung für Sie (wenn Sie nachgeschaltete Kollegen haben) filtern. Im Allgemeinen filtern Sie keine eingehenden Daten aus der Peering-Vermittlungsstelle, da die Vermittlungsstelle nur Routen von Personen sendet, die mit der Vermittlungsstelle verbunden sind. Dies ist ähnlich wie bei Ihren Transitanbietern, außer dass diese Ihnen im Allgemeinen die vollständige globale Routing-Tabelle (alle Ziele im Internet) senden.

In dieser Situation würden Sie eine Präfixliste hinzufügen, die mit einer ACL in ausgehender Richtung in der BGP-Sitzung übereinstimmt, die mit dem Peering-Punkt verbunden ist, um nur Ihr / 24-Präfix anzukündigen. Dadurch können Hosts an der Peering-Vermittlungsstelle nur IPs in Ihrem / 24 über Ihre Präferenz erreichen Router (was ist, was Sie wollen).

Wenn Ihnen jemand eine Standardroute ankündigt und Sie diese akzeptieren, nehmen Sie den Datenverkehr nicht auf und senden ihn an das Internet. In dieser Situation würden Sie über sie eine Route zum Internet sehen, da Ihr Router über sie eine Route zu 0.0.0.0/0 (das Internet) sieht, weil sie es Ihnen angekündigt haben.

Hosts, die mit der Peering-Vermittlungsstelle verbunden sind, sehen das Internet nur dann über Sie, wenn Sie selbst eine Standardroute zur Vermittlungsstelle ankündigen. Das einzige andere Mal, dass Sie als "Transit-AS" verwendet werden können, ist, wenn Sie Kunden haben, die Downstream-Peers bei Ihnen sind und die Sie bitten, ihren IP-Speicherplatz dem IXP bekannt zu machen, damit sie den Austausch über Sie erreichen können.

Fitzi
quelle