Verborgener Hacker

Die Rettung einer gehackten WordPress-Website

“Guten Morgen meine Sorgen!”, so beginnt der Tag eines Websitebetreibers, wenn er statt der gewohnten Startseite seiner Homepage einen weissen Bildschirm mit einem Fehlercode oder einem Hackergruss auf seinem Bildschirm erblickt. Und schnell kann da die Panik um sich greifen und eine masslose Wut über den Täter, der den Schaden verursacht hat, hochkommen.

hacked by
Es ist nicht allzu lange her, da konnte man in Google den Begriff “hacked by” eingeben und traf auf zahllose gehackte Domains. Häufig genug waren darunter WordPress-Websites zu finden, da zu Beginn WordPress noch relativ unsicher war und findige Hacker sich auf das schnell wachsende Content Management System (CMS) stürzten, um es zu Fall zu bringen. Auch heute findet man bei Google mit solcher Begrifflichkeit einen Haufen gehackter Domains.

hacked by magico, Fatal Error, …
Auch bei unserer Website art-bf.ch war es vor einigen Jahren zu solch einem Hackerangriff und Schaden gekommen. Fazit: Die Site lief nicht mehr richtig, ins Backend kam man nicht mehr rein und nachdem der Zugang zum Backend wieder geschafft war, warteten bei der Bearbeitung der Seiten immer solch hübsche Fehlercodes wie “Fatal Error: Class “WP_User_Query” not found in….” auf uns. Wer das noch nie erlebt hat und das Problem erst recht nicht gelöst, muss in Panik geraten, denn jeder fragt sich in so einem Moment: “Was ist mit den Daten passiert? Sind alle Daten vernichtet?” Aber an dieser Stelle kann man ganz schnell Entwarnung geben. Insbesondere die Bilddateien gehen nicht verloren und sind nicht zerstört, sie befinden sich im Upload-Ordner des Ordners WP Content. Aber die Datenbank kann infiziert sein, die einzelnen PHP-Scripts und vor allem kann das System nicht selbständig denken. Wenn plötzlich eine Datei einen Fehler hat, kann sie mit den anderen nicht mehr richtig zusammenarbeiten und die Zuordnungen nicht selbständig wiederherstellen.

Reparatur- und Lösungsansätze
Bevor man sich an die Lösung des Problems macht, gilt es ruhig zu bleiben, einmal durchzuschnaufen und sich vom ersten Ärger zu befreien, denn Wut blockiert das Denken – eine psychologische Tatsache.

Danach geht es daran, die Fehler zu eruieren und eine Lösung derer zu finden. Ohne hier ein Seminar bei der Behebung von auftretenden Website-Fehlern abzuhalten, will ich auf ein paar Lösungsansätze hinweisen.

  • php MySQL repair: Wer es nicht wusste, die Datenbank MySQL, die über den Server angesteuert werden kann, liefert u.a. nebst den Posts und Usern, die sich darin finden und bearbeiten lassen, auch die Möglichkeit die Datenbank analysieren und reparieren zu lassen. Wer die Tabellen analysiert und repariert, bekommt vom System schnell eine Rückmeldung, wie es um die Datenbank bestellt ist.
  • define( ‘WP_ALLOW_REPAIR’, true ) ist eine weitere Möglichkeit, die WordPress anbietet. Diese Zeile muss man in der WP Config einsetzen und wie hier auf “true” setzen, danach kann man die Website wie folgt aufrufen https://your-site.com/wp-admin/maint/repair.php und danach startet der Reparaturprozess, der ultrakurz oder eben länger dauern kann je nach Grösse der Website und Datenbank und der vorhandenen Fehler. Nach Abschluss der Reparatur sollte man die Datei wieder aus der WP Config-Datei löschen.
  • Passwort über die MySQL-Datenbank wiederherstellen: Wer über das Login nicht mehr ins Backend gelangt, der kann über phpMyAdmin seine Datenbank bearbeiten. Dort muss man “wp_user” aufrufen und kann dort die bestehenden User bearbeiten und ein neues Passwort eingeben oder man kann auch einen neuen User anlegen. Auf diese Weise gelangt man wieder ohne Probleme ins Backend.
  • Die wichtigsten Scripts prüfen: Wer sich je einmal die Zeit genommen hat, die wichtigsten Scripts von WordPress anzuschauen, merkt schnell, wenn ein Script unnötige Code-Mengen aufweist. Die WP Config-Datei, die Index-Datei, die user.php, usw. kann man auch mit einer nicht installierten WordPress-Version vergleichen. Irgendwo hat man ja WordPress auf dem eigenen PC abgelegt, falls nicht, kann man es von WordPress runterladen und die Dateien danach vergleichen. Findet man in wichtigen Dateien grosse Code-Mengen, die da nicht hin gehören, kann man sie entweder löschen oder die Datei mit der frischen Datei überschreiben.
  • Alte Dateien sind ein grosses Sicherheitsrisiko: Template, WordPress und Plugins müssen immer auf dem neuesten Stand sein. Eine der grössten Anfälligkeiten bei WordPress ist die Tatsache, dass WordPress, Templates und Plugins immer up to date gehalten werden müssen. Veraltete Dateien bergen ein grosses Sicherheitsrisiko. Veraltete Plugins führen zu klaren Konflikten und Fehlermeldungen. Alle Dateien sollten auf den neuesten Stand gesetzt werden, damit werden Konflikte vermieden oder zumindest vermindert.
  • WP Debug: Wer nicht weiss, was mit seinem System los ist, der kann den WP Debug-Modus in der WP Config-Datei von “false” auf “true” setzen. Dadurch werden Fehlerzeilen im System (Backend und Frontend) angezeigt, die Aufschluss darüber geben, was nicht rund läuft und wo Konflikte bestehen.
  • Backup einspielen: In der Regel reicht es, wenn man ein Backup über den Webhost wieder einspielt, damit werden Datenbank und Daten auf den Stand vor dem Hackerangriff gesetzt. Ist dies jedoch zu spät, muss eine umfassendere Prüfung und Reparatur durchgeführt werden.
  • Schutzmassnahmen ergreifen: Jeder, der bei sich zu Hause einmal einen Einbruch erlebt hast, weiss, dass er danach Türen und Fenster besser schützt, damit ein wiederholter Einbruch nicht stattfindet. Für Websites bedeutet dies, dass man Sicherheits-Plugins mit Firewall einsetzt oder dies über seinen Server installiert, soweit dies möglich ist. Es gibt zahlreiche etablierte Sicherheits-Plugins. Diese sind für den Schutz einer Website eigentlich Pflicht, aber es finden sich tatsächlich heute noch zahlreiche Website, die aus Faulheit oder Unwissen keine Sicherheitsplugins installiert haben. Auch die Website von http auf https zu setzen gehört dazu, jedoch bietet der reine https-Modus keinen vollständigen Schutz. Es gibt im Internet und WordPress zahlreiche Anfälligkeiten und Lecks, die Hacker ausnützen können. Auch regelmässige Backups der Website (Datenbank und Daten) zu erstellen, gehört zum Must eines Domaininhabers.
  • Man darf sich nie zu sicher sein: Selbst wenn man ein gehackte Website gerettet und wiederhergestellt hat und wenn man noch so clevere Sicherheitsmassnahmen ergriffen hat, die Hackerindustrie schläft nie. Man muss deshalb wachsam sein und selbst oder über Plugins die Website immer überwachen und schnell reagieren, wenn etwas nicht stimmt. Und so gut als möglich ruhig bleiben, wenn wieder jemand zugeschlagen hat. Man kriegt eine gehackte Website eigentlich immer wieder zum Laufen, alles eine Frage des Know-hows und des Aufwandes.

Den Hackerangriff auf die eigene Website festzustellen, ist sicherlich das grösste Ärgernis, das ein Domaininhaber erleben kann. Dass man dabei wichtige Daten verlieren kann, liegt auf der Hand. Insbesondere gilt es daher, seine Daten und Dateien zu schützen und durch regelmässige Backups wieder herstellbar zu machen. Wer grosse Textmengen produziert, kann sich auch überlegen, die produzierten Texte als Word- oder Text-Datei zusätzlich auf dem PC abzulegen. Gerade wer zu spät seinen Schaden entdeckt und nicht häufig Backups gemacht hat, kann nicht auf frische Backups zurückgreifen und könnte so wichtige Texte verlieren.

Alles in allem ist ein Hackerangriff aber kein Weltuntergang, er ist ärgerlich, aufwendig und erfordert viel Know-how, aber die Sache ist zu bewältigen und wenn Sie einmal gar nicht mehr weiter wissen, fragen Sie einfach uns, wahrscheinlich können wir Ihnen helfen.

Schreibe einen Kommentar