Sicheres Webhosting und der Weg dorthin

Intrusion Prevention System in the Cloud Bei der Suche nach einer Hosting Lösung für ein Internet Projekt wird leider viel zu häufig der Fokus nur auf Merkmale wie den Speicherplatz, die Anzahl der möglichen Datenbanken und die verwendbare Programmiersprache gelegt.
Trifft man dann noch die Entscheidung anhand des niedrigsten Preises unter den verbliebenen Kandidaten, bleibt meist die Sicherheit des Hostings auf der Strecke. Doch was nützt das vermeintlich schnellste und Feature-Reichste Hosting, wenn es gar nicht erreichbar ist, die Daten auf einmal verloren sind oder im schlimmsten Fall, eine dubiose Webseite (Deface) ausgeliefert wird, die den eigenen "guten Ruf" ruiniert.

Wir möchten hier unsere Erfahrungen teilen und Möglichkeiten aufzeigen, wie man ein sicheres Hosting aufbauen kann ohne Unsummen von Geld auszugeben.

layers

Die unterschiedlichen Ebenen der Sicherheit beim Hosting

Das Thema Sicherheit lässt sich beim Hosting in 4 Ebenen einteilen.
Sicherheitsebene 1
Hier geht es um die Sicherheit des Rechenzentrums in dem der Server für das Hosting steht. Zugegeben, man selbst hat da keinen Einfluss auf die Sicherheit des Gebäudes, die ausfallsicher Stromversorgung und die obligatorische Klimatisierung - aber man kann durch die Auswahl eines Anbieters der entsprechende Sicherheiten garantiert viel richtig machen. Im Zweifel helfen einem die Erfahrungen anderer Kunden um einen Provider zu finden der einen guten Ruf hat.
Sicherheitsebene 2
Auch hier ein Bereich auf den man selbst keinen Einfluss hat - das Netzwerk im Rechenzentrum. Hier ist der Provider in der Pflicht Redundante Geräte (Switches, Router, etc.) und eine Firewall zu verwenden. In diesem Punkt gilt es wie zuvor, man muss dem Hoster vertrauen und im Zweifel auf Erfahrungsberichte zurückgreifen.
Sicherheitsebene 3
In dieser Ebene geht es um den Server selbst. Also Software Updates, Backups und die Überwachung der wichtigen Funktionen des Servers. Die Auswahl der richtigen Hardware, so dass diese zum Projekt und dessen Anforderungen passt ist zum Einen wichtig und zum Anderen, dass das System an den wichtigsten Stellen redundant ausgelegt ist (Netzteil, Festplatte, Netzwerk).
Sicherheitsebene 4
Das Projekt selbst - also alle Funktionen die das Internet Projekt anbietet, sollten sicher sein. Dies kann durch Security Audits sichergestellt werden, die aber meist aufwendig und damit teuer sind. Besser man vertraut bereits bei der Umsetzung auf die Erfahrung von Entwicklern. Sollte also nicht unbedingt den Junior Developer mit dieser Aufgabe betrauen.

Fazit
Durch eine gute Auswahl von Rechenzentrum und dessen Netzwerk kann man selbst schon einmal 2 Sicherheitsebenen abhaken. Die Sicherheit der Stufen 3 und 4 hat man selbst in der Hand. Im folgenden soll aber nur Ebene 3 genauer betrachtet werdem, da die Sicherheitsebene 4 nicht unbedingt eine generelle Betrachtungsweise erlaubt.

important_devices

Hardware Auswahl: Die Sicherheit des Hostings

Hosting Lösungen gibt es in unterschiedlichen Formen. Am häufigsten genutzt sein dürfte das "shared Hosting".
Der Einfluss den man auf die Sicherheitsoptionen des shared Hosting nehmen kann ist minimal, wenn sie denn überhaupt vorhanden sind.
Die meisten Möglichkeiten hat man mit einem dedizierten Server. Cloud Server und vServer sind zumindest noch auf Betriebssystemebene gut zu sichern.
Bei Cloud Servern sind die Möglichkeiten jedoch schon wieder begrenzt.
Doch es gibt auch Gemeinsamkeiten: Aspekte der Produktsicherheit, die für alle Hosting-Varianten gelten.
Dazu zählen regelmäßige Backups, denn sie sind die beste Vorsorge für den Fall eines Datenverlusts oder den Totalausfall des Hosting.

settings_backup_restore

Das Minimum an Sicherheit - Backup und Restore

Backups zu erstellen macht auf jeden Fall Sinn. Zum Einen sollten wichtige Dateien und Verzeichnisse gesichert werden und falls verwendet, darf man die Datenbanken nicht vergessen!
Doch beim reinen Erstellen, darf es nicht bleiben, denn was nützt das beste Backup, wenn es nicht auf einem externen Datenträger liegt und sich gleichfalls mit dem Tod der Festplatte verabschiedet.
Die meistgenutzte und auch Einfachste Möglichkeit ein Backup auf einen externen Datenträger zu sichern, ist das Verschieben per FTP.
Oft bieten die Provider FTP Backup Speicher an, den man für kleines Geld nutzen kann.
Es gibt zahlreiche kostenlose Tools die man nutzen kann um ein Backup zu erstellen und per FTP zu verschieben. Die meisten setzen dabei auf inkrementelle Backups. Das heißt, es wird nur gesichert was sich auch geändert hat. So spart man eine Menge Speicher. Diese Ersparnis hat aber einen Haken und zwar in dem Moment, wo man das Backup wieder zurückspielen muss.
Dies kann durchaus mehrere Stunden oder, wie wir es schon selbst erlebt haben, auch Tage dauern. Das ist aus unserer Sicht keine Lösung. Schließlich will man im Falle eines Crashes schnell wieder online sein.
Meist kann man die Backup Tools die inkrementelle Backups erstellen können so konfigurieren, dass sie das eben nicht tun. D.h. man hat ein Vollbackup.
Im Optimalfall hat man so eine einzelne Datei, die man sich per FTP zurück auf das Zielsystem holt und entpackt. Das ist in der Regel in überschaubarer Zeit erledigt und man hat wieder einen funktionierenden Server.
Automatisiert man nun die Backuperstellung und das Verschieben per FTP ist ein großer Teil der Sicherheit gewährleistet.
Die Häufigkeit der Backups und wie lange Backups aufbewahrt werden muss man dabei für sich selbst entscheiden. Unsere Empfehlung ist, die Backups mindestens 7 Tage vorzuhalten.

Beim Shared Hosting sind Backups natürlich ebenso wichtig und auch möglich. Mitunter bieten die Provider selbst Funktionen an, um Backups zu erstellen und auf externen Speicher zu verschieben.
Fehlt diese Möglichkeit muss man sich mit eigenen Lösungen behelfen. Man kann die Backups selbst erstellen, indem man sich mit einem FTP Klienten die Daten auf den lokalen Rechner zieht oder man schreibt ein kleines Shell Skript, was diese Aufgabe automatisiert erledigt.

update

Systemupdates

Wichtig für die Sicherheit des Servers sind ebenso regelmäßige Updates des Betriebssystems und der Software die auf dem Server installiert ist.
Zu nahezu jedem Betriebssystem gibt es Maillisten in die man sich eintragen kann und man erhält dann Benachrichtigungen wenn es Aktualisierungen und Patches für das Betriebssystem gibt.
Beim Shared Hosting ist man wieder auf den Provider angewiesen, denn nur er kann Updates einspielen. In der Regel tun die Provider das auch, man sollte aber darauf achten, wie oft das geschieht und an welchen Tagen und Uhrzeiten die Updates durchgeführt werden. Es ist zwar schön ein stets aktuelles System zu haben, dies sollte man sich aber nicht durch häufige und länger andauernde Ausfälle durch Wartung erkaufen.

swap_horizontal_circle

Redundanz durch RAID Festplatten

Die Festplatten einen Servers sind in aller Regel die am meisten gestressten Komponenten. Neben einer hohen Zugriffsgeschwindigkeit und Datenrate der Fetsplatten sollte man darauf achten, dass ein RAID Verbund vorliegt. Beim RAID gibt es verschiedene Verfahren, zum Einen die auf Geschwindigkeit getrimmten, wie RAID0 und die auf Redundanz, also Datensicherheit optimierten, wie RAID1. Es gibt auch den Mischbetrieb aus Redundanz und Geschwindigkeit, was allerdings mehr als 2 Festplatten im Server erfordert.
Aus unserer Sicht ist RAID1 zu wählen, sofern der Server nur 2 Festplatten besitzt.
Ob nun Software- oder Hardware Raid ist dabei eher zweitrangig. Das Hardware RAID hat natürlich den Nachteil, dass der RAID-Controller kaputt gehen kann und die Redundanz der Festplatten somit obsolet ist.
Hat man ein redundantes RAID im Server muss man natürlich noch dafür sorgen, dass man im Falle eines Problemes dies auch mitgeteilt bekommt um aktiv zu werden.

notification_important

Hosting Monitoring rund um die Uhr

Auch mit aktuellen Betriebssystem und redundant ausgelegter Serverhardware, kann der angebotene Dienst versagen. Der Grund dafür kann vielfältig sein, auf jeden Fall ist es wichtig zu wissen, dass ein Dienst ausgefallen ist und das am Besten noch bevor die eigenen Kunden einen davon unterrichten.
Gewährleisten kann dies ein Monitoring Service der rund um die Uhr bestimmte Dienste, Geräte oder Verbindungen überwacht und bei Ausfall eine E-Mail oder SMS sendet. Bei den Monitoring-Diensten kann man auf lokal genutzte Systeme wie Cacti oder Munin zurückgreifen oder aber man nutzt externe Anbieter wie man sie einfach mit Google unter dem Begriff "Monitoring Service" findet.
Der Einsatz solcher flexiblen Lösung ist natürlich nur auf Dedicated Servern, vServer oder Cloud Servern möglich. Bei allen anderen Hosting Lösungen sind Sie auf die Mithilfe des Anbieters angewiesen. Oft bieten die Hosting Provider aber auch eigene Lösungen zur Überwachung an.

supervised_user_circle

Hosting Support und Verfügbarkeit

Der Support spielt eine wichtige Rolle beim Hosting, eben auch wenn es um die Sicherheit geht.
Selbst wenn der Provider mit einer 99,99%'igen Verfügbarkeit des Hostings wirbt, ist es von hoher Bedeutung, wenn man im Ernstfall einen Ansprechpartner im Rechenzentrum hat.
Was nützt sonst ein Monitoring, was zum Beispiel den Ausfall einer Festplatte erkannt und gemeldet hat aber niemand da ist, der die Platte tauschen und wieder in den Server einbinden kann.
Diese Serviceleistung, also ein guter Support, ist keinesfalls selbstverständlich. Hier hilft ein SLA (Service Level Agreement) welches der Provider von sich aus anbietet oder man verhandelt es selbst. Dort ist geregelt welche Leistungen innerhalb welcher Zeiten erbracht werden müssen und wie hoch die Kosten sind.
Oft wirbt der Hosting Anbieter mit einer Verfügbarkeit. Übliche Angaben sind 99% oder 99,99%. Der Unterschied scheint marginal aber auf ein Jahr gesehen, und darauf beziehen sich diese Angaben, sind die 0,99 Prozent etwas mehr als 3 Tage zu akzeptierende Ausfallzeit.
Ob man damit leben kann muss jeder für sich selbst entscheiden. Auf der anderen Seite sind 100% Verfügbarkeit kaum zu erreichen, da auch der Hosting Anbieter von externen Einflüßen abhängig ist.
Im Cloud Hosting wird oft von 100 prozentiger Ausfallsicherheit gesprochen. Wenn man bedenkt, dass mehrere Server, sogenannte Cluster, zu eine Verbund zusammengeschlossen sind, ist das theoretisch auf möglich. Fällt ein Server des Cluster aus, funktionieren trotzdem noch alle Dienste. Die Gefahr eines Netzwerkdefekts kann aber auch dieses System lahmlegen.

fingerprint

Systemsicherheit

Mit der Entscheidung für die bestmögliche Hosting Lösung, legt man den Grundstein für die Sicherheit.
Wenn der Hosting Provider sein internes Netzwerk mit eine Core-Firewall absichert dürften DOS Attacken und ähnliche Angriffe auf das Hosting von dieser abgewehrt werden. Ein lahmlegen der Server-Dienste ist somit schon einmal unwahrscheinlich.
Spezielle Angriffe auf Dienste des Servers wehrt diese Firewall allerdings nicht ab. Hier kommt es darauf an den Server selbst zu sichern.
So kann zum Beispiel ein Portscan von aussen schon einmal darauf hinweisen, dass man gleich oder auch viel später angegriffen wird. Weiß der Angreifer welche Dienste auf dem Server laufen, wird er Schwachstellen in diesen Diensten suchen. Oftmals gibt es bekannte Schwachstellen, die man aber durch Systemupdates weitestgehend schließen kann. Bei unbekannten Schwachstellen wird es schon weitaus schwieriger diese abzuwehren und auch das Durchprobieren von Zugangsdaten für die Dienste muss man anders verhindern.
Hier hilft ein IDS (Intrusion Detection System). Dieses sucht nach Mustern die potentielle Angreifer hinterlassen und informiert den Administrator des Servers.
Einen Schritt weiter gehen IPS (Intrusion Prevention System) Systeme, die Angriffe wie Brute-Force Attacken bspw., erkennen und den Angreifer direkt aussperren, damit er keinen Schaden anrichten kann. Hilfreiche Tools zu diesem Thema gibt es viele und es gibt auch externe Dienste die einem helfen, solche Angriffe zu erkennen und entsprechend zu reagieren.
Die Cloud-IPS ist beispielsweise so ein Dienst. Sie erkennt Angriffsmuster und sperrt die ungebetenen Gäste aus. Diese Cloud-IPS geht aber noch einen Schritt weiter.
Sie sammelt Informationen zu Angriffen auf alle angeschlossenen Systeme. Die Cloud-IPS kann so entscheiden, ob Sie auch andere angeschlossene Server präventiv schützen soll. Denn häufig gibt es Angriffsmuster, wenn zum Beispiel über mehrere Stunden hinweg in Deutschland stehende Server vermehrt aus Asien angegriffen werden, so kann die Cloud entscheiden, alle Server in Deutschland vor diesem IP-Netz zu schützen.

check_circle

Fazit: Sicherheit ist machbar

Mit dem hier vorgestellten Wissen sollte die Auswahl eines zum Projekt passenden Hosting Angebotes gelingen. Achtet man zudem auf die genannten Sicherheitsaspekte, den Datenschutz und vernachläßigt das Thema Sicherheit auch nicht beim Einrichten des Hosting, stehen die Chancen gut ein zuverlässiges und sicheres Hosting zu betreiben.

Letzte Änderung: 30.08.2018