da es in letzter Zeit einige - überwiegend fruchtlose - threads rund um die Themen “kann mich plötzlich nicht mehr einloggen..” oder “Site plötzlich down..” gab, hier der Versuch die Probleme und mögliche Lösungen in einem thread produktiv zu sammeln. In diesem Zusammenhang möchte ich jeden - der in diesem thread Beobachtungen oder harte Fakten beizutragen hat - bitten dies möglichst konkret und nachvollziehbar sowie unter Angabe der folgenden Infos zu tun:
- REX Version
- PHP Version
- MySQL Version
- verwendete 3rd party Addons
- aktuelle/zeitnahe Meldungen aus dem PHP error log, konkret Zeilen mit "PHP Fatal error"
- Hoster
Keine Panik, kein Gepfusche..
An erster Stelle möchte ich mal vor wilden/wirren Reparaturversuchen warnen.. Wenn man nicht absolute sicher ist was man da tut, sollte man Abstand nehmen von Änderungen am Code, dem Herumbiegen (Totschläger 777) an Dateirechten, oder sonstigen Aktionen. Wenn es überhaupt hilft was man da auf Verdacht geschraubt hat, dann ist die Wahrscheinlichkeit hoch, daß man sich damit andere Probleme einhandelt die man erst recht nicht will.
Site down, kein Login möglich.. erste Schritte
- Login mit anderem Browser probieren, bzw. Cookies löschen und sicherstellen, daß die Site auch welche setzen kann..
- Stimmen die eingegebenen credentials auch wirklich? Ist es möglich das z.b. ein Admin den Zugang schlicht gesperrt oder die Zugangsdaten geändert hat?
- Hat sich an den Hosting-Parametern etwas geändert (s.a. 2.1)? -> Hoster kontaktieren und fragen..
- error_logs konsultieren (s.a. 1.2).. falls keine Idee wo die zu finden sind -> Hoster kontaktieren und fragen..
- 3rd-party Addons testweise deaktivieren (s. 1.1)
- Wurde die Site evtl. gehackt? (s.a. 2.2) Zunächst mal Core-Dateien mit Originalen vergleichen.. bei Verdacht oder gar Bestätigung -> idealiter die ganze Installation zunächst per FTP sichern, alle credentials ändern, frische Installation aufspielen, backup einspielen..
Spätestens jetzt ist wohl der Zeitpunkt gekommen jemanden zu Rate zu ziehen, der sich mit der Thematik bzw. Redaxo auskennt. Erster Ansprechpartner sollte hier der Admin der Site sein, bzw. derjeneige, der die Site aufgesetzt hat. Sollte derjenige nicht greifbar sein, gibts zwei Wege: Entweder man bucht schlicht jemanden für die Reparatur (Ansprechpartner finden sich hier im Forum), oder man hat evtl. Glück*, und jemand aus der Community macht das Angebot sich das Problem anzusehen. Für letzteren Fall benötigt derjenige einen Admin Zugang zur Redaxo Installtion, und einen FTP Zugang in das Verzeichnis wo Redaxo liegt.
* Tip: Die Wahrscheinlichkeit aus der Community 4 free ErsteHilfe Maßnahmen direkt am Patienten zu erhalten hängt 1:1 mit der Güte der gestellten Anfrage zusammen.. ;)
--------------------------------------------------------------------------------------------------------------------------
1. KONKRETE MAßNAHMEN
1.1: Deaktivieren von Addons per FTP - Redaxo im "safe-mode"
Wenn der Zugang zum Backend nicht mehr möglich, die site down ist, kann man Addons testweise auch "zu Fuß" deaktivieren/deinstallieren: per FTP die Datei ./redaxo/include/addons.inc.php im Editor öffnen, und alle evtl. verdächtigen (vulgo non-core) Addons über eine 0 für install (installiert) bzw. status (aktiviert) ausknipsen.
Code: Alles auswählen
$REX['ADDON']['install']['rex_wpaudio'] = '0';
$REX['ADDON']['status']['rex_wpaudio'] = '0';
Ob überhaupt ein error log geschrieben wird und wo dieses liegt hängt vom Einzelfall ab.. d.h. vom Hoster, dem konkreten Setup, usw. Für ein schnelle Diagnose abseits dieser Fragen kann man das Protokollieren von PHP Fehlern vorübergehend wie folgt erreichen (sofern das setzen der Direktive nicht vom Hoster verboten/unterbunden ist):
Am Anfang der beiden Dateien ./index.php & ./redaxo/index.php folgende Direktiven eintragen:
Code: Alles auswählen
ini_set('error_reporting', 'E_ALL^ E_NOTICE');
ini_set('log_errors', 1);
ini_set('error_log','tmp_php_err.log');
2. ALLGEMEINES
2.1: Redaxo und PHP/MySQL Versionen
Zu dem Thema kann man im Forum unterschiedlichste Meldungen finden.. fakt ist aber z.b., daß sowohl REX 4.0/4.1, und sogar REX 3.2.3 prinzipiell mit aktuellen Versionen funktionieren*.. ABER: das heißt nicht, daß nicht irgendein Modul oder Addon plötzlich zu fatal errors führen kann nachdem z.b. der Hoster ein Versions-update gefahren hat. Addons kann man relativ einfach testweise deaktivieren (s.o.), mit Modulen ist das ne Ecke schwieriger.. eine Möglichkeit: per PMA testweise Modul für Modul auskommentieren.. * lokal in MAMP @ PHP 5.2.13 & 5.3.2 bzw. MySQL 5.1.44 getestet: clean Install von Redaxo 3.2.3/4.0, Einspielen der Demo -> außer ein paar deprecated warnings keinerlei Probleme. Sven kommt an andere Stelle zu selbem Ergebnis
2.2: Exploits via FileZilla
Das Problem mit den in plaintext gespeicherten FTP Passwörtern von FileZilla ist eigentlich schon seit 2009 bekannt, aber dennoch wird dieses FTP tool nachwievor von einigen benutzt und führt regelmäßig zu gehackten Web-applikationen... Da der Weg direkt über den FTP Zugang führt, kann eben auch eine Redaxo Installation davon betroffen sein. Haben Dritte auf diese Weise Zugang erlangt, ist Holland in Not, und wenn es lediglich zu Problemen wie in obigem Beispiel führt, hat man schlicht Glück gehabt das ein Dilettant am Werk war.. ;) Todo im Fall der Fälle:
- ALLE credentials über die der Angreifer auf diese Weise Zugriff hatte ändern.. nicht nur die FTP Zugangsdaten selbst, sondern wirklich alle.. d.h. auch MySQl credentials usw.
- die defekte Site am besten als ganzes per FTP herunterladen und ein Backup der DB mit PMA erstellen..
- frische Redaxo Installation aufsetzen, backup einspielen.. kein backup? -> Lerneffekt.. ;-)
- fortan ein anständiges (s)FTP Programm benutzen.. wenns für umme sein soll/muß z.b. Cyberduck
Jan
ps.: Ein Blick auf Rüdigers Artikel Hinweise für den sicheren Betrieb von Webseiten kann in dem Zusammenhang auch nicht schaden..