24 Notfallmaßnahmen
Was tun, wenn Ihre Joomla!-Website gehackt wurde? Oder falls nach der Installation einer Erweiterung nur noch weiße Seiten erscheinen? Dieses Kapitel ist Ihre erste Anlaufstelle für Probleme mit Ihrer Website – oder falls Sie einfach nur das Passwort vergessen haben.
Problembehandlungen finden Sie in diesem Handbuch bei den Themen oder Komponentenanleitungen, bei denen die Schwierigkeiten möglicherweise auftreten. Einige Aspekte sind jedoch allgemeiner Natur oder so wichtig, dass sie in diesem Kapitel besondere Aufmerksamkeit verdienen.
Sie erfahren hier, was Sie bei einem Hackerangriff unternehmen, um Ihre Websitebesucher, sich selbst und das Google-Ranking Ihrer Website zu schützen. Die späteren Abschnitte beschäftigen sich mit allgemeineren Fehlermeldungen und Problemen, denen Sie bei der täglichen Arbeit mit Joomla! und der Serverumgebung begegnen können. Eine erste Anlaufstelle, falls Ihnen nach einer Komponenteninstallation ein blütenweißer Bildschirm begegnet und Sie einen schnellen Tipp benötigen, wie die PHP-Fehlerausgabe aktiviert wird.
Vollständig kann diese Tippsammlung natürlich nicht sein, dafür ist die Vielfalt an Kombinationen von Joomla!, Erweiterungen und Servern zu mannigfaltig. Finden Sie für die von Ihnen beobachteten Probleme keine Lösung in diesem Handbuch, besuchen Sie die Foren unter http://www.joomlaportal.de, http://forum.joomla.de bzw. das umfangreichste und aktuellste, aber englischsprachige unter http://forum.joomla.org. In der Community weiß immer jemand weiter, da Sie wahrscheinlich nie der Einzige sind, der auf einen bestimmten Fehler stößt. Betrifft das Problem eine spezielle Erweiterung, bemühen Sie den Support des Entwicklers.
24.1 Sofortmaßnahmen bei einem Angriff
Falls Sie einen Verdacht und/oder eine Bestätigung haben, dass Ihre Website kompromittiert wurde, ist schnelles Handeln angesagt. Denn im schlechtesten Fall infizieren sich jetzt Ihre Websitebesucher mit einem Virus und Ihre Site landet bei Google nicht im, sondern auf dem Index und wird Suchmaschinenbenutzern als gefährlich angezeigt.
24.1.1 Maßnahmen-Checkliste
Bearbeiten Sie so rasch wie möglich die folgenden vier Punkte, um sich und Ihre Websitebesucher vor Schäden zu schützen.
-
Beschränken Sie sofort den Zugriff auf die Website
Nutzen Sie eine IP-Sperre, damit niemand außer Ihnen die Website erreicht. Dazu klicken Sie auf den Button Notfallabschaltung der Admin Tools (siehe Abschnitt 16.3, »Mehr Sicherheit mit Admin Tools«), oder Sie modifizieren die im Joomla!-Hauptverzeichnis liegende .htaccess-Datei per Hand, siehe Abschnitt 22.2.3, »Websitezugriff anhand der IP einschränken«. -
Ändern Sie alle Passwörter
Vergeben Sie sofort neue Passwörter für die Datenbank, alle FTP-Konten und die Administratoren und Super Benutzer Ihrer Joomla!-Website. Sie müssen davon ausgehen, dass jemand außer Ihnen aktuell Zugriff auf alle Systeme hat. Unter Umständen sind weitere Maßnahmen für Ihren Webspace notwendig, kontaktieren Sie deshalb gegebenenfalls Ihren Webhoster, der für solche Fälle einen Notfallplan hat. -
Erstellen Sie ein Backup
Für spätere forensische Untersuchungen ist es wichtig, dass Sie auf alle Dateien und Datenbankinhalte zum Zeitpunkt der Kompromittierung zugreifen können. Ziehen Sie sich deshalb, z. B. mit Akeeba Backup, eine Sicherheitskopie, die Sie im Titel eindeutig als kompromittiert kennzeichnen. -
Deaktivieren Sie die Website, oder spielen Sie ein sicheres Backup ein
Falls Sie sicher sind, dass die Kompromittierung in einer bestimmten Sicherheitskopie noch nicht vorlag, spielen Sie diese auf die Live-Webseite.Achtung: Ein Hackerangriff kann auch lange vor den Kompromittierungssymptomen (Spammailversand über Ihren Server, neue Links auf der Homepage) stattgefunden haben, z. B. schon kurz nach Installation einer sicherheitskritischen Erweiterung. Isolieren Sie den Zeitpunkt, zu dem Ihre Website intakt war, mit viel Sorgfalt und Puffer, verzichten Sie dabei lieber auf die eine oder andere Erweiterung, bei der Sie sich nicht sicher sind.
Falls Sie auf keinen sicheren Stand zurückgreifen können, deaktivieren Sie die Website, denn Sie können nicht sicher sein, ob im Hintergrund Scripts laufen, die ihre zweifelhaften Aufgaben selbstständig, ohne aktiven Webseitenbesuch, durchführen. Stellen Sie vielleicht eine statische Wartungsseite ein, sorgen Sie aber auf jeden Fall dafür, dass keine Scripts mehr ausgeführt werden können, auch nicht über Cronjobs. Im Zweifelsfall löschen Sie per FTP alle Dateien.
Tipp: Kommerziellen Dienst myjoomla.com nutzen
Um ein kompromittiertes oder in Verdacht stehendes Joomla!-System gründlich unter die Lupe zu nehmen, benötigen Sie zunächst keinen teuren Consultant, sondern nutzen einen kostenlosen Audit des Dienstleisters {manage}.myJoomla unter https://myjoomla.com. Das beliebte Tool installiert in Ihrem CMS eine Erweiterung, mit der sich die automatisierten Überprüfungsscripts verbinden, um alle erdenkbaren Schwächen ausfindig zu machen. Geprüft werden die Serverkonfiguration, Einstellungen von Joomla! und Erweiterungen, Verzeichnis- und Dateirechte, aber vor allem sämtliche Dateiinhalte, um etwaigen Schadcode aufzuspüren (siehe Abbildung 24.1).
24.1.2 Schadcode lokalisieren
Nun kann Ihre Website keinen Schaden mehr anrichten, und Sie legen sich einen weiteren Vorgehensplan zurecht. Um Ihre Website möglichst schnell wieder live schalten zu können, isolieren und analysieren Sie die Kompromittierung, um dann zu beurteilen, ob Ihre Website repariert werden kann oder vollständig neu aufgezogen werden muss. Die Methode ist einfach, aber zeitaufwendig: Sie vergleichen alle Dateien aus dem infizierten Backup mit den Originaldateien von Joomla! und allen Erweiterungen. Werfen Sie vorher einen Blick in alle .htaccess-Serverkonfigurationsdateien, denn das sind beliebte Orte, in die Schadcode eingeschleust wird.
Für solch einen Vergleich legen Sie die entpackte Sicherheitskopie der kompromittierten Website in ein Verzeichnis auf Ihrem Rechner, in dem keine PHP-Scripts ausgeführt werden können. (Idealerweise machen Sie das in einer frischen virtuellen Maschine, z. B. über VirtualBox.) Mit etwas Glück schlägt jetzt schon Ihre lokale Antivirensoftware Alarm und meldet infizierte Dateien.
Besorgen Sie sich jetzt die Installationsarchive von Joomla! und aller Erweiterungen, und entpacken Sie sie ebenfalls an einen dedizierten Ort. Achten Sie auf die exakte Übereinstimmung der Versionsnummern. Mit einem Verzeichnis- und Dateivergleichstool halten Sie nun alle Komponenten nebeneinander (siehe Abbildung 24.2). Beispiel für solch ein Programm ist BeyondCompare, erhältlich für alle Betriebssysteme (http://www.scootersoftware.com), das z. B. Dateigrößenunterschiede in einem Verzeichnisbaum farblich hervorhebt und per Mausklick einen Vergleich der Dateiinhalte öffnet.
Schadhaften Code erkennen Sie an einem Unterschied zwischen Originaldatei und Datei der kompromittierten Joomla!-Installation. Meist wurde er verschlüsselt und ist nicht lesbar, aber jetzt wissen Sie, wo die Infektion vorliegt. Damit identifizieren Sie, wie es zur Kompromittierung kam. In der Regel ist eine unsichere Erweiterung schuld an der Misere oder das Ignorieren von Joomla!- und Erweiterungen-Updates. Am häufigsten sind übrigens Komponenten und Plugins betroffen, der Joomla!-Core ist dagegen so gut wie wasserdicht.
24.1.3 Website reparieren oder neu aufbauen
An dieser Stelle entscheiden Sie, welches weitere Vorgehen weniger Aufwand verursacht:
-
Händisches Herausoperieren des Schadcodes bzw. der gesamten infizierten Erweiterung. Da Sie gerade in einer nicht lauffähigen Joomla!-Installation arbeiten, ist eine Deinstallation über Erweiterungen • Seitenleiste Verwalten nicht möglich, siehe Abschnitt 24.2.3, »Erweiterung per Hand entfernen«.
-
Neuaufbau der gesamten Website: aufwendig und zeitraubend, aber oft die sicherste Methode
In beiden Fällen können Sie natürlich die Inhalte Ihrer alten Website wiederverwenden; eine Infektion der Datenbank ist selten. Wenn Sie allerdings eine Erweiterung wie Sourcerer einsetzen, um in Beiträgen oder Modulen PHP- oder JavaScript-Code ausführen zu können, sollten Sie diese Erweiterung zunächst ausgeschaltet lassen und alle Inhaltselemente überprüfen.