Wurde Ihre Website gehackt?
- Weinen Sie? Haben Sie Geld verloren?
- Sind Dinge kaputt oder Spam und Junk-Links überall auf Ihrer Website platziert?
- Sind Sie total gestresst und möchten sich die Haare ausreißen?
- Wissen Sie nicht, wo Sie anfangen sollen?
Keine Sorge, ich zeige Ihnen, wie Sie alles sorgfältig wieder zusammensetzen (hoffentlich), ohne Daten zu verlieren UND wie Sie Ihre Website sichern, damit so etwas nicht noch einmal passiert.
HINWEISE:
- Einige Schritte können nur durchgeführt werden, wenn Sie Zugriff auf den Server haben.
- Wenn Sie keinen Zugang zum Server haben, müssen Sie Ihren Webhost darum bitten, oder Sie überspringen den Schritt.
- Wenn alles fehlschlägt, beauftragen Sie bitte einen Entwickler, der weiß, was er tut.
- Eine typische Reparatur kann 500 Euro kosten, oder kostenlos sein, wenn Sie eine Hack-Garantie bei Ihrem Webhost oder Sicherheitsdienst/Plugin haben.
SCHRITT 1 – die Website abschalten
Sie können die Website auch einfach abschalten. Benennen Sie das Website-Verzeichnis um. Oder eine Wartungsmeldung einfügen. Das bleibt ganz Ihnen überlassen. Wenn Ihre Website andere in die Irre geführt hat, hat Ihr Hoster Ihre Website vielleicht schon heruntergenommen.
Das ist viel professioneller, damit Ihre Marke nicht in Verruf gerät. Einige von Ihnen werden vielleicht argumentieren, dass Sie "Umsätze verlieren"… aber ich sage Ihnen, wenn Kunden sehen, dass Ihre Website gehackt wurde, werden sie Ihnen nicht mehr ihr Geld und ihre Kreditkartendaten geben (selbst nachdem Sie sie repariert haben).
SCHRITT 2 – Prüfen Sie wichtige Website-Dateien
Normalerweise ist dieser Teil für einen Entwickler ganz offensichtlich. Sie sehen sich das Verzeichnis Ihrer Website an und wissen bereits, welche Dateien dort nicht sein sollten. (Denn Sie wissen, welche Dateien dort hingehören und welche nicht.)
Aber für alle anderen… folgen Sie diesen Schritten:
- .htaccess prüfen
- wp-config.php prüfen
- index.php prüfen
Löschen Sie jeden seltsamen Mist (Hackcode), den Sie dort sehen.
Die am einfachsten zu erkennenden Hacks befinden sich ganz oben und unten im Code. Die schwierigsten befinden sich manchmal in der Mitte der Datei. (Ja, es ist eine totale PITA, wenn Sie Hackcode tief in einer langen Datei vergraben haben).
- Manchmal sieht er aus wie eine Anfrage an eine Domäne, die Sie noch nie gesehen haben.
- Manchmal ist er verschlüsselt/verschleiert und sieht aus wie
/r0X/b4a/1xz9
/ (nur 800 Mal länger). - Andere Beispiele für schlechten Code – Wordfence
Und wenn Sie nicht wissen, was dort sein sollte oder nicht, vergleichen Sie es einfach mit Ihren Backups. (Und wenn Sie kein Backup haben, dann sollten Sie sich einfach im Spiegel ansehen und mit dem Finger wackeln.)
Sie sollten auch auf Aufrufe von Nicht-WordPress-Dateien achten.
Diese sind schwer zu erkennen, wenn man kein Entwickler ist. Zum Beispiel… schauen wir uns die index.php an:
- Hier sehen wir normalerweise etwas wie
require DIR . '/wp-blog-header.php';
- Aber wenn Sie auch darunter
require DIR . '/wp-blogheader.php';
– dann wissen Sie, dass Sie diese Datei überprüfen sollten und sehen, zu welchem anderen Mist sie führt. (Und dann löschen Sie sie alle.) Ja… es ist, als ob man ein Rattennest von gehackten Dateien ausfindig macht.
SCHRITT 3 – Theme-Dateien überprüfen
Der nächste offensichtliche Ort, um nach Hacks zu suchen, ist Ihr Theme. Gehen Sie in Ihr Theme-Verzeichnis und überprüfen Sie die üblichen Stellen:
- index.php
- functions.php
- header.php (oder wie auch immer die Header-Vorlagendateien heißen)
- Seitenvorlagendateien (Seiten, Beiträge, CPT, usw.)
Wenn Sie seltsame Dinge an seltsamen Orten sehen, entfernen Sie sie. Sie wissen nicht, was seltsam ist? Vergleichen Sie mit Ihrem Backup!
SCHRITT 4 – Überprüfen Sie die Adresse der Website in der Datenbank
Setzen Sie die Url Ihrer Website zurück (falls sie geändert wurde).
- Wenn Ihre Website die Benutzer woanders hinleitet, gehen Sie in die Datenbank (mit phpMyAdmin) und schauen Sie in die Tabelle
wp_options
(das "wp" könnte ein anderes Präfix sein). - Suchen Sie dann nach den Zeilen
siteurl
undhome
und ändern Sie sie zurück auf Ihre Domain, falls sie auf etwas anderes geändert wurden. - Sie können auch in wp-config nachsehen, ob dort ein fest kodierter Aufruf der Site-Url vorhanden ist.
SCHRITT 5 – nicht autorisierte Benutzer entfernen
Inzwischen sollten Sie so viel repariert haben, dass Sie sich wieder bei Ihrer Website anmelden können. Jetzt ist es an der Zeit, alle Konten zu löschen, die der Hacker möglicherweise angelegt hat.
- Gehen Sie zu Ihrem Webhosting und löschen Sie alle E‑Mail- oder FTP-Konten, die Sie nicht kennen.
- Prüfen Sie, ob es in WordPress neue "Admin"-Benutzer gibt, und löschen Sie die, die es nicht geben sollte.
- Eine weitere gängige Taktik von Hackern ist es, ein normales Benutzer-/Kundenkonto zum "Administrator" zu machen und vielleicht sogar dessen E‑Mail/Passwort zu ändern.
Wenn das Passwort Ihres eigenen Administratorkontos geändert wurde (und Sie nicht reinkommen), können Sie über die Datenbank Zugang zum WordPress-Administrator erhalten.
SCHRITT 6 – Scannen nach schädlichen Dateien
Lassen Sie einen Malware-Scanner laufen, um Zeit zu sparen und auch Dinge zu finden, die Sie vielleicht übersehen haben.
- Loggen Sie sich ein und installieren Sie Wordfence (die kostenlose Option ist in Ordnung) und führen Sie dann den Malware-Scanner aus.
- Er wird alle schädlichen und potenziell schädlichen Dateien für Sie finden.
- Einige Empfehlungen sind leicht zu beheben. Bei anderen müssen Sie manuell scannen und entscheiden, ob es sich um Hacks handelt oder nicht.
Was sind "schädliche Dateien"?
- Ausgehende Weiterleitungen zu anderen Websites (in der Regel kommerzielle, pornografische oder Glücksspiel-Links).
- Ausgehende DDOS auf anderen Websites/Servern (kann eine IP sein).
- Hintertüren (Code, der es Hackern ermöglicht, auf Ihren Server zu gelangen und Dateien hochzuladen).
- Skripte für den Datenbankzugriff (Adminer.php) – damit können sie Ihre Datenbankdaten ändern oder stehlen. Das Adminer-Skript funktioniert genau wie phpMyAdmin, aber Sie können es von Ihrer Domain.… aufrufen, z. B.
ihre-seite.de/adminer.php
.
Nochmals… wenn Sie nicht wissen, was dazugehört oder nicht, vergleichen Sie einfach mit Ihrem Backup!
SCHRITT 7 – Finden Sie die Schwachstelle
Hahaha… Sie dachten, Sie wären fertig, was?! (Geben Sie es zu!) Sie waren gerade bereit, rauszugehen und zu spielen. Nein, Kollege. Hier müssen Sie die Arbeit des Profis machen…
…Zeit, um herauszufinden, wie der Hacker reingekommen ist.
Und wenn Sie das nicht tun, kommen sie wahrscheinlich wieder rein und Sie müssen die ganze Zeit für die Reparaturen aufwenden. Vielleicht sogar noch mehr, denn dieses Mal werden sie sich noch mehr anstrengen, um ihre Hacks besser zu verstecken (und noch mehr Hintertüren zu schaffen, um sich wieder Zugang zu verschaffen).
Woher die PROS wissen, wie der Hacker eingedrungen ist…
Einfach Intuition. Lol, ich weiß, das ist nicht hilfreich, aber es ist wahr. Ich kann mir eine Website ansehen und sofort erraten, wie der Hacker reingekommen ist. Ich wünschte, ich hätte etwas Wissenschaftlicheres zu sagen. Von den 101 Stellen, an denen man suchen kann, wissen Profis instinktiv, wo sie zuerst suchen müssen, und sie finden die Lücke (Schwachstelle) früher. Das ist der Wert der Beauftragung eines Profis.
Was aber, wenn Sie kein Profi sind?
Hier sind die möglichen Zugriffe die das Hacking ermöglichen können:
- WordPress-Kern – vor allem, wenn er nicht regelmäßig aktualisiert wird
- Theme – vor allem, wenn es ein schlecht codiertes Theme ist, nicht aktualisiert/gewartet wird oder spezielle Funktionen hat.
- Plugin – alles, was nicht gut kodiert oder nicht aktualisiert ist. Am häufigsten sind Plugins, die Frontend-Eingaben in der Datenbank speichern… im Grunde alles, was ein Formular hat oder Benutzereingaben erlaubt. Auch alles, was externe Verbindungen herstellt oder akzeptiert (wie Plugins, die sich mit dem Heimserver verbinden oder API-Zeugs machen).
- Schlechte Webhosting-Konfigurationen – Schwächen in der htaccess- oder Webserver-Konfiguration. Veraltetes PHP, MySQL.
Ein wirklich guter Ort zum Überprüfen ist Ihre Website error.log
in Ihrem Website-Verzeichnis. Normalerweise geben gehackte Themes oder Plugins Fehlermeldungen aus, da ihr Code verändert wurde. Und wenn Sie viele Fehlermeldungen von einem bestimmten Plugin sehen, dann wissen Sie, dass es wahrscheinlich gehackt wurde.
Nach geänderten Dateien suchen
Von Ihrem Server-CLI aus (wenn Sie Zugang haben) können Sie einige Linux-Befehle ausführen:
find /home/user -type f -ctime -7
– sucht alle Dateien im Verzeichnis/home/user
, die innerhalb von 7 Tagen oder weniger geändert wurden. (Ändern Sie das +-Zeichen, wenn Sie nach Änderungen suchen wollen, die älter sind… normalerweise unüblich.)- Ändern Sie die
-7
so, wie lange es her ist, dass Sie gehackt wurden. Im Idealfall haben Sie es innerhalb von 24 Stunden oder weniger bemerkt. Wenn der Hack etwa 30 Tage zurückliegt… nun… dann möge Gott Ihnen helfen (versuchen Sie es und Sie werden sehen, was ich meine).
Sie sollten auch grep -r "string" /home/user
verwenden – durchsucht das Verzeichnis /home/user
nach allen Dateien mit dem Namen "string"… aber anstelle von "string", ersetzen Sie es durch den folgenden base64-Code.
- base64_decode
- gzinflate(base64_decode
- eval(gzinflate(base64_decode
- eval(base64_decode
- Ich mag auch diesen Befehl:
grep -E '[A-Za-z0-9+/]{4}*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)'
Das Schwierigste am Schließen von Sicherheitslücken…
ist, dass Sie die ursprüngliche schließen müssen (die, durch die der Hacker hereingekommen ist)… sowie die neuen, die der Hacker geschaffen hat (um sich selbst wieder hineinzulassen, nachdem Sie die ursprüngliche geschlossen haben). Vielleicht sind sie durch ein Plugin eingedrungen, aber jetzt haben sie Hintertüren in alle Verzeichnisse eingebaut (WordPress-Core, Theme, andere Plugins, Uploads) und es fühlt sich an, als ob man überall ungeschützt wäre.
Oftmals ist es ein Katz-und-Maus-Spiel zwischen Administrator und Hacker. Der eine schließt und der andere öffnet. Manchmal denkt man, dass man alle erwischt hat, 3 Wochen lang ist die Luft rein… und dann *BOOM* wird die Website wieder gehackt (weil der XXXXXX gewartet hat, bis man nicht mehr hinsieht).
- Viele Profis finden heraus, wie der Hacker immer wieder eindringen kann, indem sie die Zugriffsprotokolle überprüfen und sehen, auf welche Dateien sie zugreifen. Das Problem dabei ist, dass Zugriffsprotokolle in der Regel sehr schnell rotiert (gelöscht) werden, und wenn man sie nicht rechtzeitig überprüft, gehen wertvolle Informationen verloren, die zeigen, wie der Hacker ins System gelangt ist.
- Sie können auch die Prozessliste Ihres Servers überwachen, aber dies zeigt nur Prozesse an, die gerade ausgeführt werden. Wenn der Hacker sie außerhalb der Geschäftszeiten oder wenn Sie nicht aufpassen, ausführt, können Sie das nicht sehen. Die Überwachung der Prozessliste eignet sich nur für laufende Brute-Force-Angriffe, nicht für das Auffinden von Einbruchsstellen.
Schließen der Sicherheitslücke
Wenn Sie die Schwachstelle gefunden haben, ist es in der Regel am einfachsten, das Theme oder Plugin, das die Schwachstelle verursacht hat, einfach zu entfernen. Versuchen Sie nicht einmal, den Code zu reparieren. BESEITIGEN SIE ES EINFACH!
SCHRITT 8 – Ändern Sie alle Ihre Passwörter
Inzwischen sind die Hacks beseitigt, die Sicherheitslücken geschlossen und die neuen Administratorkonten gelöscht. Jetzt müssen Sie nur noch alle Ihre Passwörter ändern. (Und es tut mir so leid… aber auch Nicht-WordPress-Passwörter!)
- WordPress-Administrator-Benutzer – alle von ihnen!
- E‑Mail-Konten – alle, von denen Sie glauben, dass sie kompromittiert wurden oder eines der Administrator-Passwörter verwenden.
- Datenbank-Benutzer
- Webhosting-Anmeldung
- FTP-Konten – alle
- Persönliche E‑Mail-/Social-/PayPal-Konten – alle Konten wie Gmail, Facebook, PayPal, die dieselbe E‑Mail verwenden, auf die in Ihrem Administrator-Benutzerkonto verwiesen wird, und/oder dasselbe Passwort verwenden.
- Server-Root-Login und VPS-Login – ebenfalls, wenn sie dieselbe E‑Mail-Adresse und dasselbe Passwort verwenden.
Dies hat zwar nichts mit Passwörtern zu tun, aber Sie sollten auch die Bereiche Ihrer Website überprüfen, die angeben, an welche PayPal-E-Mail-Adresse die Zahlung erfolgen soll. Sehr oft verweisen Hacker auf ihr eigenes PayPal-E-Mail-Konto und Sie müssen es zurückverfolgen.
SCHRITT 9 – Sichern Sie Ihre WordPress-Website
Absicherung von WordPress-Anwendungen
- XML-RPC-Protokoll – wenn Sie es nicht verwenden. Blockieren Sie es.
- wp-login.php – Sie sollten diese Anwendung gegen Brute-Force-Angriffe schützen.
- Regelmäßige Updates – halten Sie Ihren WordPress-Kern, Ihre Themes und Plugins auf dem neuesten Stand. Aktualisieren Sie alles, was Sie installiert haben, nicht nur die, die Sie benutzen!
- Überprüfen Sie Ihre Themes/Plugins – installieren Sie nichts, das wie Mist gecodet wurde, oder gehackte/gefälschte Plugins, die Sie von einer "billigen Plugin-Seite" erhalten haben. Verwenden Sie nichts, was von Low-Level-Programmierern programmiert wurde.
- Installieren Sie Sicherheitsplugins – Sicherheitsplugins sind nicht notwendig, wenn Ihr Server gut gesichert ist, aber sie können bei bestimmten Funktionen helfen und Sie warnen, wenn es ein potenzielles Problem gibt. Ich mag Wordfence für gelegentliche Malware-Scans und Login-Benachrichtigungen, aber Sie können auch etwas anderes verwenden, wenn Sie möchten.
- Seien Sie vorsichtig mit allen Formularen, die Sie auf Ihrer Website verwenden. Jeder Ort, an dem Informationen in Ihre Website eingegeben werden können, kann Sie für einen Injektionsangriff anfällig machen.
- Verhindern Sie die Ausführung von PHP in Ihrem Uploads-Verzeichnis.
- Vielleicht möchten Sie sogar ein Sicherheits-Plugin wie Wordfence oder Sucuri laufen lassen, das Sie jedes Mal benachrichtigt, wenn sich ein Benutzer mit Administratorrechten anmeldet und/oder Änderungen an der Website vornimmt. Sie können es 2 Monate lang laufen lassen und dann deaktivieren, wenn alles in Ordnung ist. (Oder lassen Sie es für immer eingeschaltet, wenn Sie möchten.)
Sie können nach Anleitungen googeln, wie Sie diese Tipps zur Absicherung auf Anwendungsebene umsetzen.
SCHRITT 10 – Was haben wir gelernt?
Denn wenn Sie nicht lernen, werden Sie wieder darunter leiden.
- Halten Sie alles auf dem neuesten Stand – WordPress-Kern, Theme, Plugins … und Server-Betriebssystem, Software, Module.
- Verwenden Sie sichere Passwörter – muss ich das noch erklären?
- Verwenden Sie nicht dasselbe Passwort für alles – verwenden Sie nicht dasselbe Passwort für Datenbank, WordPress-Admin, Server-Root, E‑Mail, Facebook, Bankkonto, PayPal. Wenn sie sonst eines bekommen, kommen sie auch in alle anderen!
- Entfernen Sie unbenutzte Plugins – entfernen Sie alles, was Sie nicht benutzen. Das verringert die Wahrscheinlichkeit von Schwachstellen und bietet weniger Verstecke für Hacks.
- Machen Sie Backups – es ist oft einfacher, eine Website wiederherzustellen, als einen Hack zu bereinigen. Selbst wenn Sie die Seite bereinigen wollen, ist es mit einem Backup einfacher, Unregelmäßigkeiten zu finden.
- Halten Sie einen Entwickler und einen Systemadministrator bereit – Sicherheit ist wirklich kein Thema für Heimwerker. Sie sollten Experten zur Verfügung haben, die Ihre Einrichtung überprüfen, bevor es zu Problemen kommt, und die dann auch aufräumen, wenn Sie gehackt werden.
- Sicherheits-Plugins sind nicht narrensicher – ich bin mir sicher, dass viele von Ihnen schockiert waren, als sie trotz eines aktivierten Sicherheits-Plugins gehackt wurden. Hahaha!
Die Reparatur von Hackerangriffen ist eine schmerzhafte und zeitaufwändige Aufgabe, wenn sie korrekt ausgeführt werden soll. Wie Sie sicher schon gemerkt haben, kann man an vielen Stellen sparen. Und die einzige Möglichkeit, dies richtig zu machen, ist, es selbst zu tun oder jemanden zu beauftragen, der erfahren ist und sich wirklich um Ihre Website kümmert.