netzwerk-organisatorische formen
von Benjamin Wittorf

11 Einträge mit strategien getagged

Möchtest du Einträge nach strategien durchsuchen?
Nicht dabei, was du suchst? Wende dich an mich!

Feature: Wie ich einen DDoS–Angriff (auf das Blog eines Freundes) überstanden habe

Vor ein paar Tagen wurde das Blog eines Freundes mit DDoS-Attacken angegriffen. Es liegt auf einem von mir betreuten Server, auf dem sich auch netzwerk-organisatorische formen befindet. Wie passend, das hier kurz zu reflektieren.

Als ich einen routinemäßigen Blick in die Log-Dateien warf, häuften sich genau in dem Augenblick Meldungen vom System: wahrscheinlich würde jemand gerade eine SYN-Flood-Attacke gegen den Server fahren. Zuerst dachte ich mir nicht wirklich etwas dabei. Gelegentlich findet es jemand einfach praktisch, mehrere Tabs — manchmal einige Dutzend — von einer Website gleichzeitig zu öffnen.

Die Fehlermeldungen wurden aber mehr und mehr mit der Zeit. Da wollte wohl jemand für ein wenig Unruhe sorgen. Mit einer Vermutung, was genau passiert, startete ich ein Überwachungsprogramm, mit dem ich live sehen konnte, welche Webseiten wie oft aufgerufen würden. Es dauerte nur ein paar Augenblicke, und der Bildschirm füllte sich mit einer Liste von hunderten von Anfragen die Minute auf das Blog von Jens. Da hatte es wohl jemand genau darauf und auf ihn abgesehen, und wollte das Hiking Blog mit unzählig vielen Anfragen lahm legen.

Während ich mir schon einige Strategien zurecht legte, wie ich damit umgehen sollte, informierte ich ihn darüber, dass es vielleicht zu Aussetzern kommen könnte. Ich nutzte aber auch die Gunst der Stunde, diesen Angriff genauer zu studieren. Wie reagiert dieser Server auf diesen Ansturm? Wie schnell wirkt sich das auf die Verbindungsgeschwindigkeit aus? Wie stark werden die Prozessoren ausgelastet? Arbeitsspeicher? Vielleicht wäre ich sogar so mutig zu schauen, ab wann System-Dienste nicht mehr reagieren würden.

Ich sah, wie die Zahl der Anfragen ständig zunahm. Nach einer halben Stunde waren es etwas über tausend Anfragen die Minute. Bisher wirkte sich das aber nicht negativ aus: Sein Blog lud genauso schnell wie vorher. Auch der Server selbst war noch fern davon überlastet zu sein.

Vorsichtshalber stellte ich sicher, dass mein Web–Server (genauer: der vorgeschaltete Reverse–Proxy) sich auch ausreichend bei den System–Ressourcen bedienen darf, um möglichst viel aus dem Arbeitsspeicher zu liefern, damit wenig CPU–Last durch das Erstellen von Webseiten entsteht. Außerdem vergewisserte ich mich, dass er die in tausenden reinströmenden Log–Einträge nicht sofort auf die Festplatte schreibt, was sie sicherlich ganz schön belastet hätte, sondern erst nach einer gewissen Größe blockweise schreiben würde.

Dabei entdeckte ich, dass einige der Bilder in Jens' Blog bei jedem Aufruf dynamisch erzeugt wurden. Das könnte ich doch optimieren. Ich änderte es so, dass auch diese zwischen gespeichert werden würden, schließlich enthalten sie keine Echtzeit–Informationen oder würden zur Anmeldung gebraucht. Und Optimierung des Zwischenspeichers? Da ginge doch sicher auch noch mehr. Um eine direkt etwas umfassendere Strategie zu fahren, veranlasste ich meinen Server, ältere Webseiten und Objekte länger im Zwischenspeicher verbleiben zu lassen.

Mit diesem kleinen Tuning startete ich den Web–Dienst neu, und beobachtete weiter die Last auf dem Server. Nach ein paar Minuten fanden sich auch alle Zombies wieder ein, die weiterhin etwas über tausend Anfragen die Minute stellten. Mein Server nahm es nach den Maßnahmen allerdings noch gelassener, und tat ohne Zucken weiter seinen Dienst.

Nach einer Stunde war Schluss mit den Angriffen.

Fast. In der Zwischenzeit schrieb ich Jens, dass dem Angreifer vielleicht langweilig wurde, weil keinerlei negative Reaktion hervorging — nicht vom Server, aber auch nicht von Jens oder mir in sozialen Kanälen. Gerade jedoch, als ich mich wieder anderen Dingen widmen wollte, rollte die nächste Welle von Zombies an.

Innerhalb von ein paar Minuten hatte ich etwas über zweitausend Zugriffe die Minute. Ich wurde etwas unruhig. Mein Server allerdings nicht, und lieferte weiterhin fröhlich seine Inhalte an die seelenlosen Besucher aus. Ich informierte Jens wieder darüber, aber dieses mal auch meinen Hoster über die Lage. Dann intensivierte ich meine Recherche, was bei DDoS-Angriffen noch getan werden kann, und ob ich Möglichkeiten finden sollte, die über das hinaus gehen würden, was ich selbst für den Notfall geplant hatte, ohne dass der Server, oder wenigstens der Web–Dienst, abgeschaltet werden müsste. Das wäre der letzte Schritt, den viele Anbieter bereits früh gehen würden. Ich nicht.

Also schaute ich, dass noch ein paar weitere Kleinigkeiten optimiert werden. Ich legte schon Regeln für die Firewall an, um die Anzahl gleichzeitiger Verbindungen eines Besuchers zu beschränken, und auch, wieviele Verbindungen über einen bestimmten Zeitraum hinweg aufgebaut werden dürften, bevor Verbindungen ganz unterbunden würden, aktivierte sie jedoch noch nicht. Ich stellte aber schon mal sicher, dass meine Verbindung über eine bestimmte IP-Adresse zum Server auf jeden Fall priorisiert werden würde — es wäre schon schwieriger, etwas zu bewirken, wenn ich selbst nicht mehr auf ihn zugreifen könnte.

Die Angriffe wurden aber nicht mehr, und für ungefähr eine Stunde hatte ich weiterhin etwas über zweitausend Zugriffe die Minute. Dann hörten sie auf. Der neue Server hatte seine erste Feuerprobe bestanden.

Dann informierte ich wieder Jens, der inzwischen verständlicherweise etwas besorgt und nun froh war, dass die Angriffe wieder einmal aufgehört hätten.

Natürlich nur vorübergehend.

Ich hielt die Konsole ständig offen, und konnte nach einiger Zeit sehen, dass die Zombies schon wieder zurück kamen. Und es waren mehr als vorher. Nach ein paar Minuten hatte ich über dreitausend Zugriffe die Minute. So langsam…

Allerdings war ich im entsprechenden Umfang erleichtert zu sehen, dass mein Server problemlos mit der steigenden Zahl der Zugriffe lineaer skalierte, und sich die Last noch immer in einem akzeptablen Rahmen befand. Nicht mal ein Viertel seiner Leistung wurde in Anspruch angenommen. Nur bei der Verbindung — genauer: die Zeit vom Aufruf bis zum Laden der ersten Bytes von Webseiten — kam es inzwischen häufiger zu Verzögerungen. Aber auch das hielt sich noch im vertretbaren Rahmen, schließlich luden die Webseiten im Schnitt noch immer schneller als viele andere.

Zum Vergleich mit den vorherigen beiden Wellen schaute ich mir das massive Untreiben ein paar Minuten an. Wie schon zuvor stieg die Zugriffszahl dann nicht weiter. Für ebenfalls eine Stunde durfte sich Jens weiter über die wohl etwas über dem Durchschnitt liegenden Zugriffszahlen freuen. Auch mit den erwähnten Aussetzern bei den Verbindungen tat der Server weiterhin fröhlich seinen Dienst, und nach ebenfalls einer Stunde ebbte die Welle fast so schnell ab wie sie gekommen war.

Ruhe.

Zumindest bis zum nächsten Tag.

Fast zur selben Uhrzeit wie am Vortag tummelten sich wieder Zombies vor der digitalen Haustüre. Sie brachten nun in etwa viertausend Anfragen die Minute mit sich.

Zwar war die Last auf meinem Server noch immer völlig in Ordnung, aber aus den gelegentlichen Verzögerungen im Verbindungsaufbau wurden regelmäßigere Verzögerungen. Die Bandbreite der Anbindung sollte wohl einfach nicht mehr länger mitspielen. Ich aktivierte die Notfallregeln der Firewall, und die Zahl der Verbindungsaufrufe pro Minute reduzierte sich schlagartig von über viertausend zu knapp über vierhundert.

Nur war ich nicht wirklich zufrieden mit der Lösung, auch wenn soweit alles unter Kontrolle war. Wieder eine Stunde später hörten auch diese Angriffe auf.

Damit die Benutzung des Servers erneut uneingeschränkt möglich war, deaktivierte ich die strikten Firewall-Regeln. Es verstrich einige Zeit, auch über die übliche Intervallzeit der Pausen hinaus. Ich telefonierte schon mit Jens, und wir waren recht froh, dass jetzt aber wohl Ruhe eingekehrt sei.

Bis sie wieder kamen. Und dann waren es sechstausend Aufrufe die Minute.

Schnell aktivierte ich wieder die Firewall–Regeln, und konnte diese Zahl um neun Zehntel auf sechshundert Aufrufe die Minute reduzieren. Und auch wenn mein Server jetzt bei etwas über einem Drittel bei der Auslastung und damit noch immer fern von “wirklich beschäftigt” war, waren Verzögerungen beim Verbindungsaufbau nun der Normalfall. Langsam beeinträchtige das auch den E-Mail-Verkehr.

Zähneknirschend deaktivierte ich den Web–Dienst für das Hiking Blog, und wie zu erwarten gab es keinerlei Verbindungsprobleme mehr. Allerdings war das für mich alles, nur keine akzeptable Lösung, vor allem nicht unter den Umständen.

Also aktivierte ich den Web–Dienst wieder um mir ganz genau anzusehen, wo die Zombies her kamen. Ich sortierte die Liste der Zugriffe nach Zugriffshäufigkeit. Dann verweigerte ich jedem Besucher, der mehr als 20 Verbindungen gleichzeitig offen hatte, den zukünftigen Zugriff auf den Server. Doch wann immer ich ein paar ausgesperrt hatte, folgten umgehend neue Zombies, die entsprechende Plätze einnahmen.

Ich informierte Jens, dass ich sein Blog nun leider kurzzeitig vom Netz nehmen müsste. Anfragen, die auf sein Blog gestellt wurden, ließ ich auf den Anfragenden zurück lenken. Das wäre zwar ärgerlich für reguläre Besucher, aber solche, die versuchen, so viele Verbindungen wie nur irgendwie möglich aufzubauen, hätten vielleicht ein wenig Spaß. Außerdem würde ich so noch weiter sehen können, wer weiterhin versucht, das Hiking Blog durch so viele unnötige Anfragen lahm zu legen.

Weiter und weiter verbannte ich Zombies, die zu viele Anfragen stellten. Zwar sank die Netzlast ein wenig, aber nicht beträchlich. Kein Wunder bei der Zahl der Zombies. Oder? Ich hatte eine Idee.

Zuvor richtete ich aber noch ein, dass das Blog von Jens hoffentlich eher früher als später über einen Cloud–Dienst geladen werden sollte, der deutlich weniger Probleme mit der Bandbreite hat als mein Server — die Server-Last war ja kein Problem. Natürlich war das aber nicht meine Lösung, sondern nur kurzzeitiges Mittel zum Zweck.

Und dann? Dann entfernte ich in einem fast schon waghalsigen Manöver die strikten Firewall-Regeln, während ich die ban-Liste, die mittlerweile auf fast sechshundert Einträge gewachsen war, bestehen ließ. Innerhalb weniger Sekunden hatte ich über zwölftausend Anfragen die Minute, und zum ersten Mal überhaupt stieg die Server-Last auf knapp über fünfzig Prozent. Dann erstellte ich weniger strikte Firewall-Regeln, und regelte die Anfragen um ein Drittel auf achttausend Anfragen die Minute nach unten. Die Server-Last pendelte dabei bei etwas über vierzig Prozent ein.

Und dann ließ ich mir wie auch zuvor anzeigen, welche Zombies die meisten Verbindungen offen hatten — nun aber kombiniert mit der Bandbreite, die sie in Anspruch nahmen. Gezielt nahm ich mir diese vor, und verbannte sie von jedem Zugriff auf meinem Server. Nach schon nur knapp fünfzig ausgeschlossenen Rechnern implodierten die Anfragen die Minute auf dreihundert.

Vorbei war es mit den Verbindungsproblemen. Ich deaktivierte die (weniger) strikten Firewall-Regeln. Dann stiegen die Zugriffe zwar wieder auf sechshundert, von denen ich ja aber wusste, dass das alles andere als ein Problem für meinen Server sein sollte. Noch ein paar Hosts später waren es nur noch hundertzwanzig, und wohlwollend nahm ich zur Kenntnis, dass der Cloud–Dienst seine Arbeit aufgenommen hatte, und kräftig beisteuerte.

Schließlich verwehrte ich den letzten paar Dutzend nach und nach den Zugriff. Mit jedem verbannten Host verschwanden auch andere Zombies aus den Netzwerkzugriffen. Als ich schließlich bei achtzig Anfragen die Minute landete, stellte ich vor Erstaunen fest, dass der Cloud–Dienst zwar aktiv war, aber gar nicht die Anfragen auf die Startseite von Jens' Blog zwischengespeichert sondern durchgereicht hatte. Nett.

Noch ein paar Einträge in der ban-Liste später war dann nun auch wirklich alles auf dem Server wieder normal. Zur Sicherheit konfigurierte ich den Cloud–Dienst noch zu Ende, damit wirklich alle Anfragen, falls noch welche nachkommen würden, nachdem ich mich endlich schlafen legte, nicht für irgendeinen Ausfall sorgen könnten.

Ruhe. Diesmal wirklich.

Am nächsten Tag gab es zwar noch einmal einen kleinen Anlauf, den ich in den Statistiken vom Cloud–Dienst sehen konnte, aber nachdem ich eine Liste mit den Angreifern übermittelt hatte, war auch da Stille.

Nachbesprechung

Würde ich sagen, dass ich erfolgreich einen DDoS-Angriff abgewehrt habe? Ja. Aber nur den im speziellen. Eine allgemeine Lösung ist das nicht, und beim nächsten Angriff würde ich mir wohl wieder eine individuelle Lösung einfallen lassen müssen, wenn ich wieder auch einfach keine Downtime in Kauf nehmen oder den Schwarzen Peter einem anderen Dienstleister zuschieben will.

Hätte der Angreifer sich nur ein wenig mehr Mühe gegeben, und seine Zombie–Horde geschickter und zielgerichteter gelenkt — ich habe sehr schnell gemerkt, was meinem Server wirklich das Genick brechen würde —, wäre ich sicherlich nicht mit einer noch fast glänzender Rüstung davon gekommen, ohne eben einen der beiden oben genannten Wege zu gehen.

Anzumerken bleibt da noch, das ich gerade die technischen Details sehr vereinfacht dargestellt habe. Wer Details wissen möchte, kann gerne in den Kommentaren danach fragen.

Auch, dass Botnets in 1000er Paketen wohl wirklich von jedem stundenweise gemietet werden können. Und da wird noch einiges passieren — ich kann nicht genug betonen, dass man sich mit diesem Szenario besser im Vorfeld beschäftigt: Wenn es bereits passiert, ist es zu spät.

Suchmaschinenoptimierung und ihre kleinen schmutzigen Tricks

John Paul Titlow:

Anybody with a serious interest in the practice of search engine optimization knows by now that there are proper (white hat) and improper (black hat) ways to optimize a Website for search engines like Google.

Yet the line the between the two can sometimes be blurry (grey hat), so sometimes, otherwise well-intentioned businesses and Web publishers can find themselves breaking Google's guidelines, a transgression for which there can be serious penalties.

An article published in the New York Times on Saturday demonstrated just how severe those penalties can be, and that even big companies and well-established brands can run afoul of the search giant's rules.

Vielleicht nicht unbedingt Thema der Seite — allerdings ein interessanter Einblick in ein sich ständig regulierendes System. (Derweil gibt es eine Erweiterung für Chrome von Google selbst, um dabei zu helfen.)

Via ReadWriteWeb.

COIN 3.0

Peter Charles Choharis und James A. Gavrilis:

Why have the Taliban and their al Qaeda allies, who just a few years ago were reviled by the vast majority of Afghans for their brutality and fanaticism, grown in strength and popularity during nearly a decade of US and international assistance? More broadly, why has massive international development assistance in Afghanistan, Iraq, and elsewhere failed to defeat the grip of extremist ideologies among many people who have benefited from billions of dollars worth of aid? Is it even possible for international development aid to help defeat radical Islam and other ideologies hostile to the West and, if so, how?

Via Small Wars Journal.

Podcast zu Sūnzǐs “Die Kunst des Krieges”

BBC World Service:

It was written by the military scholar Sun Tzu about 2,500 years ago and still has tremendous relevance to war now.

Over the centuries it has been influential to both traditional armies and guerrilla fighters - the IRA, for instance, read it with interest and commanders in the first Gulf war and the recent war in Iraq have spoken of the influence of Sun Tzu on direct military operations and the intelligence cycle during extended wars.

But ultimately the moral of Sun Tzu's book is that the greatest leaders avoid war.

Warum genau ist das deutsche Öffentlich-rechtliche noch mal so uninteressant?

Via Mark Safranski.

Von Social- und Govermedia

Sascha Stoltenow:

Warum aber diese Bewegung so schwer ist, zeigen exemplarisch zwei Beiträge, welche die AIK nun in dem Bereich ihrer Veranstaltungswebseite veröffentlicht hat, der unter dem Navigationspunkt “Social Media” die Bezeichnung “Blog” zugedacht wurde. Mit Datum vom 17.5.2010 erwartet uns unter der Überschrift “Pressemitteilung” nicht etwa die Pressemitteilung, sondern ein Link auf die Presseseite der Veranstaltung, wo dann die Nachricht zu finden ist, dass die AIK ein Symposium veranstaltet - inklusive eines Links zum Download der Pressemitteilung als PDF.

Das ist allerdings nicht nur ein Problem von Regierungen – dem stehen einige Firmen und Konzerne in nichts nach.

Zu Govermedia.

Warum worst-case-Szenarien bescheuert sind

Jason Sigger:

At a security conference recently, the moderator asked the panel of distinguished cybersecurity leaders what their nightmare scenario was. The answers were the predictable array of large-scale attacks: against our communications infrastructure, against the power grid, against the financial system, in combination with a physical attack.

I didn't get to give my answer until the afternoon, which was: "My nightmare scenario is that people keep talking about their nightmare scenarios."

Verwandt: FUD.

Via Tim Stevens.

Anthropologie und Insurrektionskrieg: die seltsame Geschichte einer neugierigen Beziehung

The U.S. Army Professional Writing Collection:

Why has cultural knowledge suddenly become such an imperative? Primarily because traditional methods of warfighting have proven inadequate in Iraq and Afghanistan. U.S. technology, training, and doctrine designed to counter the Soviet threat are not designed for low-intensity counterinsurgency operations where civilians mingle freely with combatants in complex urban terrain.

Da hatte ich jüngst auf 3sat etwas zu gesehen: Bundeswehr sucht interkulturelle Berater. Besser spät als nie? Wie wär's mit überhaupt gar nicht erst müssen.

Töten von Terrorgruppen-Führern sinnlos

Robert Wright:

So maybe the question to ask is whether Americans should be convinced of that — whether assassinating terrorists really helps keep us safe.

There’s no way of answering this question with complete confidence, but it turns out there are some relevant and little-known data. They were compiled by Jenna Jordan of the University of Chicago, who published her findings last year in the journal Security Studies. She studied 298 attempts, from 1945 through 2004, to weaken or eliminate terrorist groups through “leadership decapitation” — eliminating people in senior positions.

Her work suggests that decapitation doesn’t lower the life expectancy of the decapitated groups — and, if anything, may have the opposite effect.

Die Kommentare zu dem Artikel sind auch lesenswert. Interessant der Vergleich zu den Kommentaren beim heutigen Artikel der Zeit, Taliban in Kundus führerlos. Zudem wird sich zeigen, ob die Aktion dann auch das gewünschte Ziel erbracht hat, oder ob Frau Jordan recht behalten soll.

Was unterscheidet gute “Red Teamers” von schlechten?

Red Team Journal:

The intangible qualities that characterize a good red team can be difficult to measure but are arguably just as critical to success as a team’s technical proficiency. In fact, a technically proficient but arrogant red team may actually be less useful than a less proficient but more humble and adaptable one. After all, the less proficient but adaptable team can always contract the expertise it needs, particularly if it is first willing to consider and ask the right questions.

Ich bin gerne im “Red Team” (dafür scheint es keinen deutschsprachigen Ausdruck zu geben), besonders in Kunden-Projekten.

Via Shloky Vaidya.