Sicheres Webhosting: Wie man Hacker ausbremst und die eigene Website schützt
Haben Sie schon mal Ihre eigene Website aufgerufen und sich über unbekannten Inhalt gewundert? Nein? Glück gehabt, denn die Zahl der gehackten Websites nimmt zu, Sicherheitslücken werden immer schneller ausgenutzt. Prominentes aktuelles Beispiel für einen erfolgreichen Hack-Versuch: Die Website des deutschen Kinderschutzbundes (DKSB). Aufgrund einer Sicherheitslücke verschafften sich im Juni Unbekannte Zugriff auf den Server des Vereins und modifizierten den Inhalt der Startseite, auf der dann für einige Stunden kritisch auf das zuvor beschlossene Gesetz gegen Kinderpornographie im Netz Bezug genommen wurde. Das brachte dem Kinderschutzbund nicht nur negative Berichterstattung über die Absicherung seiner Website, sondern auch unvorbereiteten Wartungsaufwand mit einem mehrstündigen Ausfall der Website. Umso tragischer: Der Vorfall hätte wohl vermieden werden können, hätte man einige wichtige Regeln beachtet.
Foto: © sunfleps, Fotolia.com
Aktueller Software-Einsatz
Viele Website-Betreiber setzen auf Content-Management-Systeme wie TYPO3, Joomla, WordPress und Co., schließlich bieten die Software-Pakete die Möglichkeit, schnell und professionell, mitunter sogar ohne Programmierkenntnisse, im Internet eine eigene Präsenz aufzubauen. Aufgrund des frei verfügbaren Quellcodes ist es für Hacker ein Leichtes, Sicherheitslücken im Code zu identifizieren und auszunutzen.
Warum es gerade für Hacker so interessant ist, eine Lücke in einer weit verbreiteten Software zu finden, liegt dabei auf der Hand: Sie schaden durch das Ausnutzen einer Lücke nicht nur einer Person, sondern können weitere Websites, die die gleiche Software-Version einsetzen, mit schadhaftem Code infizieren.
Achten Sie daher stets darauf, die aktuellste Version zu installieren und besuchen die offizielle Website der eingesetzten Software regelmäßig. Die Entwickler reagieren in der Regel sehr schnell auf Sicherheitslücken und bieten Updates oder Workarounds an. Dank vorgefertigter Update-Skripte können in der Regel auch Laien die Aktualisierungen vornehmen. Zudem bieten Webhoster mitunter einen Dienst an, der Sie automatisch über Aktualisierungen informiert und Updates mit wenigen Klicks ermöglicht.
Sichere Passwörter
Auch wenn es trivial klingt, kann man es nicht oft genug sagen: Verwenden Sie ausschließlich sichere Passwörter! Grundsätzlich gilt hierbei die Devise: Umso länger und kryptischer, desto sicherer ist das Passwort. Nutzen Sie keine Eigennamen, Geburtsdaten oder triviale Tastaturzeichenfolgen (z. B. „asdf123“). Wählen Sie stattdessen Phantasiewörter, fügen Nummern und Sonderzeichen hinzu und nutzen sowohl Klein-als auch Großschreibung. Passwort-Generatoren [2] können die Suche nach einem geeigneten Passwort erleichtern. Seine bestehenden Passwörter kann man leicht mit dem „Password Meter“ prüfen [3].
PHP Safe-Mode
Standardmäßig ist bei einem Webhosting-Anbieter der PHP-Safe-Mode aktiviert. Diese Einstellung erfolgt zum Schutz des Webaccounts, da hierdurch Datei-Funktionen und systemnahe Funktionen eingeschränkt und ein möglicher Schaden minimiert werden kann. Oftmals können PHP-Anwendungen jedoch nur dann installiert werden, wenn der PHP-Safe-Mode deaktiviert wurde. Als Website-Betreiber befinden Sie sich hier in einer Zwickmühle, da Sie entscheiden müssen, ob Sie das Risiko der Abschaltung eingehen wollen oder sich für eine andere Software entscheiden.
Grundsätzlich ist die zweite Variante zu bevorzugen, können doch viele Anwendungen mittlerweile auch ohne Deaktivierung des PHP-Safe-Modes betrieben werden. Agieren Sie bei der Rechteverwaltung (chmod) nach dem Grundsatz: So viel wie nötig, so wenig wie möglich.
Apropos: Der Safe-Mode wird mit der kommenden PHP Version 6 gänzlich wegfallen. Die Programmierer sind somit ohnehin gezwungen, Ihren Code zu überarbeiten. [Dieser Textabschnitt wurde gegenüber dem Heft verändert. Siehe dazu die Kommentare]
Sicherer Webhoster
Alle Maßnahmen sind letztendlich nichts wert, wenn der Server, auf dem Ihre Website-Daten liegen, selbst Opfer einer Hacker-Attacke wird. Sofern Sie einen eigenen Server betreiben, achten Sie darauf, auch die Server-Software (Kernel, Apache, SSH, PHP & Co.) aktuell zu halten. Managen Sie Ihren Server aber nicht selbst, ist dies Aufgabe des Hosters. Fragen Sie daher vor der Anmietung nach der Aktualität der Server-Software, die er einsetzt und wie schnell er auf Lücken oder neue Versionen reagiert. Wie wehrt er sich darüber hinaus gegen Attacken von außen? Als seriöser Anbieter wird er Ihnen diese Fragen beantworten können und eine garantierte Reaktionszeit zusichern.
Vorsicht vor Fremd-Inhalten
Das Einbinden von Fremd-Inhalten, etwa via JavaScript oder iFrame, ist reizvoll, kann es doch die Attraktivität einer Website enorm steigern oder sogar Geld damit verdient werden. Das Problem besteht allerdings darin, dass Sie die Kontrolle über die Inhalte an Dritte abgeben. Binden Sie somit Inhalte nur ein, wenn Sie den Anbietern der Fremdinhalte hundertprozentig vertrauen. Besteht ein Zweifel, verzichten Sie lieber darauf. Sonst mutiert Ihre Website durch schadhaften Code von einer privaten Homepage ganz schnell zu einer bösartigen Website, die beispielsweise Daten ausspäht, von Google, Firefox & Co. als gefährliche Seite eingestuft wird und im schlimmsten Fall nicht einmal mehr angezeigt wird.
Backup-Strategie
Wird die Website doch einmal gehackt, sind die Daten meist überschrieben. Treffen Sie daher eigene Vorkehrungen und sichern sich ab, bevor es zu spät ist. Achten Sie bei der Auswahl des Webhosting-Anbieters darauf, dass dieser mindestens einmal täglich Ihre Website sowie die Datenbank auf externen Backup-Servern sichert. Erkundigen Sie sich vorab wie Sie das Backup in einer Not-Situation erhalten können. Zusätzlich sollten Sie selbst nach jeder wichtigen Änderung eine Sicherung Ihrer Website (und Datenbanken) auf Ihrer lokalen Festplatte erstellen. Unterstützung finden Sie hier oftmals im Administrationsmenü der eingesetzten Software. Das ist zwar mühsam, im Ernstfall aber Gold wert.
Fazit
Seien Sie misstrauisch und gehen nicht sorglos mit Ihren Daten um! Nicht jede Person oder Website, die Ihnen auf den ersten Blick etwas Gutes suggeriert, ist auch vertrauenswürdig. Versuchen Sie die Hintergründe zu verstehen und hinterfragen diese bei Bedarf. Achten Sie deshalb auch bei der Auswahl Ihres Webhosting- oder Serveranbieters auf seine Kompetenz, seine Garantien und seine Einstellungen hinsichtlich der Serversicherheit. Eine gute Vorab-Recherche wird Ihnen womöglich eine Menge Ärger ersparen.
Hallo Ronny,
habe den Artikel gerade in der t3n gelesen und bin über den Abschnitt PHP Safe-Mode gestolpert.
Ich glaube da ist etwas durcheinander gekommen. In PHP6 wird der Safe-Mode entfernt werden, nicht wie im Artikel angegeben „die Deaktivierung wegfallen“. In PHP 5.3 ist diese Einstellung bereits als „DEPRECATED“ markiert.
Quelle: http://de3.php.net/manual/en/ini.sect.safe-mode.php
Aus diesem Abschnitt geht hervor, dass der Safe-Mode PHP komplett sicher mache. Leider stimmt dies nicht. Der Safe-Mode erweckt einen falschen Eindruck von Sicherheit. Gerade das Prüfen auf erlaubte Dateirechte-Operationen sind eher weniger Sache von PHP sondern müssen bereits in der Serverumgebung korrekt geregelt werden.
Quelle: http://www.php.net/~derick/meeting-notes.html#safe-mode
Eine PHP-Anwendung die sich nicht unter Safe-Mode installieren lässt sagt weiterhin nichts darüber aus ob die Anwendung sicher programmiert ist oder nicht. Schon das anlegen von Cachefiles im tmp-Verzeichnis kann bei schlechter Serverkonfiguration durch den Safe-Mode geblockt werden. Deshalb eine andere Anwendung auszuwählen halte ich für einen sehr fragwürdigen Tipp.
Viele Grüße,
Adrian
Der Abschnitt zum PHP Safe-Mode enthält einen Fehler: In PHP 6 wird nicht die Deaktivierung des Safe Mode entfallen, sondern der Safe Mode selbst. Zitat von der PHP-Website:
Safe Mode is deprecated in PHP 5.3.0 and is removed in PHP 6.0.0.
Entwickler sollten sich daher Gedanken machen, wie sie ihre Applikationen OHNE Safe Mode absichern, d.h. auf den Ebenen, die dafür zuständig sind, z.B. durch korrekte Rechtevergabe im OS.
In der Tat kann der Passus missverstanden werden, wodurch die Anmerkung bzw. Verbesserung absolut korrekt ist.
Richtig müsste es heißen: Apropos: Die Deaktivierung des Safe-Mode stellt nicht nur eine mögliche Gefahr dar, sondern wird er mit der kommenden PHP Version 6 auch gänzlich wegfallen. Die Programmierer sind somit ohnehin gezwungen Ihren Code womöglich zu überarbeiten.
Das stimmt ja ausgerechnet nicht. Nicht die Deaktivierung wird wegfallen, sondern die Aktivierung. Den kompletten Safe-Mode wird es in Version 6 nicht mehr geben.
Hallo Michael,
das habe ich natürlich auch so gemeint. In der verbesserten Version steht daher das Wörtchen „er“ (wird er (der Safe-Mode) wegfallen).
Der Satz „Standardmäßig ist bei einem Webhosting-Anbieter der PHP-Safe-Mode aktiviert“ ist falsch. Ich kenn mehrere namenhafte Hoster die diese Krücke von Sicherheitsfunktion standardmäßig eben NICHT aktivieren, da sie sich schon beim Aufsetzen der Shared-Server Gedanken zu Berechtigungen/Gruppen/Chroots/Basedirs u.ä. gemacht haben. Das diese damit mindestens genauso sicher sind wie ein Hoster der auf SafeMode setzt, sollte eigentlich jedem der sich mit dem Thema beschäftigt klar sein.
IMO ist der ganze Absatz irgendwie seltsam … der Hinweis auf einen PHP Hardener wie Suhosin u.ä. wäre an der Stelle für die Selbsthoster vielleicht noch interessant gewesen.
Ansonsten Daumen hoch ;) das Thema kann man nicht oft genug wiederholen!