open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Tipps

Redis auf Debian 13 installieren und sicher konfigurieren – Schritt-für-Schritt Anleitung

Autor
Redis auf Debian 13 installieren und sicher konfigurieren – Schritt-für-Schritt Anleitung

Um sicherzustellen, dass Redis nicht öffentlich erreichbar ist, solltest du mehrere Schutzmechanismen kombinieren. Redis darf niemals direkt aus dem Internet erreichbar sein.

Hier ist eine vollständige Schritt-für-Schritt-Anleitung für Debian 13:

Bind-Adresse korrekt setzen (wichtigster Schritt)

Öffne die Redis-Konfiguration:

sudo nano /etc/redis/redis.conf

Suche nach:

bind 127.0.0.1 ::1

Stelle sicher, dass dort nur lokale Adressen stehen.

✅ Korrekt (nur lokal erreichbar):

bind 127.0.0.1 ::1

❌ Falsch (öffentlich erreichbar):

bind 0.0.0.0

Falls 0.0.0.0 gesetzt ist → ändern!

Protected Mode aktivieren

In derselben Datei prüfen:

protected-mode yes

Falls dort no steht → auf yes ändern.

Protected Mode blockiert externe Verbindungen, wenn keine Authentifizierung gesetzt ist.

Prüfen, auf welchen Interfaces Redis lauscht

Nach einem Neustart:

sudo systemctl restart redis-server

Dann prüfen:

sudo ss -tulpen | grep 6379

Sicheres Ergebnis sieht etwa so aus:

127.0.0.1:6379

Wenn du hier deine öffentliche Server-IP siehst → Redis ist öffentlich erreichbar!

Firewall-Regeln prüfen (UFW)

Falls du UFW nutzt:

sudo ufw status

Redis-Port 6379 sollte nicht offen sein.

❌ Unsicher:

6379/tcp ALLOW Anywhere

Falls vorhanden:

sudo ufw delete allow 6379

Optional kannst du Redis nur intern erlauben:

sudo ufw allow from 192.168.0.0/24 to any port 6379

Extern testen (sehr wichtig)

Von einem anderen Server oder deinem lokalen Rechner:

telnet SERVER-IP 6379

Oder:

nc -zv SERVER-IP 6379

Wenn die Verbindung abgelehnt wird, ist alles korrekt abgesichert.

Wenn eine Verbindung zustande kommt → sofort handeln!

Zusätzliche Absicherung (Best Practice)

Auch wenn Redis nicht öffentlich erreichbar ist, solltest du:

Passwort setzen

In /etc/redis/redis.conf:

requirepass STARKES_PASSWORT

Oder moderner (empfohlen):

acl setuser default on >STARKES_PASSWORT ~* +@all

Danach:

sudo systemctl restart redis-server

Optional: Redis komplett auf UNIX-Socket umstellen

Maximale Sicherheit erreichst du, wenn Redis gar keinen TCP-Port nutzt.

In redis.conf:

port 0
unixsocket /var/run/redis/redis.sock
unixsocketperm 770

Dann Neustart:

sudo systemctl restart redis-server

Jetzt ist Redis nur noch lokal per Socket erreichbar.

Zusammenfassung – Sichere Konfiguration

bind 127.0.0.1 ::1protected-mode yes ✔ Firewall blockiert 6379 ✔ Kein 0.0.0.0 ✔ Passwort gesetzt ✔ Optional: UNIX-Socket statt TCP

Warum das extrem wichtig ist

Es gibt tausende automatisierte Bots, die ständig das Internet nach offenen Redis-Instanzen scannen. Offene Redis-Server werden oft:

  • Für Cryptomining missbraucht
  • Als Botnet genutzt
  • Komplett gelöscht (Ransom-Angriffe)

Ein öffentlich erreichbarer Redis-Server ist ein massives Sicherheitsrisiko.