REDAXO Sicherheit und Backups

Quell-ID: GitHub Discussion #17

Use Case

Ein neuer REDAXO-Benutzer möchte wissen, welche Sicherheitsmaßnahmen es gibt, wie Backups erstellt werden und wie das Update-Management funktioniert.

Verwendete AddOns

  • REDAXO Core
  • Backup-AddOn
  • 2factor_auth (empfohlen)

Fragen und Antworten

1. Sicherheits-AddOns und Schutzmaßnahmen

Es gibt kein dediziertes Security-AddOn wie bei anderen CMS, da REDAXO einen anderen Ansatz verfolgt:

Serverseitiger Schutz:

  • Application Firewall
  • fail2ban

REDAXO-spezifischer Schutz:

  • REDAXO ist ein kleines, meist individuell konfiguriertes CMS mit schlankem Kern
  • Viele Funktionalitäten kommen über AddOns oder Eigenentwicklungen
  • Security Audits über Dependabot bei FriendsOfREDAXO-AddOns
  • Bei Sicherheitswarnungen werden AddOns aktualisiert oder ggf. aus dem Installer entfernt

Empfohlen: Zwei-Faktor-Authentifizierung für das Backend:

https://github.com/FriendsOfREDAXO/2factor_auth

2. Backups und Wiederherstellung

REDAXO bietet einen integrierten Cronjob-Dienst für automatische Backups:

Backup-Möglichkeiten:

  • Bei Request im Frontend
  • Bei Request im Backend
  • Über Shell via “echten” Cronjob

Wiederherstellung: Das Backup-AddOn bietet eine einfache Restore-Funktion im Backend.

// Beispiel: Backup per Konsole erstellen
php redaxo/bin/console backup:create

3. Update-Frequenz

  • Feature-Updates: Ca. 2x jährlich (kann variieren)
  • Sicherheitsupdates: Bei Bedarf, ggf. am selben Tag
  • Kein fester Zeitplan: Updates kommen, wenn sie fertig sind

Wichtig: Immer die Release-Notes beachten – sowohl für Core als auch für AddOns.

4. Migration von anderen CMS

REDAXO bietet eine flache Lernkurve für PHP-Entwickler. Zum Testen:

  • Demo installieren
  • Mit der Struktur experimentieren
  • Dokumentation durcharbeiten: https://redaxo.org/doku/

Bessere Sicherheitspraktiken

Empfohlene Sicherheitsmaßnahmen

// 1. Zwei-Faktor-Authentifizierung aktivieren
// Installation: Installer > 2factor_auth

// 2. Sichere Passwort-Policy (in boot.php des project-AddOns)
rex_extension::register('FE_OUTPUT', function() {
    // Content Security Policy setzen
    header("Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline'");
});

// 3. Backend-Zugriff einschränken (via .htaccess)
// In redaxo/.htaccess IP-Beschränkungen hinzufügen

Automatische Backups einrichten

  1. Im Backend: “AddOns” > “Backup”
  2. Cronjob erstellen: “Datenbank-Backup”
  3. Zeitplan festlegen (z.B. täglich um 03:00)
  4. Backup-Dateien regelmäßig extern sichern

Server-Hardening

# fail2ban für REDAXO-Login (Beispiel-Regel)
[redaxo-backend]
enabled = true
port = http,https
filter = redaxo-auth
logpath = /var/log/apache2/access.log
maxretry = 5
bantime = 3600

Hinweis

REDAXO hat sich als robustes System erwiesen. Erfolgreiche Einbrüche sind nicht bekannt. Dennoch sollten Standard-Sicherheitspraktiken befolgt werden.