Redis sicher konfigurieren: So verhindere ich unbefugten Zugriff auf In-Memory-Daten

Redis sicher konfigurieren: So verhindere ich unbefugten Zugriff auf In-Memory-Daten

3 Min. Lesezeit

Ich teile meine Best Practices für die Absicherung von Redis-Instanzen, um sicherzustellen, dass Ihr schneller In-Memory-Cache nicht zu einem Sicherheitsrisiko wird.

Redis ist schnell – aber ist es auch sicher?

Redis ist der Goldstandard für In-Memory-Datenstrukturen, Caching und Message Broking. Doch seine Geschwindigkeit rührt auch daher, dass es standardmäßig auf maximale Performance getrimmt ist – oft auf Kosten der Sicherheit. Ein ungesichertes Redis im Netz ist eine Einladung für Angreifer, Daten zu stehlen oder den Server für DDoS-Attacken zu missbrauchen. In diesem Beitrag zeige ich Ihnen meine Checkliste, um Redis-Instanzen professionell abzusichern.

1. Netzwerktrennung: Nur wer darf, kommt rein

Die wichtigste Regel: Redis sollte niemals direkt aus dem öffentlichen Internet erreichbar sein.

  • Bind-Adresse: Konfigurieren Sie Redis so, dass es nur auf 127.0.0.1 oder der internen IP-Adresse des Private-Network-Interfaces lauscht (bind 127.0.0.1 192.168.1.100).
  • Firewalls: Nutzen Sie iptables, ufw oder Cloud-Security-Groups, um den Zugriff auf den Port 6379 auf explizit autorisierte IP-Adressen (z.B. Ihre App-Server) einzuschränken.

2. Authentifizierung und ACLs

Früher gab es in Redis nur ein einfaches Passwort. Seit Version 6 haben wir echte Access Control Lists (ACLs).

  • Starke Passwörter: Nutzen Sie lange, zufällig generierte Passwörter. Ein Redis-Server kann hunderte Millionen Passwörter pro Sekunde prüfen – einfache Begriffe sind in Sekunden geknackt.
  • Benutzerbasierte Rechte: Erstellen Sie spezifische User für verschiedene Anwendungen. Ein Cache-Service benötigt keine Rechte, um die Konfiguration zu ändern oder den Server zu stoppen. Nutzen Sie ACLs, um Kommandos und Keyspaces präzise einzuschränken.

3. Gefährliche Kommandos umbenennen oder deaktivieren

Einige Redis-Kommandos können katastrophale Folgen haben, wenn sie in falsche Hände geraten.

  • CONFIG, FLUSHALL, FLUSHDB: Diese Kommandos können die gesamte Datenbank löschen oder die Sicherheitskonfiguration aushebeln.
  • Rename Command: In der redis.conf können Sie diese Kommandos umbenennen (zu einem langen, geheimen String) oder komplett deaktivieren (rename-command CONFIG "").

4. Verschlüsselung mit TLS

Standardmäßig kommuniziert Redis im Klartext. In Umgebungen, in denen das Netzwerk nicht zu 100% vertrauenswürdig ist (z.B. in der Cloud oder über verschiedene Rechenzentren hinweg), ist TLS Pflicht.

  • Native TLS-Unterstützung: Seit Redis 6 wird TLS nativ unterstützt. Konfigurieren Sie Zertifikate und Schlüssel, um die Kommunikation zwischen App und Redis sowie zwischen Redis-Nodes (Replikation) zu verschlüsseln.
  • Performance-Impact: Ja, TLS kostet etwas Performance, aber in den meisten Fällen ist dieser vernachlässigbar im Vergleich zum Sicherheitsgewinn.

Fazit: Performance ohne Risiko

Redis sicher zu konfigurieren ist kein Hexenwerk, erfordert aber Sorgfalt. Wer die Netzwerktrennung ernst nimmt, moderne ACLs nutzt und gefährliche Kommandos einschränkt, kann die beeindruckende Geschwindigkeit von Redis nutzen, ohne seine Daten zu gefährden. Sicherheit und Geschwindigkeit sind bei Redis kein Widerspruch, sondern eine Frage der richtigen Konfiguration.


Haben Sie Bedenken bezüglich der Sicherheit Ihrer In-Memory-Infrastruktur oder planen Sie den Aufbau eines hochverfügbaren Redis-Clusters?
Ich unterstütze Sie bei der Absicherung und Optimierung Ihrer Redis-Instanzen. Kontaktieren Sie mich für ein Security-Review Ihrer Datenbanken.

Interesse an einer Lösung?

Ich unterstütze Unternehmen und Verbände bei der digitalen Transformation. Erfahre mehr über meine Softwareentwicklung oder lass dich im Bereich DevSecOps beraten.

Beratungstermin vereinbaren