Wie man Redis unter Ubuntu 20.04 installiert
Redis ist ein quelloffener In-Memory-Schlüssel/Wertespeicher, der als Datenbank, Cache und Message Broker eingesetzt wird. Es handelt sich um eine verteilte In-Memory-Schlüssel-Wert-Datenbank mit optionaler Haltbarkeit. Sie unterstützt gängige Datenstrukturen wie Strings, Hashes, Listen, Sets, Bitmaps, sortierte Sets, HyperlogLogs, Streams und Geodaten-Indizes mit Radiusabfragen.
In diesem Lernprogramm zeigen wir dir, wie du Redis Server unter Ubuntu 20.04 LTS installierst und konfigurierst. Wir werden zunächst den Redis Server installieren und dann die Installation sichern, um sie produktionsreif zu machen.
Voraussetzungen
Für diese Anleitung installieren wir den Redis Server auf Ubuntu 20.04 mit 1 GB RAM und 2 CPU-Kernen. Das ist nur zum Testen, für die Produktion brauchst du mehr als das.
Was wir tun werden:
- Redis Server installieren
- Redis Server Grundkonfiguration
- Redis Server absichern
- Testen
Schritt 1 – Redis Server installieren
Als Erstes aktualisieren wir alle Repositories auf dem Ubuntu-System und führen ein Upgrade aller Pakete durch.
Führe die folgenden apt-Befehle aus.
sudo apt update sudo apt upgrade
Danach installierst du das Paket Redis-server aus dem offiziellen Ubuntu-Repository mit dem unten stehenden apt-Befehl.
sudo apt install redis-server
Sobald die Installation abgeschlossen ist, erhältst du eine Fehlermeldung, dass der Redis-Dienst nicht gestartet werden konnte. Ignoriere die Fehlermeldung und wir werden im nächsten Schritt konfigurieren.
Schritt 2 – Redis Server Grundkonfiguration
In diesem Schritt richten wir den grundlegenden Redis-Server ein. Auf einem Linux-System befindet sich die Redis-Konfiguration im Verzeichnis „/etc/redis“.
Gehe in das Verzeichnis „/etc/redis“ und bearbeite die Konfigurationsdatei „redis.conf“ mit dem Editor vim.
cd /etc/redis/ vim redis.conf
Als Erstes müssen wir die IP-Adresse festlegen, unter der der redis-Dienst läuft. Es wird nicht empfohlen, die öffentliche IP-Adresse für den Redis-Dienst zu verwenden. Wenn du den Redis-Dienst mit mehreren Clustern betreibst, solltest du das interne Netzwerk verwenden.
Ändere die „bind“-Adresse für dieses Beispiel in die IP-Adresse von localhost.
bind 127.0.0.1
Danach müssen wir einrichten, wie der Redis-Dienst auf dem Server laufen soll. Da wir einen Ubuntu-Server und systemd verwenden, müssen wir die „supervised“-Zeile in „systemd“ ändern.
supervised systemd
Speichern und schließen.
Starte nun den redis-Dienst neu und füge ihn zur Bootzeit hinzu.
systemctl restart redis-server systemctl enable redis-server
Vergewissere dich, dass kein Fehler aufgetreten ist und überprüfe den Status.
systemctl status redis-server
Das Ergebnis: Der Redis-Dienst läuft auf dem Ubuntu 20.04 Server.
Überprüfe nun den Standard-Redis-Port „6379“ mit dem Befehl netstat (siehe unten).
ss -plnt4
Du erhältst das Ergebnis, dass der Redis-Dienst auf der IP-Adresse localhost mit der Standardeinstellung „6379“ läuft.
Überprüfe nun Redis mit dem Befehl „redis-cli“ (siehe unten).
redis-cli ping redis-cli ping "Hello Redis"
Du erhältst das unten stehende Ergebnis.
Wenn deine Installation korrekt ist, antwortet der Redis-Server mit „PONG“ oder mit dem Text, den du nach der Option „ping“ eingegeben hast.
Die grundlegende Installation und Konfiguration des Redis-Servers wurde erfolgreich abgeschlossen.
Schritt 3 – Absicherung der Redis-Installation
In diesem Schritt werden wir unsere Redis-Installation absichern. Es gibt 3 Dinge, die du über die Sicherung des Redis-Servers wissen musst.
1. Netzwerksicherheit
Die Netzwerksicherheit für den Redis-Server hängt mit der „bind“-Konfiguration in der Redis-Konfiguration „redis.conf“ zusammen. Es wird empfohlen, das interne private Netzwerk für deine Redis-Installation zu verwenden und nicht das öffentliche.
Gehe in das Verzeichnis „/etc/redis“ und bearbeite die Konfigurationsdatei „redis.conf“.
cd /etc/redis/ vim redis.conf
Im Abschnitt „bind“ änderst du die IP-Adresse in die IP-Adresse deines internen Netzwerks.
bind INTERNAL-IP-ADDRESS
Speichere und schließe.
Jetzt läuft der Redis-Dienst unter der ‚INTERNAL-IP-ADDRESS‘.
2. Passwort-Authentifizierung
Mit der Passwort-Authentifizierung für Redis kannst du den Zugriff auf deinen Redis-Server kontrollieren. Dies ist eine kleine Sicherheitsebene, die die Sicherheit deines Redis-Servers erhöht und die in der Standardinstallation noch nicht aktiviert ist.
Um die Passwortauthentifizierung für den Redis-Server zu aktivieren, musst du den Abschnitt „requirepass“ in der Datei „redis.conf“ auskommentieren und danach dein sicheres Passwort eingeben.
requirepass HakaseLabsRedisPasswd
Ändere„HakaseLabsRedisPasswd“ mit deinem sicheren Passwort. Jetzt ist die Passwortauthentifizierung für Redis aktiviert.
3. Deaktivieren des gefährlichen Redis-Befehls
Redis bietet eine Funktion zum Deaktivieren bestimmter Redis-Befehle. Mit dieser Funktion kannst du einige gefährliche Befehle umbenennen oder deaktivieren, z. B. den Befehl „FLUSHALL“ zum Löschen aller Daten, den Befehl „CONFIG“ zum Einrichten von Konfigurationsparametern über das Redis CLI usw.
Um einen Redis-Befehl zu ändern oder zu deaktivieren, kannst du die Option „rename-command“ verwenden. Bearbeite die Redis-Konfigurationsdatei „redis.conf“ und füge einige Konfigurationen hinzu.
# rename-command COMMAND "CUSTOM" rename-command FLUSHALL "DELITALL" rename-command CONFIG "MYSERVERCONF"
Speichere und schließe.
Wenn alles fertig ist, starte den Redis-Dienst mit dem unten stehenden systemctl-Befehl neu.
systemctl restart redis-server
Damit ist die grundlegende Redis-Sicherheit für die Absicherung der Redis-Installation auf unserem Host eingerichtet.
Wenn du noch weitere Überlegungen anstellst, brauchst du vielleicht auch die Unterstützung für die Datenverschlüsselung von Redis sowie die sichere Codierung auf der Anwendungsseite.
Schritt 4 – Testen
In diesem Schritt testen wir unsere Redis-Server-Installation mit der Befehlszeile „redis-cli“.
1. Host und Authentifizierung testen
Verbinde dich mit dem Redis-Server mit dem Befehl redis-cli, indem du den Hostnamen/ die IP-Adresse und den Port des Redis-Servers angibst.
redis-cli -h 127.0.0.1 -p 6379
Ersetze„127.0.0.1“ durch deine eigene IP-Adresse.
Sobald du mit dem Server verbunden bist, versuche den Ping-Befehl.
ping ping "Hello Redis"
Jetzt erhältst du das unten stehende Ergebnis.
Du bekommst eine Fehlermeldung, weil du dich authentifizieren musst, bevor du einen Befehl in der Redis CLI-Shell aufrufst.
Führe den folgenden Befehl aus, um dich gegenüber dem Redis-Server zu authentifizieren.
AUTH HakaseLabsRedisPasswd
Sobald du authentifiziert bist, kannst du den Ping-Befehl ausführen und erhältst eine Antwort vom Redis-Server.
ping ping "Hello Redis"
Unten siehst du das Ergebnis, nachdem du dich beim Redis-Server authentifiziert hast.
2. Deaktivierte/umbenannte Befehle testen
Führe alle Befehle, die wir umbenannt haben, in der Shell aus und du wirst einen Fehler erhalten.
FLUSHALL CONFIG
Unten siehst du das Fehlerergebnis für diese Befehle.
Führe als Nächstes die „CUSTOM“-Befehle für jeden aus.
Erstelle einen neuen Schlüssel mit dem Befehl redis-cli (siehe unten).
SET Name "Hakase Labs" SET Blog "Howtoforge.com"
Keys *
Lösche nun alle Schlüssel und Daten mit dem umbenannten „FLUSHALL“-Befehl „DELITALL“.
DELITALL
Mit dem Befehl „CONFIG“ kannst du versuchen, neue Werte für die Redis-Server-Konfiguration abzurufen oder einzurichten. Der Befehl ‚CONFIG‘ wurde in ‚MYSERVERCONF‘ umbenannt.
MYSERVERCONF get bind MYSERVERCONF get requirepass
Unten siehst du das Ergebnis dieses neuen, umbenannten Befehls.
Die Grundinstallation von Redis Server unter Ubuntu 20.04 ist abgeschlossen und die grundlegende Sicherheit für Redis Server wurde eingerichtet.