Server
Angriffe
In
dem nachfolgenden Artikel möchte ich Ihnen erläutern welche
Arten von Angriffen es auf Ihren Server
gibt und was für Gegenmaßnahmen Sie einleiten können.
Der DDOS Angriff
Mit
DDOS (Distributed Denial of Service) zwingt man Systeme in die Knie,
so dass diese nicht mehr erreichbar sind. Man produziert eine
künstliche Server Überlastung. Wenn Ihr Server Opfer einer
DDOS Attacke merken Sie dies daran, dass Ihr Server nicht mehr
ansprechbar ist und der Traffic enorm ansteigt.
Ihr
Server kann je nach Hardware Ausstattung eine gewisse Anzahl an
Anfragen pro Sekunde abarbeiten. Steigt die Anzahl an Anfragen über
diesen Wert kommt Ihr Server mit der Beantwortung der Anfragen nicht
mehr hinterher. Bei DDOS nutzt man zum Beispiel Bot Netze die aus
tausenden von infizierten Rechnern bestehen. Diese infizierten
Rechner hören auf einen Master Server der ihnen Befehle gibt. So
können alle infizierten Rechner gleichzeitig einen Befehl
bekommen eine Anfrage an einen zu attackierenden Server zu schicken.
Eine einzelne dieser Anfragen würde Ihnen nichts antun. Durch
die Anzahl an Anfragen ist allerdings gewährleistet, dass der
Server die Anfragen definitiv nicht mehr abarbeiten kann. Das führt
dazu dass keiner mehr eine Antwort bekommt und der Server definitiv
nicht mehr erreichbar ist.
Man
erkennt eine DDOS Attacke sehr schnell am rapide steigenden Traffic
des Servers.
Die verschiedenen Arten des
DDOS Angriffs und auf welcher Layer Ebene des Datenpakets diese wirken finden Sie sehr gut auf ovh.de erklärt.
IP Spoofing
Die
Herkunft dieser Attacken kann verschleiert werden, wenn die
anzugreifenden Server nicht direkt attackiert werden. Dabei nutzt man
das IP Spoofing. Dabei werden Anfragen an regulär im Internet
vorhandene Dienste geschickt. Als Absender trägt man den zu
attackierenden Server ein. Man verschleiert also den wahren Absender
(IP Spoofing). Der Internet Dienst antwortet auf die Anfrage und schickt
die Antwort nun an falschen Absender zurück. In diesem Fall ist
das der zu attackierende Server.
SYN Attacken
Bei
einem normalen DDOS Angriff werden einfache Anfragen an den Server
gesendet. Handelt es sich dabei um eine SYN Flood Attacke, ist das
eine abgewandelte DDOS Variante. Dabei wird die Anfrage an den Server
gesendet, die Verarbeitung aber mittendrin abgebrochen. Der Server
wartet dann auf weitere Instruktionen die er nicht bekommt oder
stürzt durch einen Fehler sogar ab. Dadurch werden
Kommunikationskanäle offen gehalten, die eigentlich nicht mehr
existent sind bis der Server keine Anfragen mehr annehmen kann weil
er zu viele offene Kanäle hat.
Bei
SYN Attacken gibt es keinen stark ansteigenden Traffic. Der Dienst
reagiert nicht mehr und es sind sehr viele Kommunikationskanäle
geöffnet die nicht mehr geschlossen wurden (siehe Befehl
netstat)
Gegenmaßnahmen
Wie
kann man sich nun gegen diese hinterhältigen Angriffe wehren ?
Es gibt mittlerweile Dienste wie Cloudflare die man vor eine Webseite
schalten kann. Bei einem direkten Server Angriff können Sie auch
selbst dafür sorgen, dass Sie geschützter sind. Gar nichts
zu tun ist nicht der richtige Weg. Schützen Sie sich soweit Sie
können.
IPTables
Die
IPTables unter Linux ist wie die Windows Firewall. Sie bestimmt
welche Datenpakete an den Server gesendet werden und welche vom
Server wieder nach außen gesendet werden dürfen.
Identifiziert man einen Angreifer von einigen wenigen IP Adressen, so
kann man die IP Adresse mit Hilfe der IPTables sperren. Damit wird
das Paket verworfen bevor es den Server mit einer Anfrage belasten
kann. Wie bedient man die IPTables ? Einige Beispiele:
iptables -L |
listet alle Einstellungen und damit auch gesperrten Adressen auf |
iptables -F |
Löscht alle hinterlegten Regeln |
iptables -A INPUT -s 210.211.212.213 -j DROP |
Alle Pakete die von der Adresse kommen werden automatisch verworfen. So kann ein Angreifer geblockt werden. |
iptables -A INPUT -s 222.47.28.0/24 -j DROP |
Die Daten des Adressblocks /24 werden verworfen anstatt von einer einzelnen IP Adresse |
Das INPUT steht für eingehende Pakete. Dabei gibt es noch PREROUTING
(bevor eine Routing Entscheidung getroffen wurde), FORWARD (geroutete
Pakete), OUTPUT (vom Server erzeugte Pakete nach außen) und
POSTROUTING (nach Routing Entscheidung). Eine erleichternde Bedienung
erhält man über ein graphisches Web Frontend wie Webmin.
Tipp:
Eine sehr gute und vorallem deutsche Erklärung finden Sie in diesem IPTables Tutorial.
Es zeigt anschaulich und ausführlich die Funktionsweise und Befehle.
Das Programm Fail2Ban
kann eingesetzt werden, um externe Hacker automatisch über die
IPTABLES auszusperren. Es überwacht die Logins auf verschiedenen
Ebenen wie SSH, FTP, Mail usw und sperrt die entsprechende IP Adresse
nach einer konfigurierbaren Anzahl an falschen Passworteingaben über
die IPTABLES aus.
Komplette Länder aussperren
Was
bei den Attacken auf den eigenen Server immer wieder auffällt
ist, dass die Angreifer sich auch oft hinter IP Adressen anderer
Länder verstecken. Dazu wird ein Proxy verwendet, der die eigene
Herkunft verschleiert indem die Daten über ein Drittland
geroutet werden. Besonders häufig kommen diese IP Adressen aus
China, Korea, Russland und anderen östlichen Ländern,
obwohl der Angreifer eventuell sogar um die Ecke sitzt. Die Angreifer
erhoffen sich dadurch mehr Anonymität und eine schwerere
Verfolgbarkeit ihrer Taten. Meine Überlegung war, dass ich mit
diesen Ländern und meinen Webseiten nichts zu tun habe. Also
habe ich diese Länder gleich komplett (über IPTables)
ausgesperrt. Es kann aber sehr mühseelig sein sich die
Adressblöcke dieser Länder zusammen zu suchen.
Dementsprechend benutze ich dafür ein Skript, welches ich im
Internet bekommen habe.
Unter
ISO trägt man die Länder ISO Codes ein. In diesem Beispiel
habe ich alle Länder eingetragen, die bei mir immer wieder mal
mit Hackversuchen aufgetaucht sind. Nach dem Start des Skripts unter
Linux werden die IP Adressbereiche ermittelt und über die
IPTables gesperrt.
Skript
zum Aussperren ganzer Länder:
DOWNLOAD DES SKRIPTS
SYN-Cookies
Um
SYN Flood Attacken einzudämmen sollten die SYN Cookies aktiviert
werden. Standardmäßig sind sie unter Linux deaktiviert.
Aktiviert werden können diese mit folgendem Linux Befehl:
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
Für
das Blocken von SYN Attacken gibt es im Internet fertige Skripts.
Diese immunisieren den eigenen Server, so z.B. unter
http://code.google.com/p/synblock/
Cache Optimierung für kürzere Server
Ladezeiten
Bei
einer Anfrage holt der Server
die benötigten Daten von der Festplatte. Besonders häufig
angefragte Daten werden in einen gesonderten Speicher gelegt: den
Cache Speicher. Durch die richtige Konfiguration kann man die
Ladezeiten und damit auch die Anzahl an möglichen Anfragen pro
Sekunde erhöhen. Durch die Optimierung
der Performance laden die eigenen Webseiten schneller und es wird
mehr externe Leistung benötigt, um den Server in die Knie zu
zwingen.
Wie viel ein optimierter Cache bei Mittwald's vServern ausmacht, zeigt eine
Gegenüberstellung der Ladezeiten bei Verwendung des Global Rocket Cache.
So können sich die Antwortzeiten um bis zu 320% verbessern.
In Shopware 4 Systemen verbessert sich die Antwortzeit mit dem Global Rocket Cache von 74ms auf 19ms. Ein Typo3 System kann von 247ms
auf 77ms verbessert werden. Das sind Werte die für das mögliche Potential sprechen, welches nicht ungenutzt bleiben sollte.
|