Wie man sich gegen Hacker schützen kann
In diesem Artikel werde ich euch aufgrund aktueller Ereignisse einige sehr nützliche Tipps geben, wie man sich vor Hackerangriffen schützen kann. Und ohne allzu langes Vorgeplänker geht es los:
Die .htaccess
Wenn man eine dynamische Seite (wenn man eine statische Seite hat – Stichwort: .html – kann eigentlich kaum etwas passieren oder zumindest nicht, was man selber verhindern bzw. beeinflussen könnte) betreibt – was beim Benutzen von WordPress zum Fall wird – hat der Surfer die Möglichkeit, auf die Seite zu wirken. Nun muss man aber probieren, möglichst das schlechte Treiben des Surfers zu unterbinden.
Dies geht zum Teil mittels der .htaccess. Die .htaccess ist eine Datei, die Text enthält. Auf dem eigenen Windows Computer kann man sie aber so nicht erstellen, da Windows den Punkt nicht als erstes Zeichen einer Datei zulässt. Wer sich gerne näher mit der .htaccess auseinandersetzen möchte, kann sich den Wikipedia-Artikel dazu durchlesen.
Zuerst erstellt man also eine Textdatei “htaccess.txt” (die Dateierweiterung wird nur angezeigt, wenn man die entsprechende Einstellung in den Ansichtsoptionen gewählt hat). Jetzt wird die Textdatei geöffnet und Folgendes eingetragen:
RewriteEngine On
RewriteCond %{QUERY_STRING} (.*)=http(.*)
RewriteRule ^(.*) - [F]Wer Permalinks in seiner WordPress-Installation aktiviert hat wird wahrscheinlich bereits die .htaccess auf seinem Server haben. Dann sollte man sich die .htaccess runterladen, umbenennen und die oberen Zeilen dort eintragen. Da dort dann auch bereits RewriteEngine On stehen müsste, fügt man nur die letzten beiden Zeilen ein. Diese Zeilen bewirken Folgendes (Zitat aus der Supportmail meines Hosters, danke an René B.):
Die ersten 3 Zeilen verhindern, dass schadhafte Dateien wie beispielsweise PHP-Filemanager von fremden URLs über http://… per Parameterübergabe in der URL eingebunden werden können.
Außerdem könnten folgende Zeilen noch von Vorteil sein:
php_flag magic_quotes_gpc on php_flag register_globals off
Die 4. Zeile Schaltet den PHP-Flag magic_quotes_gpc der PHP.ini an, welcher im Wert off unter Umständen die Ausführung von in Formularfeldern eingegebenen PHP- oder SQL-Code zur Folge haben könnte. Ist der Flag hingegen angeschalten, wird allen eingegebenen Hochkommas (‘) oder Anführungszeichen (“) ein Backslash ()vorangestellt, was die Ausführung von eingegebenen Code erschwehren oder sogar verhindern kann.
Die 5. Zeile setzt den PHP-Flag register_globals auf off. Die in einem Script verwendeten Variablen sind so besser von den übergebenen Benutzervariablen isoliert. Die “Injizierung” Ihrer Variablen mit schadhaften Werten wird mit dem Wert “php_flag register_globals off” somit bedeutend erschwert.
Allerdings bringt der Ausdruck php_flag register_globals off mit WordPress einige Schwierigkeiten mit sich. Diese Einstellung erschwert nämlich ebenfalls das Eingeben von Variablen für den Admin – sprich: Beim Erstellen von Artikeln kommt die Fehlermeldung You don’t have permission to access /wp-admin/page.php on this server. Einen möglichen Lösungsansatz dafür gibt es hier (nicht getestet und ich kann auch nicht sagen, welche Wirkung die Einstellungen dort haben).
Und schließlich:
php_flag display_errors off php_value error_reporting off
Die letzten beiden Zeilen schalten das Error-Reporting und die Error-Anzeige aus. Bei eventuell auftretenden PHP-Fehlern werden dem User meist interne Pfadangaben und Scriptinterna ausgegeben, die das Debugging für Entwickler zwar erleichtern, einen möglichen Hackerangriff jedoch ebenfalls, das der Hacker somit wichtige Accountdetails in Erfahrung bringen kann, wie beispielsweise den Pfad zum Webhome und den Accountnamen (/www/htdocs/LOGIN) sowie wichtige andere Parameter und Variablennamen in Scripten.
Einen weiteren Tipp für die WordPress-Sicherheit mittels der .htaccess gibt Reiffix. Dort wird gezeigt, wie man einen weiteren Passwortschutz zur Administrationsoberfläche schafft.
Schließlich lädt man die “htaccess.txt” noch in den Rootordner seiner WordPress-Installation und benennt sie in “.htaccess” um. Fertig!
WordPress Sicherheit
Man sollte erst einmal dafür sorgen, dass die eigene WordPress-Installation immer aktuell ist. Runterladen sollte man immer von der offiziellen Seite WordPress.org oder für die deutsche Edition (die aber auch auf wordpress.org vorhanden ist) von WordPress-Deutschland.org.
WordPress selbst ist weiterhin relativ sicher. Trotzdem gibt es zahlreiche Menschen, die versuchen, Lücken in WordPress zu finden oder in dessen Plugins (je beliebter eine Software ist, desto mehr Hacker probieren in ihr Sicherheitslücken zu finden). Deswegen kann man einmal auf eine nicht so bekannte Software umsteigen oder hält – wie bereits erwähnt – sein WordPress stets aktuell.
Sicherheitslücken werden häufig aber erst durch Produkte von Drittanbietern geöffnet. So bergen Plugins ein recht hohes Sicherheitsrisiko, wie ich erst vor kurzem am eigenen Leib erfahren durfte.
Wieder kann ich nur empfehlen, auch die Plugins aktuell zu halten. In meinem Fall gab es aber kein Update für das Plugin, es hing an Lightbox 2.
Wie erkennt man, dass man gehackt wurde?
Erst einmal sollte man ab und an das Besucherverhalten analysieren. Wenn es ungewöhnliches Besucherverhalten gibt (also wenn ein Besucher z.B. unglaublich viele Hits generiert hat, steigt das Verhältnis Klicks / Besucher dramatisch), sollte man sich auch mal die Seiten ansehen, die der Besucher aufgerufen hat.
Bei mir war es schnell einleuchtend, dass Schadcode injiziert wurde, der Hacker bzw. sein Bot hat einfach Schadcode in die Adressleiste gegeben. Eine URL (von tausenden), die er aufgerufen hat, sah dann ungefähr so aus:
/function%20(iterator,%20context)%20%7B%20%20%20%20iterator%20=%20iterator.bind(context);%20%20%20%20var%20results%20=%20[];%20%20%20%20this.each(function%20(value,%20index)%20{if%20(!iterator(value,%20index))%20{results.push(value);}});%20%20%20%20returnDas Zeichen %20 ist übrigens ein Leerzeichen. Von daher ging es bei mir noch relativ fix. Weiterhin könnte man auch die Logs seiner Seite ansehen (ist auf dem Webspace zu finden, zumindest bei guten Hostern).
Welche Seiten hat der Besucher am öftesten angesteuert? Wenn der Surfer mehrere dutzend Male die Kontaktseite besucht hat, kann man davon ausgehen, dass er es auf das Kontaktformular abgesehen hat und darüber Schaden anrichten wollte. Wenn man eine Suchmaschine auf der Seite hat, funktioniert das aber nicht sonderlich gut, aber man könnte trotzdem dann davon ausgehen, dass dem Hacker unter Umständen ein Schwachpunkt im Plugin des Kontaktformulars bekannt sein könnte.
Ab und an den Quellcode der eigenen Seite durchsuchen. Wenn der Hacker die Seite übernehmen möchte und ihm dies gelingt, wird man dies schnell genug ohne eigene Kontrollen bemerken (Passwort geht nicht, der Blog begrüßt dich mit “Hacked by 1337 =.=5cr1p7k1dd13=.=“), aber wenn dies nicht der Fall sein sollte, sondern er es viel eher auf die Besucher oder andere niedere Ziele abgesehen hat, wird er bestimmt irgendeinen Code in die Seite einschleusen, der vom Besucher ausgeführt wird (Werbung, Download von Viren, etc.). Dies macht sich vor allem durch verlängerte Ladezeiten bemerkbar und durch veränderten Quellcode. Dieser lässt sich aber nicht immer vollständig mit der normalen Quellcodeanzeige eines Browsers darstellen. Hier empfiehlt sich das Firefox Plugin Firebug, welches wirklich alles anzeigt.
Was kann man noch tun?
Man sollte darauf achten, dass man ab und an sein Passwort ändert und auch mal nicht davor zurückschreckt, einen Passwort Generator zu benutzen.
Außerdem sollte man ab und an ein komplettes FTP-Backup vollziehen (ich weiß, vielen wird dies am wenigsten gefallen) und außerdem ein MySQL-Datenbank-Backup. Dies geht mit diesem Plugin aber relativ schnell und einfach von Hand.
Habt ihr noch weitere Tipps, wie man sich vor Hackerangriffen schützen kann? Im Kommentarbereich ist genug Platz dafür!


Ja, mein erster Tipp ist schreib niemals irgendwas über Sicherheit in deinem blog, damit wirst du nur ein attrativeres Ziel und es kann sehr peinlich werden.
Die Standardisierung der ganzen Blogengines (wordpress) ist auch ein Problem, im Prinzip ist ja alles ein Einheitsbrei, ich glaube das macht es Hackern auch einfacher, und OpenSource ist’s ja sowieso.
Mag ja schön sein, dass die Uschi über ihre Katzen blogt, aber richtig Ahnung von dem was sie da eigentlich tut hat sie nicht.
Am Wichitgsten ist grundsätzlich alles zu Prüfen was der User mit der Seite kommuniziert, es ist immer besser zu prüfen, ob das Übermittelte erlaubt ist und nicht, ob es verboten ist.
Stichwort whitelist
Meiner Meinung nach darf DAS und DAS nicht fehlen:
ich kann Torben nur zustimmen. aber eine sehr interessanter artikel
Ich werde mal sehen, ob man das noch mit einem weiteren Artikel ergänzen kann.
@Torben: Einer muss aber mal Tipps geben
Ich denke mal, dass die 3 meist gehackten Produkte WP, Joomla, PHPBB sind.
Ich betreibe selber mehrere WP-Blogs und Joomlaseiten. Bin bis jetzt “Gott sei Dank” noch nicht gehackt werden. Versuche aber auch immer sowenig Plugins wie möglich zu installieren. Auch achte ich, dass meine Seiten immer die aktuelle Version drauf haben und geb sowenig Schreirechte 777 wie nur absolut notwendig ist.
Gruß Stripperin Jill
Yes, das Hacken kann man nicht mal ansatzweise völlig unterbinden, da hilft auch nicht ein wenig .htaccess oder unterdrücken der Errors. Wenn der Hacker die Version von Joomla oder was auch immer rausbekommt und sei das nur, weil eine Datei einen bestimmten Namen trägt, dann kennt er die Sicherheitslücken.
Ich wurde selber schon ein paarmal gehackt und merkte es meistens leider erst viel zu spät. Der Provider behielt sich nur für wenige Tage lang ein Backup auf, ich musste jedesmal alles neu installieren, das war alles andere als lustig.
Dann bin ich auf (gottseidank) http://www.hackalarm24.com gestossen. Da kann man kostenlos prüfen lassen ob man schon gehackt wurde. Ich hab das eine Zeit lang gemacht, dass ich jeden Tag meine Seiten geprüft hab. Aber seit ein paar Wochen hab ich mir den einen Euro im Monat gegönnt und lass mir die Hackinfos an meine mail2sms-Adresse senden. Wenn ich nocheinmal gehackt werden, lass ich umgehend ein Backup von meinem Provider einspielen.
Liebe Grüße,
Tom
Richtig sicher vorm hacken wird mal wohl nie sein da denke ich wie meine Vorredner aber man es ihnen so schwer wie möglich machen. Solch kleine Tipps können da nie schaden