Sichern einer Redis-Installation

Bei diesem Text handelt es sich um eine maschinell erstellte Übersetzung. Eine überarbeitete Version ist in Planung.

Die IONOS Community wird ab dem 01.01.2021 nicht mehr verfügbar sein. Wir laden Sie ein, uns auf Twitter oder Facebook zu folgen.

Wenn Sie Fragen zu unseren Produkten haben, finden Sie im IONOS Hilfe-Center weitere Informationen. Alternativ hilft Ihnen unser Support-Team unter @IONOS_hilft gerne weiter.

Einführung

Erfahren Sie die Grundlagen der Redis-Sicherheit und die Schritte, die Sie unternehmen können, um Ihre Redis-Installation zu schützen und sicherer zu machen.

Anforderungen

  • Ein Cloud Server unter Linux (CentOS 7 oder Ubuntu 14.04).
  • Redis ist installiert und läuft. Siehe unseren Artikel über  Installation von Redis auf einem IONOS Linux Cloud Server wenn nötig.
  • Ein grundlegendes Verständnis der Redis-Funktionalität und -Verwendung.
  • Vertrautheit mit der Linux-Befehlszeile.

Übersicht

Redis ist so konzipiert, dass es standardmäßig unsicher ist.. Der Ersteller/Entwickler hat seine Überzeugung geäußert,  dass das Bauen in Sicherheitsfunktionen Redis weniger benutzerfreundlich machen würde und Menschen, die versuchen, Dinge schnell und einfach mit Redis zu erledigen, im Weg steht. Die offizielle Position von Redis  ist, dass die überwiegende Mehrheit der Redis-Installationen niemals dem Internet ausgesetzt sein wird (und sollte).

Die "standardmäßig unsichere" Position von Redis bedeutet, dass Sie einige zusätzliche Schritte unternehmen müssen, um Ihre Systeme zu schützen, insbesondere wenn Sie Redis in der Produktion oder auf eine Weise verwenden, die es dem Internet zugänglich macht.

Einrichten einer Firewall

Um externe Verbindungen zu Redis zu verhindern, sollten Sie Ihre Firewall so konfigurieren, dass sie die Ports blockiert, auf die Redis standardmäßig hört:

  • 6379
  • 16379
  • 26379

Sie können eine Firewall-Richtlinie für Redis über Ihr Cloud Panel## einrichten. Klicken Sie auf Netzwerk > Firewall-Richtlinien.

Redis Security: Click Firewall Policies

Klicken Sie auf Erstellen.

Redis security: Click Create

Geben Sie einen Namen für Ihre Firewall-Richtlinie ein und fügen Sie dann alle Ports hinzu, die für Ihren Server geöffnet sein müssen.

Die Firewall-Richtlinie funktioniert als Whitelist. Jeder Port, der NICHT zu Ihrer Firewall-Richtlinie hinzugefügt wird, wird standardmäßig blockiert. (Mit anderen Worten, um den Zugriff auf die Redis-Ports zu blockieren, fügen Sie diese NICHT zu Ihrer Firewall-Richtlinie hinzu.)

Der einfachste Weg, dies zu tun, ist, auf Vordefinierte Werte hinzufügen zu klicken und alle Dienste auszuwählen, die Zugriff auf Ihren Server benötigen.

Redis security: Add predefined values

Klicken Sie nach jedem einzelnen auf das grüne +, um die Regel hinzuzufügen und eine neue Linie zu erstellen.

Redis security: Click green plus sign

Nachdem Sie alle Ports, die geöffnet werden müssen, hinzugefügt haben, klicken Sie auf Erstellen.

Redis security: Click create

Nachdem die Firewall-Richtlinie erstellt wurde, müssen Sie Ihren Server dieser zuweisen. Klicken Sie auf +Assign.

Redis security: Click Assign

Klicken Sie auf, um die Server auszuwählen, die Sie der Firewall-Richtlinie hinzufügen möchten, und klicken Sie dann auf Änderungen speichern.

Redis security: Save changes

Binden von Redis an Localhost

In älteren Versionen ist Redis standardmäßig mit allen Netzwerkschnittstellen verbunden, nachdem es installiert wurde. Wenn Sie nur vom gleichen (Host-)Server aus auf Redis zugreifen, ist es ratsam, Redis an die Loopback-Schnittstelle (127.0.0.0.0.1) zu binden.

Bearbeiten Sie dazu die Datei redis.conf:

sudo nano /etc/redis.conf

Scrollen Sie nach unten, bis Sie etwas finden:

# bind 127.0.0.1

Entkommentieren Sie diese Zeile, indem Sie die #.

Hinweis: In neueren Versionen von Redis ist diese Zeile standardmäßig nicht kommentiert. Wenn die Zeile kein # hat, dann brauchst du nichts anderes zu tun.

Wenn Sie mit der Bearbeitung der redis.conf fertig sind, speichern und verlassen Sie die Datei und starten Sie Redis neu, damit die Änderungen wirksam werden:

CentOS 7:

sudo systemctl restart redis.service
  • Ubuntu 14.04:
sudo service redis-server restart

AUTH durch Aktivieren von Requirepass konfigurieren

Redis verfügt über eine integrierte Funktion zur Authentifizierung von Basispasswörtern. Um dies zu aktivieren, bearbeiten Sie die Datei redis.conf:

sudo nano /etc/redis.conf

Scrollen Sie nach unten, bis Sie etwas finden:

# requirepass foobared

Entkommentieren Sie diese Zeile, indem Sie das # entfernen und foobared durch ein sicheres Passwort ersetzen.

Wenn Sie mit der Bearbeitung der redis.conf fertig sind, speichern und verlassen Sie die Datei und starten Sie Redis neu, damit die Änderungen wirksam werden:

CentOS 7:

sudo systemctl restart redis.service
  • Ubuntu 14.04:
sudo service redis-server restart

Authentifizierung mit Requirepass

Nachdem Sie requirepass aktiviert haben, müssen Sie sich mit dem Passwort authentifizieren, um mit Redis arbeiten zu können.

Dazu betreten Sie zunächst den Redis-Client mit dem Befehl redis-cli. Verwenden Sie dann den Befehl:

auth [your Redis password]

Wenn du zum Beispiel ein Passwort für Ak49yhAa28 festgelegt hast, würdest du den Befehl verwenden:

auth Ak49yhAa28

Redis antwortet mit OK.

[root@localhost html]# redis-cli
127.0.0.1:6379> auth Ak49yhAa28
OK

Gefährliche Befehle umbenennen oder deaktivieren

Es gibt bestimmte Redis-Befehle, die von den meisten Menschen selten verwendet werden, aber ein ernsthaftes Potenzial für Missbrauch haben. Sie können diese Befehle über die Datei redis.conf umbenennen oder deaktivieren:

sudo nano /etc/redis.conf

Scrollen Sie nach unten, bis Sie etwas finden:

# Command renaming.

Geben Sie am Ende dieses Blocks die Befehle ein, die Sie umbenennen oder deaktivieren möchten, einen pro Zeile. Die Syntax zum Umbenennen eines Befehls lautet:

rename-command [command] [new command name]

Um beispielsweise den CONFIG-Befehl internal-config umzubenennen, fügen Sie die folgende Zeile hinzu:

rename-command CONFIG internal-config

Um einen Befehl zu deaktivieren, verwenden Sie einfach "" anstelle des neuen Namens. Um beispielsweise CONFIG zu deaktivieren, fügen Sie stattdessen die folgende Zeile hinzu:

rename-command CONFIG ""

Einige Befehle empfehlen wir umzubenennen oder zu deaktivieren:

  • BGREWRITEAOF
  • BGSAVE
  • CONFIG
  • DEBUG
  • DEL
  • FLUSHALL
  • FLUSHDB
  • SCHLÜSSEL
  • ABLAUFEN
  • UMBENENNEN
  • SPEICHERN
  • HERUNTERFAHREN
  • SPOP
  • SREM

Wenn Sie mit der Bearbeitung der redis.conf fertig sind, speichern und verlassen Sie die Datei und starten Sie Redis neu, damit die Änderungen wirksam werden:

CentOS 7:

sudo service redis-server restart

Ubuntu 14.04:

sudo systemctl restart redis.service