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