A1 – Admin Leitfaden bei Denial of Service Angriffen
Transcription
A1 – Admin Leitfaden bei Denial of Service Angriffen
A1 – Admin Leitfaden bei Denial of Service Angriffen Dieser Leitfaden soll Unternehmen erste Handlungsmöglichkeiten aufzeigen, wenn Verdacht auf ein Denial of Service (DoS) Angriff vorliegt. Als Denial of Service wird die Folge einer Überlastung durch einen mutwilligen Angriff auf einen Host (Server) oder sonstige Komponenten in einem Datennetzwerk bezeichnet. Ein Denial of Service Angriff stellt eine Straftat im Sinne der „Computersabotage“ nach §303b Abs. 1 StGB dar. 1. An wen richtet sich dieser Leitfaden? Dieser Leitfaden richtet sich an EDV Administratoren von Unternehmen, die vermuten oder wissen, dass sie Opfer eines Denial of Service Angriffes sind. Benutzung des Leitfadens Eine allgemeine Anleitung zur Verhinderung eines DoS Angriffes zu geben ist schwierig, da ein Angriff sehr unterschiedlich sein kann (siehe 3.) Daher sind verschiedene Reaktionen Ihrerseits möglich. Lesen Sie diesen Leitfaden daher unbedingt komplett durch, bevor Sie eine Aktion einleiten. Beachten Sie hierbei vor allem auch die Punkte 5.4.1 Blockieren der Angriffsquelle beim Internetprovider und 7. Wie kann ich die Strafverfolgung unterstützen. 2. Wie erkenne ich, dass meine IT angegriffen wird? Symptome sind das IT-Systeme, die mit dem Internet verbunden sind immer langsamer reagieren und nicht mehr richtig arbeiten. Man merkt anfangs nur eine Verlangsamung des Service bis hin zum völligen Versagens, meist aufgrund von Client Verbindungsabbrüchen. Typische IT-Systeme die von einem Angriff betroffen sind: - Webserver - Webapplikationen, z.B. Online-Shop - E-Mail-Server - Dateiaustauschserver, z.B. FTP Server Charakteristisch für einen DoS Angriff ist, dass ein Neustart der betroffenen Systeme nur kurzfristig Besserung verschafft. 3. Wie werde ich angegriffen? Ein Angriff kann gezielt von einigen wenigen Servern im Internet oder von einem Botnetz ausgehen. Die frühe Unterscheidung des Angriffurspungs ist wichtig, da daraufhin unterschiedliche Reaktionsmöglichkeiten bestehen. Sehr oft verschaffen sich Angreifer Zugang zu hunderten von Rechnern im Internet, einem sogenannten BotNet. Das ist ein Netzwerk, bestehend aus infizierten Rechnern, auf denen Programme für einen Denial of Service Angriff installiert worden ist. Von einem separaten Steuerrechner aus synchronisieren sie diese Angriffsprogramme derart, dass die Wirksamkeit des Angriffs durch die Vielzahl der gleichzeitig angreifenden Rechner stark erhöht wird. Diese Art Angriff wird dann als (Distributed) Denial of Service Angriff bezeichnet. Er belastet die Dienste eines Servers, beispielsweise Webserver, mit einer größeren Anzahl Anfragen, als dieser in der Lage ist zu bearbeiten. Diese Überlastung führt dazu, dass reguläre Anfragen so langsam beantworten, dass diese abgebrochen werden. Ein DoS Angriff auf Ihre Infrastruktur kann z.B. folgende Ziele haben: Überlastung eines bestimmten Services, z.B. Webseite, Online-Shop Überlastung Ihrer Internetverbindung 4. Welche Gruppen sind an der Angriffsabwehr beteiligt? Es gibt folgende Gruppen: Betroffener, Strafverfolgungsbehörden, Netzvermittler (Internetprovider), nicht wissende Opfer deren PC missbraucht wird. 5. Wie kann ich die Strafverfolgung unterstützen. Um eine strafrechtliche Verfolgung zu ermöglichen sollten Log-Daten des Services und/oder der zentralen Firewall/Gateway gesichert werden. Wichtig dabei sind folgende Log-Informationen: Bsp. Eines Web-Servers: Wer Zeitstempel Was IP-Adresse 01/Jan/2012:13:02:51 „GET /index.html HTML/1.1“ 6. Was kann ich als Administrator tun? Im Folgenden finden Sie eine Reihe von Vorgehensweisen die Sie als Administrator im Falle eines Angriffes durchführen können. Für jede Aktion werden einführende Beispiele gegeben. Diese dienen nur dem Einstieg und können je nach Anwendungsfall auch variieren. Bitte beachten Sie deshalb auch jeweils die Links zur weiteren Dokumentation. Hier finden Sie How-Tos, die das jeweilige Thema detailliert behandeln. 6.1. Beweissicherung Sobald ein DoS Angriff vermutet oder festgestellt wurde, muss eine Art Angriffs-Logbuch mit einer lückenlosen Auflistung der Feststellungen geführt werden. Hier ist jede Aktion mit genauer Zeit zu vermerken, auch technische Aktionen, z.B. Neustart des betroffenen Systems. Dies hilft bei einer anschließenden Untersuchung. Zur Feststellung und Nachvollziehbarkeit eines Angriffes dienen die LogDateien des Service, der angegriffen wird. Es ist darauf zu achten, dass Log-Dateien extra gesichert werden um sie vor automatischem Überschreiben oder Löschen (z.B. durch Cronjobs) zu sichern. Jedes Beweismittel ist in unveränderbarer Weise zu sichern, beispielsweise durch Schreiben auf eine CD und sicherer Verwahrung dieser. 6.2. Informationsbeschaffung Zur Feststellung und Nachvollziehbarkeit eines Angriffes dienen die Log-Dateien des Service, der angegriffen wird. Bei einem Apache Webserver ist dazu beispielsweise die Datei /var/log/apache2/access.log auszuwerten und zu sichern. WICHTIG Zur besseren Nachvollziehbarkeit sollten sie gleich zu Beginn der Untersuchung die Uhrzeit auf dem angegriffenen System überprüfen. Diese sollte mit einem Zeitserver synchronisiert sein. Ist dies nicht der Fall, sollte zur besseren Beweissicherung die Uhrzeit während einem Angriff NICHT synchronisiert werden. Stattdessen sollten sie die Abweichung notieren, damit diese bei späteren Untersuchungen und Abgleich mehrerer Log-Dateien mit einberechnet werden kann. Erstellen Sie zu Beginn ein Aktionslogbuch, in dem Sie alle durchgeführten Aktionen protokollieren. 6.3. Analyse der Angriffsquelle Log-Dateianalyse Untersuchen Sie die Log-Datei der angegriffenen Systeme oder des Services nach Verbindungsdaten. Diese geben einen wichtigen Hinweis auf die Angriffsquelle. Kommt der Angriff von: a) einigen wenigen, immer gleichen IP Adressen? b) von unterschiedlichen IP Adressen eines bestimmten Bereiches (z.B. gleiches Ursprungsland)? c) von vielen, unterschiedlichen, nicht zusammenhängenden IP Adressen? Es ist dabei zu beachten, dass in der Log-Datei auch „normaler“ Datenverkehr mit auftaucht. Je stärker der betroffene Service von Ihren Kunden benutzt wird, desto schwieriger ist es den Angriffsverkehr eindeutig zu identifizieren. Beispiel: Anzeigen der Log-Datei des betroffenen Service anschauen (Beispiel: Apache2 Logfile): Windows Linux Tbd # tail -n 10000 var/log/apache2/access.log|cut -f 1 -d ‘ ‘|sort|uniq -c|sort -nr|more Freies Tool: XLOGAN http://www.axeuk.com/xlogan/ Weitere Anleitungen zur Analyse von Log-Dateien finden Sie unter „Log-Dateianalyse“ bei den Quellangaben. Analysieren Sie die Log-Dateien der betroffenen Systeme Eingrenzung des Angriff-Ursprungs Zur Analyse ob die Angriffs-Quell-IP-Adressen zu einem bestimmten Bereich gehören kann der Service GeoIP (https://www.maxmind.com/app/lookup_city) verwendet werden. Mit diesem können bis zu 25 IP Adressen auf Ihren Ursprung hin analysiert werden. Analysieren Sie die Angriffs-IP Adressen nach auffälligen Mustern Offene Ports und Netzwerkverbindungen auflisten Überprüfen sie welche Ports und Netzwerkverbindungen auf dem betroffenen System offen sind. Dazu benutzen sie beispielsweise folgende Befehle. Windows Linux C:'WINDOWS>netstat -ao |find /i "listening" # lsof -i oder # netstat -a -p Sind bestimmte Informationen bekannt, kann die Liste nach Protokoll, Port oder Domain eingegrenzt werden: Windows Linux Download „pulist“ from Windows Resource Kit: # lsof –i :587 http://www.petri.co.il/download_free_reskit_tools.htm # lsof –i :smtp C:'WINDOWS>netstat -no # lsof –i @labrat.remote.net C:'WINDOWS>pulist |find /i "587" Weitere Anleitungen zur Analyse offener Netzwerkverbindungen finden Sie unter „Offene Ports und Netzwerkverbindungen auflisten“ bei den Quellangaben. 6.4 Abwehr von Angriffen Je nach Ziel des Angriffs, kann es sinnvoll sein, den Angriff direkt schon beim Internetprovider oder an den eigenen Systemen abzuwehren. Dazu können folgende Aktionen durchgeführt werden. 6.4.1 Abwehr des Angriffes beim Internetanbieter Häufig sind die betroffenen Server nur über eine Netzverbindung an den Netzvermittler angebunden. Diese hat eine bestimmte Bandbreite, die durch die hohe Last des Angriffs ausgelastet wird so dass die Server aus dem Internet nicht mehr erreichbar sind. Netzvermittler sollten eine Paketfilterung beim Verlassen der Pakete aus dem Internet durchführen. Öffentlich verfügbare Listen von Botnetz-IP-Adressen, sog. Blacklists, können hier helfen einen Großteil des Angriffsnetzverkehrs zu unterbinden. Insbesondere ist eine Filterung sehr effektiv, wenn in Zusammenarbeit mit einem Angriffserkennungssystem beim betroffenen Serverbetreiber der Paketfilter dynamisch an den jeweils laufenden Angriff angepasst werden kann. Kontaktieren Sie Ihren Internetanbieter und schildern Sie Ihren Fall. Blockieren der Angriffsquelle beim Internetprovider Ergab die Analyse der Angriffsquelle (siehe Punkt 5.3 – Analyse der Angriffsquelle), dass der DoS Angriff von einigen wenigen IP-Adressen ausgeführt wird, oder alle aus einem bestimmten Bereich stammen (z.B. gleiches Ursprungsland), können Sie Ihren Internetprovider kontaktieren. Schildern Sie Ihm die Sachlage und verlangen Sie die Sperrung der Angriffs-IPs. Dadurch kommen die Angriffspakete gar nicht mehr bis zu Ihrem Rechenzentrum. Kontaktieren Sie Ihren Internetanbieter zur Sperrung identifizierter Angreifer-IP-Adressen. Verhinderung von gefälschten IP-Adressen Ihr Netzvermittler (Ihr Internetprovider) sollte Verkehr von gefälschten IP-Adressen aus dem Internetverkehr herausfiltern. Kontaktieren Sie Ihren Internetanbieter zur Sperrung gefälschter IP-Adressen. 6.4.2. Abwehren des Angriffs im eigenen Rechenzentrum Hat die Angriffsanalyse ergeben, dass der Angriffsursprung von einigen wenigen IP-Adressen, oder aus einem bestimmten IP-Bereich stammt, kann eine Sperrung von Angriffs-IP-Adressen am Router/ Firewall helfen den Angriff einzudämmen. Konfigurieren Sie Ihren Router oder die lokale Firewall des angegriffenen Systems so, dass die Anfragen von verdächtigen, einzelnen IP-Adressen oder Adressbereichen abgewiesen werden (Router/Firewallspezifisch). Im folgen werden unterschiedliche Beispiele aufgeführt, die je nach Anwendungsfall zum Einsatz kommen können: Beispiel: Abweisen eines bestimmten Netzbereiches (CIDR Notation) Windows Linux Befolgen Sie die Anleitung: # iptables -I INPUT -s 88.224.0.0/16 -j DROP http://forums.webhostautomation.com/showthread. php?t=2906 Hier wird der IP-Bereich 88.224.0.0 to 88.255.255.255 verworfen. Beispiel: Beschränkung pro Client auf max. 10 Verbindungen in 80 Sekunden auf Port 80: Windows Linux Software-spezifisch # iptables -A INPUT -p tcp --dport 80 -i eth0 -m state -state NEW -m recent –set # iptables -A INPUT -p tcp --dport 80 -i eth0 -m state -state NEW -m recent --update --seconds 80 --hitcount 10 j DROP Beispiel: IP-Sperre bei mehr als 15 offenen Verbindungen pro Client Windows Linux Software-spezifisch # iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 15 -j REJECT --reject-with tcp-reset Beispiel: Abwehren einer TCP-Syn Flood Attacke Ergab die Logfileanalyse, dass Angreifer sehr viele TCP-Syn Pakete schicken kann eine TCP-Syn-Attacke vorliegen. Erkennen kann man einen SYN-Flood Angriff per netstat. Werden dort übermäßig viele halboffene Verbindungen angezeigt (SYN_RECV unter Linux), versucht sich wahrscheinlich gerade jemand mit den SYN-Flood an dem angegriffenen System: 1 # netstat -tuna | grep SYN_RECV 0 0 238.100.72.228:80 2 tcp 3 tcp 0 0 238.100.72.228:80 4 tcp 0 0 238.100.72.228:80 5 tcp 0 0 238.100.72.228:80 6 tcp 0 0 238.100.72.228:80 7 tcp 0 0 238.100.72.228:80 8 tcp 0 0 238.100.72.228:80 9 tcp 0 0 238.100.72.228:80 10 tcp 0 0 238.100.72.228:80 11 12 tcp 0 0 238.100.72.228:80 13 tcp 0 0 238.100.72.228:80 14 15 # netstat -tuna | grep SYN_RECV 173.245.53.192:16382 173.245.53.196:44832 173.245.53.192:37942 173.245.53.200:44592 173.245.53.239:14759 173.245.53.197:13967 173.245.53.199:46809 173.245.53.201:13541 173.245.53.201:29701 173.245.53.193:23818 [...] SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV SYN_RECV | wc -l Zur Unterbindung dieser aktivieren Sie TCP-Syn-Cookies: Windows (2000, 2003) Linux Registry Key anlegen: # echo 1 > /proc/sys/net/ipv4/tcp_syncookies HKLM\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters Wert „2“ festlegen Default ab Windows Server 2008 Ihre Firewall unterstützt ggf. das Blockieren einer TCP-Syn Flood Attacke: Windows Linux Software-spezifisch # iptables # iptables # iptables burst 3 -j # iptables -N syn_flood -A INPUT -p tcp --syn -j syn_flood -A syn_flood -m limit --limit 1/s --limitRETURN -A syn_flood -j DROP Weitere Anleitungen zur Abwehr von Syn-Flood Angriffen finden Sie unter „Abwehren einer TCPSyn Flood Attacke“ bei den Quellen: WICHTIG Die aufgeführten Beispiele können nur einen ersten Anhaltspunkt geben. Sie sind auf keinen Fall vollständig. Ihre Anwendung hängt immer vom speziellen Einzelfall ab. 7. Quellenübersicht und weiterführende Dokumentation Log-Dateianalyse Linux: http://de.wetena.com/blog/2010/05/20/einfache-ddos-angriffe-identifizieren-und-abwehren Windows: http://www.axeuk.com/xlogan/ Offene Ports und Netzwerkverbindungen auflisten Linux: http://linuxwiki.de/lsof Windows: http://www.nwlab.net/tutorials/netstat/offene-ports-netstat.html Geo-Lokalisierung von IP-Adressen https://www.maxmind.com/app/lookup_city Abweisen eines bestimmten Netzbereiches durch Firewallregeln Linux: http://www.karlrupp.net/de/computer/nat_tutorial Windows: Software-spezifisch Abwehren einer TCP-Syn Flood Attacke Linux: http://daemonkeeper.net/60/syn-flood-kurz-erklaert/ Windows: http://virus-protect.org/synflood.html Impressum Haftungsausschluß Dieser Leitfaden wurde mit größter Sorgfalt erstellt. Er stellt jedoch keinen Anspruch an Vollständigkeit. Die Informationen sind lediglich Ratschläge der Herausgeber. Für deren Richtigkeit, Vollständigkeit und Aktualität der Inhalte übernehmen die Herausgeber keine Gewähr. Herausgeber: Polizeidirektion Villingen Schwenningen Waldstraße 10/1 78048 Villingen-Schwenningen In Zusammenarbeit mit: SCHUTZWERK GmbH Parkstrasse 2 89231 Neu-Ulm Dokumentenversion: Version 1.0, Stand 24.01.2012 Hochschule Furtwangen Fakultät Informatik Robert-Gerwig-Platz 1 78120 Furtwangen