REDAXO absichern

Live-Mode

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.

Aktivierung des Live-Modes

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.

Auswirkungen des Live-Modes

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.

Empfehlungen für Entwickler

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 für REDAXO CMS

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.

Artikel bearbeiten