Wie man Redis auf Ubuntu 18.04 LTS installiert und absichert
Redis ist ein Open-Source, In-Memory Key/Wert-Speicher, der als Datenbank, Cache und Message Broker verwendet wird. Es handelt sich um eine verteilte In-Memory-Schlüsselwertdatenbank mit optionaler Haltbarkeit. Es unterstützt gängige Datenstrukturen wie Zeichenketten, Hashes, Listen, Mengen, Bitmaps, sortierte Mengen, HyperlogLogs, Stream- und Geospatial-Indizes mit Radiusabfragen.
In diesem Tutorial zeigen wir Ihnen, wie Sie Redis Server auf Ubuntu 18.04 LTS installieren und konfigurieren. Wir werden zuerst den Redis Server installieren und dann die Installation sichern, um ihn produktionsreif zu machen.
Voraussetzungen
Für dieses Handbuch werden wir den Redis Server unter Ubuntu 18.04 mit 1 GB RAM und 2CPU-Cores installieren. Dies ist nur zum Testen, und du wirst mehr als das für deine Produktion benötigen.
Was wir tun werden:
- Redis Server installieren
- Redis Server Grundkonfiguration
- Sicherung von Redis Server
- Prüfung
Schritt 1 – Redis Server installieren
Erstens werden wir alle Repositories auf dem Ubuntu-System aktualisieren und alle Pakete aktualisieren.
Führen Sie die folgenden apt-Befehle aus.
sudo apt update sudo apt upgrade
Installieren Sie anschließend das Redis-Server-Paket aus dem offiziellen Ubuntu-Repository mit dem Befehl apt unten.
sudo apt install redis-server
Sobald die Installation abgeschlossen ist, erhalten Sie eine Fehlermeldung über den fehlgeschlagenen Start des Redis-Dienstes, ignorieren Sie die Fehlermeldung und wir werden den nächsten Schritt konfigurieren.
Schritt 2 – Redis Server Grundkonfiguration
In diesem Schritt werden wir den grundlegenden Redis-Server einrichten. Auf dem Linux-System befindet sich die Redis-Konfiguration im Verzeichnis’/etc/redis‘.
Gehen Sie in das Verzeichnis’/etc/redis‘ und bearbeiten Sie die Konfigurationsdatei’redis.conf‘ mit dem vim editor.
cd /etc/redis/ vim redis.conf
Erstens müssen wir entscheiden, ob die „bind“-IP-Adresse den redis-Dienst ausführen soll. Es wird nicht empfohlen, die öffentliche IP-Adresse für den redis-Dienst zu verwenden, oder wenn Sie den Dienst Multiple/Cluster redis ausführen, sollten Sie das interne Netzwerk verwenden.
Ändern Sie die „Bind“-Adresse mit der Localhost-IP-Adresse für dieses Beispiel.
bind 127.0.0.1
Danach müssen wir festlegen, wie der redis-Dienst auf dem Server laufen soll. Da wir den Ubuntu-Server und das System verwenden, müssen wir die Konfiguration der’überwachten‘ Leitung auf’systemmd‘ ändern.
supervised systemd
Speichern und schließen.
Starten Sie nun den redis-Dienst neu und fügen Sie ihn zur Bootzeit hinzu.
systemctl restart redis-server systemctl enable redis-server
Stellen Sie nun sicher, dass kein Fehler vorliegt und überprüfen Sie dann den Status.
systemctl status redis-server
Infolgedessen ist der redis-Dienst auf Ubuntu 18.04 Server lauffähig.
Überprüfen Sie nun den standardmäßigen Redis-Port’6379′ mit dem folgenden netstat-Befehl.
netstat -plntu
Und Sie erhalten das Ergebnis, dass der redis-Dienst auf der IP-Adresse des lokalen Rechners mit der Voreinstellung’6379′ läuft.
Überprüfen Sie nun die Redis mit den Befehlen ‚redis-cli‘ wie unten beschrieben.
redis-cli ping redis-cli ping "Hello Redis"
Und Sie erhalten das Ergebnis wie unten beschrieben.
Wenn Ihre Installation korrekt ist, erhalten Sie die Antwort des Redis-Servers mit’PONG‘ oder mit dem Text, dass Sie nur einen Text nach der Option’ping‘ schreiben.
Die Basisinstallation und -konfiguration des Redis Servers wurde erfolgreich abgeschlossen.
Schritt 3 – Sicherung der Redis-Installation
In diesem Schritt werden wir unsere Redis-Installation sichern. Es gibt 3 Dinge, die Sie über die Sicherung des Redis-Servers wissen müssen.
1. Netzwerksicherheit
Die Netzwerksicherheit für den Redis-Server bezieht sich auf die Konfiguration ‚bind‘ in der Redis-Konfiguration ‚redis.conf‘. Es wird empfohlen, das interne private Netzwerk für Ihre Redis-Installation zu verwenden und nicht das öffentliche.
Gehen Sie in das Verzeichnis’/etc/redis‘ und bearbeiten Sie die Konfigurationsdatei’redis.conf‘.
cd /etc/redis/ vim redis.conf
Ändern Sie im Abschnitt „Binden“ die IP-Adresse mit Ihrer eigenen internen Netzwerk-IP-Adresse.
bind INTERNAL-IP-ADDRESS
Speichern und schließen.
Und nun wird der Redis-Dienst unter der’INTERNAL-IP-ADDRESS‘ laufen.
2. Passwortauthentifizierung
Die Passwortauthentifizierung für Redis ermöglicht Ihnen die Zugriffskontrolle auf Ihren Redis-Server. Dies ist eine kleine Sicherheitsebene, die die Sicherheit Ihres Redis-Servers erhöht, und sie ist bei der Standardinstallation noch nicht aktiviert.
Um die Passwortauthentifizierung für den Rediser-Server zu aktivieren, müssen Sie den Abschnitt „requirepass“ in der Datei „redis.conf“ entfernen und danach Ihr starkes Passwort eingeben.
requirepass hakase-labs321@#$
Ändere die‘hakase-labs321@#$‚ mit deinem starken Passwort. Und jetzt wurde die Passwortauthentifizierung für Redis aktiviert.
3. Deaktivieren des Befehls Dangerous Redis
Redis bietet eine Funktion zum Deaktivieren einiger spezifischer Redis-Befehle. Diese Funktion kann verwendet werden, um einige der gefährlichen Befehle umzubenennen oder zu deaktivieren, wie z.B.’FLUSHALL‘ zum Löschen aller Daten,’CONFIG‘ Befehl zum Einrichten von Konfigurationsparametern über die Redis CLI, etc.
Um den Redis-Befehl zu ändern oder zu deaktivieren, können Sie die Option’rename-command‘ verwenden. Bearbeiten Sie die Redis-Konfigurationsdatei ‚redis.conf‘ und fügen Sie einige der folgenden Konfigurationen hinzu.
# rename-command COMMAND "CUSTOM" rename-command FLUSHALL "DELITALL" rename-command CONFIG "MYSERVERCONF"
Speichern und schließen.
Wenn alles abgeschlossen ist, starten Sie den Redis-Dienst mit dem Befehl systemctl unten neu.
systemctl restart redis-server
Und die grundlegende Redis-Sicherheit zur Sicherung der Redis-Installation wurde auf unseren Host angewendet.
Weitere Überlegungen sind, dass Sie möglicherweise auch die Unterstützung von Redis für die Datenverschlüsselung sowie die auf der Anwendungsseite erforderliche sichere Codierung benötigen.
Schritt 4 – Prüfung
In diesem Schritt werden wir unsere Redis Server-Bereitstellung mit der Befehlszeile „redis-cli“ testen.
1. Host testen und authentifizieren
Verbinden Sie sich mit dem Redis-Server über den Befehl redis-cli, indem Sie den Hostnamen/die IP-Adresse und den Port des Redis-Servers angeben.
redis-cli -h 10.5.5.25 -p 6379
Ändere die ‚10.5.5.5.5.25‚ mit deiner eigenen IP-Adresse.
Sobald Sie mit dem Server verbunden sind, versuchen Sie es mit dem Befehl ping.
ping ping "Hello Redis"
Nun erhalten Sie das Ergebnis wie unten beschrieben.
Sie erhalten einen Ann-Fehler, weil Sie sich authentifizieren müssen, bevor Sie einen Befehl in der Redis CLI-Shell aufrufen.
Führen Sie den folgenden Befehl aus, um sich am Redis-Server zu authentifizieren.
AUTH hakase-labs321@#$
Sobald Sie authentifiziert sind, können Sie den Befehl ping ausprobieren und erhalten eine Antwort vom Redis-Server.
ping ping "Hello Redis"
Nachfolgend sehen Sie das Ergebnis, nachdem Sie sich gegenüber dem Redis-Server authentifiziert haben.
2. Testen des deaktivierten/umbenannten Befehls
Führen Sie alle Befehle, die wir umbenannt haben, auf der Shell aus und Sie erhalten den Befehlsfehler.
FLUSHALL CONFIG
Nachfolgend finden Sie das Fehlerergebnis dieser Befehle.
Als nächstes führen Sie die Befehle’CUSTOM‘ für jeden einzelnen aus.
Erstellen Sie einen neuen Schlüssel mit dem Befehl redis-cli wie unten beschrieben.
SET Name "Hakase Labs" SET Blog "Howtoforge.com"
Keys *
Löschen Sie nun alle Schlüssel und Daten mit dem in’FLUSHALL‘ umbenannten Befehl’DELITALL‘.
DELITALL
Für den Befehl’CONFIG‘ können Sie versuchen, den neuen Wert der Redis Server-Konfiguration abzurufen oder einzurichten. Der Befehl’CONFIG‘ wurde in’MYSERVERCONF‘ umbenannt.
MYSERVERCONF get bind MYSERVERCONF get requirepass
Und unten ist das Ergebnis dieses neuen, umbenannten benutzerdefinierten Befehls.
Die Basisinstallation von Redis Server auf Ubuntu 18.04 ist abgeschlossen und die Basissicherheit für Redis Server wurde übernommen.