it-swarm.com.de

Wie verhindern große Websites DDoS?

Soweit ich weiß, habe ich noch nie von großen Websites wie Amazon, Microsoft, Apple, Google oder Ebay gehört oder gesehen, die jemals unter DDoS leiden. Hast du?

Ich habe eine persönliche Philosophie: Je größer Sie sind, desto mehr sind Sie ein Ziel für solche Angriffe. Stellen Sie sich die Brownie-Punkte vor, die Sie erhalten würden, wenn Sie eine große Website zum Erliegen bringen könnten.

Solche Standorte sind jedoch immer stabil und scheinbar unbesiegbar geblieben. Welche Sicherheitsmaßnahmen haben sie umgesetzt und können diese auf kleinere Unternehmen angewendet werden?

75
Lakitu

Sie haben im Allgemeinen einen sehr vielschichtigen Ansatz. Hier sind einige Dinge, die ich in großen Organisationen implementiert oder implementiert habe. Für Ihre spezielle Frage zu kleineren Unternehmen würden Sie im Allgemeinen einen Drittanbieter finden, der Sie schützt. Abhängig von Ihrem Anwendungsfall kann dies ein Cloud-Anbieter, ein CDN, eine BGP-geroutete Lösung oder eine DNS-basierte Lösung sein.

Bandbreitenüberzeichnung - Diese ist ziemlich einfach. Wenn Sie größer werden, sinken Ihre Bandbreitenkosten. Im Allgemeinen werden große Unternehmen eine erheblich größere Kapazität leasen, als sie für Wachstums- und DDoS-Angriffe benötigen. Wenn ein Angreifer nicht in der Lage ist, genügend Verkehr aufzubringen, um dies zu überwältigen, ist ein volumetrischer Angriff im Allgemeinen unwirksam.

Automated Mitigation - Viele Tools überwachen Netflow-Daten von Routern und anderen Datenquellen, um eine Basis für den Datenverkehr zu ermitteln. Wenn Verkehrsmuster aus diesen Zonen austreten, können DDoS-Minderungstools den Verkehr mithilfe von BGP oder anderen Mechanismen anlocken und Rauschen herausfiltern. Sie leiten dann den sauberen Verkehr weiter in das Netzwerk. Diese Tools können im Allgemeinen sowohl volumetrische Angriffe als auch heimtückischere Angriffe wie Slowloris erkennen.

pstream Blackholing - Es gibt Möglichkeiten, den UDP-Verkehr mithilfe des Router-Blackholing zu filtern. Ich habe Situationen gesehen, in denen ein Unternehmen keinen UDP-Datenverkehr (dh NTP und DNS) zu seiner Infrastruktur empfangen muss), sodass die Transitanbieter den gesamten Datenverkehr schwarz machen. Die größten volumetrischen Angriffe da draußen sind im Allgemeinen reflektierte NTP oder DNS-Verstärkungsangriffe.

Drittanbieter - Selbst viele ziemlich große Organisationen befürchten, dass Monster mit 300 Gbit/s angreifen. Sie implementieren häufig entweder einen DNS-basierten Umleitungsdienst oder einen BGP-basierten Dienst, um sie zu schützen, falls sie einen anhaltenden Angriff erleiden. Ich würde sagen, dass auch CDN-Anbieter unter dieses Dach fallen, da sie einer Organisation helfen können, während eines Angriffs online zu bleiben.

System Hardening - Sie können häufig sowohl Ihr Betriebssystem als auch Ihre Anwendungen so konfigurieren, dass sie gegenüber DDoS-Angriffen auf Anwendungsebene widerstandsfähiger sind. Dinge wie das Sicherstellen von genügend Inodes auf Ihrem Linux-Server, um die richtige Anzahl von Apache-Worker-Threads zu konfigurieren, können es einem Angreifer erschweren, Ihren Dienst herunterzufahren.

65

Während es für DDOS keine wirklichen Gegenmaßnahmen gibt, gibt es Möglichkeiten, dies zu kontrollieren.
Zunächst wird ein Content Delivery Network verwendet, wobei mehrere Rechenzentren auf der ganzen Welt verwendet werden, um Besuchern aus verschiedenen geografischen Gebieten Inhalte bereitzustellen. Dies hilft, einzelne Fehlerquellen zu eliminieren, und erschwert es, Ressourcen zu erschöpfen oder die Verbindungen zu sättigen und die Angriffslast auszugleichen.
Eine andere Möglichkeit besteht darin, eng mit wichtigen Backbones, ISPs und jeweiligen Organisationen zusammenzuarbeiten, um die IPs der Angreifer im spezifischsten Netzwerk so weit wie möglich zu blockieren und zu verhindern, dass ihr Datenverkehr ihre Ziele erreicht. Ich hoffe es hilft.

13
Sam

Als mittelständisches Unternehmen nutzen wir einen DOS-Minderungsdienst, um das Risiko zu verringern, dass unsere Website offline geschaltet wird. Unsere Website wird in die IP-Adresse des Anbieters aufgelöst. Der Anbieter leitet die Anfrage dann an unseren Webserver weiter. Unser Webserver kommuniziert nur mit dem Anbieter.

Mithilfe ihrer Tools können sie dann mithilfe verschiedener Überwachungs- und Korrelationstools feststellen, ob es sich bei bestimmten Angriffen um tatsächliche Angriffe handelt. Wenn von einem Angriff ausgegangen wird, leitet der Anbieter die Anfrage nicht an unsere Webserver weiter und nimmt den Angriff auf. Um diese Art der Schadensbegrenzung durchführen zu können, muss Ihre Kapazität die des Angreifers überschreiten. Bei größeren Unternehmen, die normalerweise eine größere Bandbreitenkapazität erwarten, würde ich erwarten, dass sie entweder an ISPs auslagern oder ein internes System erstellen, um dieselbe Minderungsstrategie durchzuführen.

12
pr-

Mein Unternehmen hat sich mit DDoS-Angriffen mit bis zu 180 Gbit/s befasst. Hier sind meine Techniken, die ich zur Abschwächung verwendet habe.

Die Größe einer Website macht sie nicht nur zu einem größeren Ziel, sondern spielt auch eine wichtige Rolle:

  • Öffentlichkeitsarbeit (Vermarkten Sie sich als etwas, das Sie nicht sind, auf welche Personen Sie abzielen)
  • Versprechen einhalten
  • Kunden richtig behandeln

Zu den Motiven für DDoS-Angriffe gehören unter anderem:

  • Ruhm ("Oh schau mich an, ich habe es geschafft, diese Seite zu entfernen")
  • Geld (Größere Websites sind teurer anzugreifen. Wenn sie nach Geld suchen, zielen sie im Allgemeinen auf kleinere Websites mit hohen Einnahmen ab, die kein großes technisches Team haben.)
  • Aktivismus

Auch (aus einem der Kommentare):

  • Ein weiteres Motiv ist, dass sie versuchen, dich abzulenken. Wenn sie beispielsweise Apache angreifen möchten, damit Sie das Problem beheben können, während sie Ihr SSH-Kennwort brutal erzwingen.

Es gibt viele verschiedene Arten von DDoS-Angriffen und wie sie initiiert werden. Zuerst müssen Sie die oben aufgeführten Punkte in der richtigen Reihenfolge abrufen, dann werden Ihre DDoS-Angriffe wahrscheinlich abnehmen. Das bedeutet nicht, dass du sie nicht mehr erleben wirst, du gibst den Leuten einfach weniger ein Motiv, dich anzugreifen.

Auf technischer Ebene sind mehrere Dinge zu beachten, da die meisten Unternehmen mehrere Knoten in ihrer Infrastruktur haben. In einigen Fällen erfordert jeder Knoten einen anderen Ansatz. In meinem Fall waren diese Knoten eine API, ein Spieleserver, ein Authentifizierungsserver, eine Datenbank und ein sozialer Server. Schritt 1 bestand darin, sicherzustellen, dass Sie niemals eine IP-Adresse offenlegen, die nicht offengelegt werden muss. In meinem Fall waren dies der Authentifizierungsserver, die Datenbank und der soziale Server. Im Allgemeinen ist die Begrenzung der Fehlerquellen zunächst ein guter Ansatz. Schutz ist unglaublich teuer und es ist nur gut, den widerstandsfähigsten Schutz dort zu haben, wo Sie ihn wirklich am dringendsten benötigen.

Nachdem Sie festgelegt haben, welche Punkte öffentlich sein müssen, können Sie jede Funktion einzeln so schützen, wie sie geschützt werden muss. Theterriblevitrium gab eine ausgezeichnete Antwort auf Techniken, hier sind meine 2 Cent auf diese.

  • Anycast (Zum Beispiel ein CDN. Dies funktioniert unglaublich gut für statische Knoten wie lokale APIs, DNS-Server und Webserver. Der Nachteil dabei ist, dass es derzeit nicht effektiv für Systeme mit einem funktioniert Single Point of Failure wie Spieleserver)
  • Netzwerkregeln und Paketinspektion (ZB kann jede Verbindung nur X KB Datenverkehr pro Sekunde aufnehmen und jedes Paket sollte mit dem Muster x, y oder z übereinstimmen. Dies hat bei unseren Spielen gut funktioniert. Der Nachteil ist, dass Sie, wenn sie Ihr Bandbreitenlimit erreichen Ich habe kein Glück.)

Fühlen Sie sich frei, Fragen zu stellen!

6
Pim de Witte

Ich bin mir nicht sicher, ob dies mit der von @theterribletrivium erwähnten automatisierten Schadensbegrenzung erreicht wurde, aber sie verwenden auch Load Balancer, um den Datenverkehr gleichmäßig auf separate Server zu verteilen, damit diese so schnell wie möglich ausgeführt werden können.

Obwohl dies nicht die effektivste Methode ist, um Benutzer gleichmäßig auf Server zu verteilen, verwendet Google das sogenannte Round-Robin-DNS . Round-Robin-DNS gibt mehrere IP-Adressen zurück und der Benutzer stellt eine Verbindung zu einer dieser IP-Adressen her. Das Problem dabei ist jedoch, dass dieselbe IP-Adresse von mehreren Computern für die Verbindung bestimmt werden kann, wodurch die anderen Server schneller werden und nicht verwendet werden.

Sie verwenden ein ähnliches Setup für den Umgang mit den großen Mengen an Informationen, die gespeichert werden. Google verwendet das, was es nennt BigTable , um Informationen zu Google Maps, Blogger, YouTube, GMail und mehr zu speichern. Es wird berichtet, dass Google Hunderttausende Server verwendet, um all diese Informationen zu speichern und ihre Websites so schnell wie möglich laufen zu lassen.

Sie verwenden Software (die sie wahrscheinlich selbst entwickelt haben), um ihre Websites zu hosten, ohne viel Speicher und CPU zu verbrauchen. Der beliebteste Webserver, Apache, wird von diesen großen Websites definitiv nicht verwendet, da er mit so hohen Lasten nicht umgehen kann und vom C10k-Problem betroffen ist. Das C10k-Problem führt dazu, dass Webserver (wie Apache) ausfallen und manchmal heruntergefahren werden, wenn mehr als 10.000 Verbindungen gleichzeitig zum Webserver hergestellt werden (wobei Google wahrscheinlich mehr als 10.000 Verbindungen gleichzeitig hat).

Die Server und die Hardware, die sie verwenden, sind erstklassig. Laut dem Wikipedia-Artikel auf der Google-Plattform verwendet Google jedoch keine Hardware, die die beste Leistung erbringt, sondern Hardware, die das beste Preis-Leistungs-Verhältnis bietet.

Wenn Sie darüber nachdenken, sind Websites wie Google, Amazon, Microsoft und Apple technisch immer einem DDoS-Angriff ausgesetzt. Sie verfügen jedoch über solche fortschrittlichen Technologien, mit denen auf ihre Websites zugegriffen werden kann jeder ohne heruntergefahren zu sein.

0
ub3rst4r