Verwenden Sie BGP, um sich gegen DDoS-Angriffe von Remote-AS zu verteidigen


16

Ich habe eine Frage zu BGP und wie man diese Konfiguration erreicht.

Mein Unternehmens-Core-Router ist mit einem ISP (Single Homed) verbunden. Dieser Router hat in BGP-Updates bereits die spezifischen öffentlichen IP-Präfixe an den ISP ausgetauscht. Sagen wir jetzt, es gibt einen AS in einiger Entfernung, der meinen lokalen AS mit einem DDoS-Angriff überflutet. In diesem AS gibt es mehrere Netzwerke, die auf die Webserver in meinem lokalen AS abzielen.

Wie können wir diesen Datenverkehr auf unserem Router mithilfe von BGP stoppen?

Schätzen Sie Ihre Antwort !! :)


2
Wie haben Sie die Quelle dieses Verkehrs ermittelt? Wenn Sie sich nur die Quell-IP-Adressen ansehen, könnten diese gefälscht sein. Eine Flut von Paketen, die alle Quelladressen innerhalb eines einzelnen AS fälschen, ist das, was Sie sehen würden, wenn ein Reflexionsangriff stattfindet.
Kasperd

Hat dir eine Antwort geholfen? In diesem Fall sollten Sie die Antwort akzeptieren, damit die Frage nicht für immer auftaucht und nach einer Antwort sucht. Alternativ können Sie auch Ihre eigene Antwort eingeben und annehmen.
Ron Maupin

Antworten:


14

Mit BGP können Sie zwei Dinge tun:

RTBH - Ferngesteuertes Schwarzes Loch

Die erste Option ist die radikale: Blackhole (Verkehr stoppen), damit die IP angegriffen wird. Nachteil: Die anvisierte IP ist nicht mehr erreichbar. Vorteil: Der Rest Ihres Netzwerks bleibt in Betrieb. Packetlife hat eine nette Erklärung, wie es funktioniert und wie es geht. Die zweite Option baut auf der ersten auf:

Quellenbasiertes RTBH

RTBH kann (in bestimmten Konfigurationen) auch verwendet werden, um Datenverkehr von bestimmten IP-Adressen zu blockieren (in einem echten DDoS, der nicht viel hilft, da Datenverkehr von Tausenden von IP-Adressen eingeht). Auch hier hat Packetlife eine Erklärung.

In Ihrem Fall könnten Sie alle Präfixe für den AS aus einer Routing-Datenbank wie RADB abrufen und diese mit Source-Based RTBH blockieren. Der Datenverkehr würde Ihr Netzwerk jedoch weiterhin an der Grenze treffen.

Wenn Sie "einfaches" RTBH verwenden, besteht der Vorteil darin, dass Sie diese RTBH-Routen an Ihren Upstream-ISP senden können (sofern er dies unterstützt), der dann den Datenverkehr in seinem Netzwerk bereits blockieren kann, damit Sie nicht damit umgehen müssen.


Die von Packetlife beschriebene Methode ist hilfreich, aber in einem Szenario, in dem Ihre Uplinks vom Angriffsverkehr überlastet sind, ist sie nicht hilfreich. Ich habe eine Antwort auf die Verwendung von vorgelagerten Blackhole-Communities geschrieben, um dieses Problem anzugehen.
Elliot B.

2
In meinem letzten Satz heißt es: "Wenn Sie" einfaches "RTBH verwenden, besteht der Vorteil darin, dass Sie diese RTBH-Routen an Ihren Upstream-ISP senden können (sofern er dies unterstützt), der dann den Verkehr in seinem Netzwerk bereits blockieren könnte, sodass Sie keinen haben um damit umzugehen. "
Sebastian Wiesinger

Das habe ich gesehen, aber ich wollte die vom Kunden ausgelöste Blackhole-Methode im Detail erläutern und darauf hinweisen, dass "[nicht damit umgehen zu müssen]" bedeutet, dass das Blackhole ansonsten nicht wirksam wäre. Nicht als Anstoß für Ihre Antwort gedacht, sondern nur als Hinweis :)
Elliot B.

7

Die von @Sebastian über Packetlife beschriebene RTBH- Methode ist hilfreich, funktioniert jedoch nur, wenn Ihr Uplink nicht vom Angriffsverkehr überlastet ist . Wenn Ihr Uplink gesättigt ist, muss das Blackhole an einem Punkt implementiert werden, bevor der Angriffsverkehr Ihr Netzwerk erreicht.

Sie können dies mit vorgelagerten Blackhole-Communities erreichen.

Hurricane Electric bietet eine einfache Erklärung / ein Beispiel für vom Kunden ausgelöstes Blackholing mit einer BGP-Community:

  1. Angriff beginnt
  2. Kunde identifiziert IP oder IP-Bereich, der angegriffen wird
  3. Die vom Kunden festgelegte IP-Adresse leitet die IP-Adresse oder den IP-Bereich an Null0 weiter und fügt eine Ansage des entsprechenden Präfixes mit einer Routenkarte hinzu, die diese mit 6939: 666 markiert.

Cisco-Konfigurationsbeispiel (wobei XXXX die angegriffene IP ist):

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

Beachten Sie, dass dies 6939:666die Blackhole-Community ist, die für Hurricane Electric spezifisch ist. Sie würden diesen Wert so ändern, dass er der Blackhole-Community Ihres Upstream-Anbieters entspricht.

Es gibt natürlich mehrere Möglichkeiten, dies zu konfigurieren. Auf meiner Brocade-Ausrüstung verwende ich die folgende Konfiguration:

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

Wo 55555:666ist die Blackhole-Community Ihres Upstream-Anbieters? Ein vorgelagertes Schwarzes Loch kann dann mit einem einfachen Befehl angewendet werden:

ip route 123.123.123.123 255.255.255.255 null0 tag 66

4

Aus BGP-Sicht gibt es nicht viel, was Sie tun können. Sie könnten aufhören, Ihr Präfix zu bewerben, aber dann schließen Sie gerade den DoS-Angriff ab, da niemand auf Ihren Dienst zugreifen kann.

Wenn Sie mehrere Präfixe haben, können Sie diese neu nummerieren, aber wahrscheinlich wird der Angriff auch auf das neue Präfix verschoben.

Was Sie tun müssen, ist mit Ihrem Upstream zu arbeiten. Haben sie einen Reinigungsservice? Wenn sie über ein System wie Arbor Peakflow verfügen, können sie den Datenverkehr bereinigen, bevor er in Ihr Netzwerk gelangt. Solche Dienstleistungen sind oft sehr teuer.

Es gibt auch andere Optionen wie Cloudflare und ähnliche Unternehmen, bei denen Sie BGP über einen GRE-Tunnel zu diesem Unternehmen einrichten und Ihr Datenverkehr von dessen "Cloud" verarbeitet wird, die viel mehr Datenverkehr verarbeiten kann als Ihre lokalen Geräte.


0

Ich arbeite für CloudFlare und möchte einige der Kenntnisse teilen, die ich in den letzten Monaten über die Abwehr von DDOS-Angriffen gesammelt habe.

Zuerst; Viele Menschen greifen auf Maßnahmen auf Netzwerkebene zurück, um DDOS-Angriffe auf Anwendungsebene zu verringern. Überlegen Sie vor dem Wechsel zu BGP Blackholing, ob es sich um eine Geschwindigkeitsbeschränkung oder einen Schutz der Anwendungsebene handelt. Das gesagt; Es ist jetzt sehr billig, DDOS-Angriffe mit sehr großer Kapazität zu starten (vorausgesetzt, wie viele Open DNS Recursors es gibt und wie sie Angriffe verstärken können).

Wie Elliot in seiner Antwort beschrieben hat, kann die Verwendung von BGP-Communities zum Blackhole-Verkehr gut funktionieren, wenn Ihr Netzwerk klein ist. Dieser Mechanismus ist in RFC 3882 dokumentiert . Wenn Sie jedoch wie wir den Angriffsdatenverkehr anstelle von Blackhole absorbieren möchten (dh DDOS-Angriffsdaten sammeln möchten ), müssen Sie sich vor Kollateralschäden hüten, bei denen zwischengeschaltete Netzwerkanbieter überlastet werden. Sie können den Kollateralschaden verringern, indem Sie direkt mit den ISPs der Netzwerke, die die Angriffe starten, in Verbindung treten. Auf diese Weise haben Sie den kürzesten Weg vom Angreifer zum Ziel. Außerdem können Sie ein Anycast-Netzwerkdesign implementieren. Dies bedeutet, dass eine IP-Adresse mehrere Rechenzentren betrifft (je nachdem, welches am nächsten liegt).

Offensichtlich ist es nicht jedem Unternehmen möglich, über die Infrastruktur für Anycast und Peering zu verfügen. Aus diesem Grund wenden sich Unternehmen zunehmend Cloud-Diensten zu, um den schlechten Datenverkehr zu beseitigen, bevor er ihre Rechenzentren erreicht. Natürlich ist CloudFlare ein solcher Dienst.


-1

Wenn Sie nur eine Flut von Paketen mit Quell-IP-Adressen von einem bestimmten AS gesammelt haben, sind Sie wahrscheinlich zu der falschen Schlussfolgerung gelangt. Eine wahrscheinlichere Erklärung wäre, dass diese Quell-IPs gefälscht sind.

Bei einem Reflection / Amplification-Angriff werden viele Pakete gesendet, die die Quell-IP-Adresse eines Opfers fälschen. Wenn dies tatsächlich der Fall ist und Sie Server in Ihrem Netzwerk haben, die einen Angriff verstärken können, ist das Netzwerk, das Sie eines Angriffs beschuldigen, tatsächlich das Opfer und Sie unterstützen den Angreifer.

In einer solchen Situation besteht die Lösung nicht darin, irgendeine Art von Verkehrstechnik anzuwenden, sondern Ihre Server so zu konfigurieren, dass sie nicht für einen Verstärkungsangriff verwendet werden können. Wie das geht, ist eigentlich keine Frage der Netzwerktechnik.

Es ist natürlich möglich, dass alle Pakete von einem AS stammen. In Zusammenarbeit mit dem betreffenden AS kann bestätigt werden, dass die Pakete tatsächlich von dessen AS stammen. Mit dieser Kooperationsstufe können Sie jedoch auch den Angriff an der Quelle blockieren.

Wenn wir annehmen, dass Sie eine Methode durchlaufen haben, bei der ich nicht darüber nachgedacht habe, eine Bestätigung zu erhalten, dass die Pakete wirklich von dem AS stammen, von dem Sie denken, dass Sie es nicht an der Quelle blockieren können und stattdessen mithilfe von BGP blockieren möchten, dann ich habe über eine etwas riskante Methode gelesen, um dies zu erreichen. Die Idee ist, dass Sie der Route, die Sie ankündigen, einen AS-Pfad voranstellen. In diesem vorangestellten AS-Pfad geben Sie die AS-Nummer der Quelle dieser Pakete an.

Wenn die Ansage die BGP-Router in der betroffenen AS erreicht, werden sie eine Schleife erkennen und die Ansage verwerfen. Währenddessen sieht der Rest der Welt keine Schleife und akzeptiert die Ankündigung nicht.

Das ist die Theorie. Ob es in der Praxis tatsächlich funktioniert, hängt von einigen Faktoren ab. Dies hängt beispielsweise davon ab, ob die AS-Nummer, von der die Pakete stammen, tatsächlich verwendet wird. Dies kann sich von der AS-Nummer unterscheiden, die diese IP-Adressen angibt. (Ein solcher Unterschied kann legitim sein oder auf Spoofing zurückzuführen sein.)

Es hängt auch davon ab, ob Ihr Upstream die Route nicht filtert, wenn er den AS-Pfad als verdächtig ansieht. Darüber hinaus können Netzwerke, die weiter von Ihnen entfernt sind, Ihre Route auch löschen, wenn sie beispielsweise auch schlechte Erfahrungen mit dem betreffenden AS gemacht haben und beschlossen haben, alle Routen von dort aus zu löschen.

Es ist Ihre Entscheidung, ob dieser Ansatz das Risiko wert ist.

(Ich hätte auf die Quelle für diesen Ansatz verwiesen, wenn ich ihn wiederfinden könnte.)


2
Das ist eine sehr gefährliche Sache. Sie fälschen einen anderen AS in Ihrem Pfad, den Sie nicht besitzen. Wenn andere Personen Routen von diesem AS löschen, werden sie auch Ihre Routen löschen.
Sebastian Wiesinger

1
@ Sebastian Stimmt, dieses Risiko besteht auch. Wenn die Alternative jedoch ein Netzwerk ist, das aufgrund von Verkehrsüberflutungen nicht erreichbar ist, ist es möglicherweise das Risiko wert.
Kasperd

Das klingt nach einer sehr schlechten Idee, von der ich noch nie gehört habe. Es unterbricht die Konnektivität für einen gesamten ASN, wenn es einen Botnetzknoten gibt, was Sie zB für große Cloud-Anbieter nicht wünschen. Außerdem ist die Skalierbarkeit mit DDoS-Systemen, bei denen Tausende von Botnetzknoten etwas in Ihrem Netzwerk angreifen, schlecht.
Teun Vink

1
@TeunVink Dies gilt definitiv nicht für einen typischen DDoS-Angriff. Das OP fragt jedoch nicht nach einem typischen DDoS-Angriff. Er fragt nach einem Angriff, bei dem der gesamte Datenverkehr von einem AS ausgeht. Eine Unterbrechung der Konnektivität zu einem AS wäre akzeptabel, wenn die Alternative eine Unterbrechung der Konnektivität zum gesamten Internet wäre.
Kasperd

-2

Sie können ihren AS in Ihrem lokalen Netzwerk unterbrechen, sodass Ihr BGP-Router Null-Routen für jedes von ihm angekündigte Präfix erstellt.

Profi:

  • Ihr AS erscheint ihnen als tot, was ihr Ziel ist, während Sie normal mit allen anderen Daten austauschen.
  • Ihre lokale Eingangsfilterung verwirft automatisch eingehende Pakete von diesem AS

Contra:

  • Sie können Blackhole-Routen auf Ihrem Router erstellen. Stellen Sie daher sicher, dass geeignete Regeln vorhanden sind, damit Ihre wichtigsten Routen erhalten bleiben

1
Wenn Sie einen gesamten AS schwarz machen, müssen Sie sich selbst DOSEN. Niemand sonst in diesem AS kann Sie erreichen. Ihre Kunden könnten auch in diesem AS sein.
Ron Trunk

1
Ich gehe hier von einem feindlichen AS aus, dh die Wertschätzung geht verloren, wenn Sie diese vollständig blockieren. Es gibt ein paar "kugelsichere Hosting" -Dienste, die ich in diese Kategorie einordnen würde.
Simon Richter

1
Die meisten ASNs sind nicht vollständig feindlich oder freundlich, sondern enthalten nur einige Hosts, die Teil eines Botnetzes sind. Außerdem verhindert dieser Ansatz nicht, dass Ihre Upstream-Links überflutet werden, sodass Sie volumenbasierte DDoS-Angriffe nicht stoppen können.
Teun Vink
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.