Einer meiner BGP-Transitkunden hat mich um eine Lösung gebeten, die es ihm erleichtert, den Datenverkehr innerhalb unseres Netzwerks zu blockieren, wenn er unter DDoS-Angriffen leidet. Normalerweise erfolgt das BGP-Blackholing durch Blackholing des Ziels . Mein Kunde sucht jedoch nach einer Lösung für Blackhole basierend auf der Quelladresse, damit das Ziel des Angriffs nicht offline geschaltet wird.
Das Erstellen einer Blackhole-Lösung basierend auf der Zieladresse ist nicht so schwierig: Lassen Sie den Kunden das Ziel einfach über eine separate BGP-Sitzung als spezifischere Route bekannt geben oder mit einer bestimmten Community kennzeichnen und verwenden Sie dann eine Routing-Richtlinie, um die festzulegen Next-Hop zu einer Discard-Schnittstelle.
Es scheint etwas schwieriger zu sein, eine Blackhole-Lösung zu erstellen, bei der Angriffsquellen (die sich nicht im IP-Bereich des Kunden befinden) Blackholed sind. Wenn ich die gleiche Lösung wie zum Filtern von Zielen verwenden würde, besteht mein Problem darin, dass ich nur Datenverkehr von bestimmten Quellen zu diesem bestimmten Kunden verwerfen möchte. Das Einfügen von Verwerfungsrouten in meine Routing-Tabelle ist daher nicht mehr akzeptabel, da dies andere Kunden betreffen würde Gut. Ich brauche also eine Möglichkeit, einen Filter zu erstellen, der nur für diesen bestimmten Kunden gilt.
Die erste Lösung, über die ich nachdachte, war die Verwendung von BGPFlowspec. Leider funktioniert dies für diesen bestimmten Kunden nicht, da seine Ausrüstung dies nicht unterstützt.
Ich habe nach einer Möglichkeit gesucht, einen dynamischen Firewall-Filter basierend auf einer Routing-Eigenschaft zu erstellen, höchstwahrscheinlich einer Community, die entweder von unserem Kunden oder von uns festgelegt wurde, wenn eine bestimmte Route über eine dedizierte BGP-Blackhole-Sitzung empfangen wird. Dieser Filter kann dann auf die Schnittstellen des Kunden angewendet werden, um unerwünschten Datenverkehr zu blockieren. Leider habe ich keine einfache Möglichkeit gefunden, auf diese Weise einen Firewall-Filter (oder eine Präfixliste) zu erstellen.
Ich habe http://thomas.mangin.com/posts/bgp-firewall.html gefunden , das SCU / DCU "missbraucht", um mehr oder weniger das zu erreichen, wonach ich suche, aber es klingt wie ein Hack .
Eine der anderen Lösungen, die ich mir vorstellen kann, besteht darin, einen statischen Filter auf unseren Routen zu erstellen und eine Schnittstelle zu erstellen, über die unser Kunde die von diesem Filter verwendete Präfixliste ändern kann. Es ist jedoch nicht wirklich das, was ich möchte, wenn Konfigurationsänderungen auf meinen Routern jedes Mal vorgenommen werden, wenn der Kunde ein Blackhole hinzufügen möchte. Eine Lösung unter Verwendung von BGP wäre bevorzugt.
Auf unserer Seite wird das Routing auf Juniper durchgeführt. Für eine Lösung würde ich es vorziehen, etwas zu haben, das auf einer Vielzahl von Plattformen verwendet werden kann. Daher sollte es im Grunde nur BGP über eine separate Sitzung sein oder Routen über eine bestimmte Community markieren. Auf diese Weise kann ich es auch für andere Kunden verwenden.
Ich bin wirklich interessiert, ob jemand eine gute Lösung dafür hat (außer der SCU / DCU).