Dieser Modus ist dafür konzipiert, die Sicherheit von Live-Systemen zu erhöhen, indem er die Möglichkeiten zur Ausführung von PHP-Code und bestimmten Systemänderungen durch Backend-Admins einschränkt. Der Live-Mode kann durch eine Einstellung in der config.yml
manuell aktiviert werden.
Bei Nutzung einer Deployment-Lösung oder alterniver lokaler Entwicklung sollte dies als obligatorisch angesehen werden.
Der Live-Mode kann in der config.yml
aktiviert werden. Der Default-Wert ist: false
live_mode: true
Alternativ ist auch eine Änderung des Modus auch per PHP möglich.
if (rex::isBackend())
{
rex_extension::register('PACKAGES_INCLUDED', static function (rex_extension_point $ep) {
rex::setProperty('live_mode', true);
}, rex_extension::EARLY);
}
Nach der Aktivierung des Live-Modes werden verschiedene Sicherheitsmaßnahmen wirksam, die dazu beitragen, das System gegen Missbrauch zu sichern, insbesondere wenn ein Backend-Admin-Account kompromittiert wurde.
Im Live-Mode werden folgende Änderungen wirksam:
- Safe-Mode und Debug-Mode: Diese Modi sind immer deaktiviert, um die Ausführung unsicherer oder für die Fehlersuche gedachter Operationen zu verhindern.
- System-Page Anpassungen: Buttons für den Debug-Modus, Safe-Mode und das Setup verschwinden, um die Möglichkeit zur Systemkonfiguration zu limitieren.
- Error-Handling: Statt des detaillierten Whoops-Fehlerbildschirms erhalten Administratoren die allgemeinere Ooops-Seite.
- Eingeschränkte Backend-Funktionen: Die Seiten für Backup-Import, Addonverwaltung, Installer, Metainfoverwaltung, MediaManager-Verwaltung, Debugging, Module- und Template-Verwaltung werden ausgeblendet.
- PHP-Code Ausführung: Die Ausführung von PHP-Code über
REX_VALUE[id=X output=php]
wird unterbunden, und es wird eine Warnmeldung im Backend angezeigt. - Cronjob-Typen: Die Ausführung und Anzeige von Cronjobs des Typs PHP-Code und PHP-Callback ist deaktiviert. Bestehende Jobs dieser Typen werden nicht mehr ausgeführt.
- Metainfo-Callbacks: Die Ausführung von Metainfo-Callbacks ist nicht möglich.
Wer REDAXO-Websites im Live-Mode betreibt, sollte alternative Methoden für die Implementierung von Funktionalitäten, die PHP-Code erfordern, in Erwägung ziehen. Eigene Addons oder Plugins können für spezifische Anforderungen entwickelt werden, anstelle von direkter Eingabe von PHP-Code über das Backend.
Security-AddOn auf GitHub
Das AddOn ist nicht Teil der Grundinstallation. Es kann über den Installer installiert werden. Es bietet Wege das REDAXO-Backend mit verschiedenen Methoden zu sichern.
- Frontend-Passwort für Staging- oder Entwicklersysteme
- Fehlerberichterstattung per E-Mail. Direkt oder als gesammelte Pakete
- IP-Zugangskontrolle: IPs und IP-Bereiche zum Blockieren und Zulassen von Frontend und Backend
- BackendSession-Konfiguration: Sitzungsdauer, KeepAlivePing, maximale Sitzungsdauer
- Backend-Benutzerprotokoll: Protokollierung aller Aktionen der Backend-Benutzer
- Header-Sicherheit: Strict-Transport-security, X-Frame-Options, X-XSS-Protection ... (in Bearbeitung)
- Checkliste: Überprüfung der REDAXO-Installation auf Sicherheitsprobleme mit externen Tools.
- Linkliste mit nützlichen Seiten zum Prüfem der Website und des Backends.