Redis ist eine weit verbreitete In-Memory-Datenbank, die hohe Leistung bietet, jedoch nicht von Haus aus stark gesichert ist. Insbesondere beim Zugriff über das Netzwerk können falsche Einstellungen zu Problemen wie Datenlecks, Hacking und Dienstunterbrechungen führen.

In diesem Artikel erkläre ich, wie man die Netzwerksicherheit von Redis verbessert und die wichtigsten Einstellungen so erklärt, dass auch Anfänger sie leicht verstehen können. Lassen Sie uns einen Blick auf diese Einstellungen werfen, die bei der sicheren Verwendung von Redis zu beachten sind.

1. Den Zugriff von außen auf Redis einschränken

✅ 1-1. Zugriff nur von bestimmten IP-Adressen erlauben (bind Einstellung)

Redis kann standardmäßig Verbindungen von allen Netzwerk-Schnittstellen annehmen. Das bedeutet, dass ohne jegliche Konfiguration jeder Zugriff auf den Redis-Server haben kann.

Um dies zu verhindern, müssen Sie die bind-Einstellung verwenden, um den Zugriff auf bestimmte IP-Adressen einzuschränken.

📌 Beispiel: Nur Zugriff von lokal (127.0.0.1)
bind 127.0.0.1 -::1

Mit dieser Einstellung können nur Clients, die auf demselben Server ausgeführt werden, auf Redis zugreifen.

📌 Was ist, wenn der Zugriff von einer externen IP erforderlich ist?

Wenn auch der Zugriff von externen IPs erforderlich ist, können Sie eine Konfiguration vornehmen, die nur bestimmten IPs den Zugriff erlaubt.

bind 192.168.1.100 10.0.0.1

Somit können nur die IP-Adressen 192.168.1.100 und 10.0.0.1 auf Redis zugreifen.

✅ 1-2. Schutzmodus (protected-mode) aktivieren

Redis bietet eine Funktion namens geschützter Modus (protected mode), um die Sicherheit zu erhöhen. Wenn der Schutzmodus aktiviert ist, ist ein Zugriff von außen ohne Passwort nicht möglich.

📌 Aktivierung des Schutzmodus
protected-mode yes

Mit dieser Einstellung ist Redis nur von 127.0.0.1 (lokal) aus erreichbar.

2. Netzwerk-Port und Verbindungsbegrenzung von Redis

✅ 2-1. Port, den Redis verwenden soll (port Einstellung)

Redis läuft standardmäßig auf dem Port 6379.

port 6379

Wenn Sie nur Unix-Sockets und keine TCP-Sockets verwenden möchten, können Sie den Port auf 0 setzen.

port 0

✅ 2-2. Kommunikation nur über bestimmte Ports einstellen (bind-source-addr)

Die ausgehenden Verbindungen (Replikation vom Master, Kommunikation zwischen Clustern usw.) sind standardmäßig nicht auf bestimmte Netzwerk-Schnittstellen gebunden.

bind-source-addr 10.0.0.1

Mit dieser Einstellung kommuniziert Redis nur über die 10.0.0.1-Schnittstelle mit externen Redis-Servern.

3. Einstellungen für die Stabilität der Netzwerkverbindungen

✅ 3-1. Größe der TCP-Verbindung Warteschlange (tcp-backlog)

tcp-backlog 511

🔹 Bei Servern mit hohem Datenverkehr wird empfohlen, diesen Wert auf 1.024 oder 4.096 zu setzen.

✅ 3-2. Inaktivitätszeit für Clients (timeout)

timeout 300

Wenn ein Client 5 Minuten lang keine Aktion ausführt, wird die Verbindung automatisch getrennt.

4. Zusätzliche Einstellungen zur Verbesserung der Sicherheit

✅ 4-1. Gefährliche Befehle blockieren (enable-debug-command)

Einige Redis-Befehle (DEBUG, MODULE LOAD usw.) können aus Sicherheitsgründen riskant sein.

enable-debug-command no
enable-module-command no

Auf diese Weise werden potenziell gefährliche Befehle vom Ausführen ausgeschlossen.

5. Zusammenfassung: Checkliste für die Netzwerk-Sicherheitseinstellungen von Redis

  • ✔ Zugriff nur von bestimmten IPs auf Redis erlauben (bind)
  • ✔ Schutzmodus (protected-mode) aktivieren, um externen Zugriff zu blockieren
  • ✔ TCP-Port-Einstellungen (port) zur Einschränkung unnötigen Zugriffs vornehmen
  • ✔ Inaktivitäts-Timer für Clients (timeout) einstellen, um inaktive Verbindungen zu blockieren
  • ✔ Keepalive-Einstellungen (tcp-keepalive) zur Aufrechterhaltung der Netzwerkverbindung vornehmen
  • ✔ Gefährliche Befehle blockieren (enable-debug-command no) zur Verbesserung der Sicherheit

Redis ist eine Datenbank, bei der Netzwerksicherheit von großer Bedeutung ist. Durch sorgfältige Anwendung der obigen Einstellungen können Sie Hacking und Datenlecks vorbeugen! Wenn Sie einen Redis-Server betreiben, überprüfen Sie sofort Ihre Sicherheitseinstellungen. 🔐🚀

Redis-Netzwerksicherheitseinstellungen