Einführung
In diesem Tutorial soll erklärt werden, wie man Redis auf Debian oder Ubuntu installieren und konfigurieren kann.
Voraussetzungen
-
Server mit installiertem Debian oder Ubuntu
-
Aktuelles System - mit folgenden Befehlen lassen sich Debian oder Ubuntu auf einen aktuellen Stand bringen:
apt update ; apt upgrade
-
Aktive SSH-Session mit Root-Rechten
Schritt 1 - Redis installieren
Im ersten Schritt muss Redis über den Paketmanager installiert werden:
apt install redis
Es wird dann nach einer Bestätigung für die Installation von Redis und dessen Abhängigkeiten gefragt. Dies muss je nach Locale-Konfiguration entweder mit "ja" oder mit "yes" beantwortet werden.
Schritt 2 - Grundlegende Funktion von Redis prüfen
Um sich mit dem Redis-Server zu verbinden, kann man das Tool "redis-cli" verwenden:
redis-cli
Ist dieses gestartet, sollte die Redis-Kommandozeile angezeigt werden.
Um die Funktion grundlegend zu testen, kann man hier "PING" eingeben und sollte daraufhin vom Redis-Server ein "PONG" zurück erhalten.
Außerdem ist es empfehlenswert, das Setzen und Abfragen eines Eintrags zu testen. Dies kann beispielsweise so erfolgen:
set testKey thisIsATestValue
Dies erstellt einen Eintrag mit dem Namen "testKey" und hinterlegt dafür den Wert "thisIsATestValue".
Um den Wert nun abzufragen, kann folgendes eingegeben werden:
get testKey
Der Redis-Server sollte dann "thisIsATestValue" zurück liefern.
Schritt 3 - Authentifizierung mithilfe eines Passworts
Wie bei vielen anderen Serverdiensten sollte auch bei Redis möglichst eine Authentifizierung erfolgen. Redis bietet hierfür die Möglichkeit, ein Passwort zu verwenden. Dieses Passwort muss in der globalen Konfigurationsdatei von Redis gesetzt werden. Diese können Sie folgendermaßen öffnen:
nano /etc/redis/redis.conf
Dort finden Sie folgende auskommentierte Zeile:
# requirepass foobared
Hier muss "#" entfernt werden und "foobared" muss durch das gewünschte Passwort ersetzt werden.
Das Passwort wird im Klartext gespeichert, um die Antwortzeit des Redis-Dienstes gering zu halten. Daher sollten weitere Sicherheitsmaßnahmen implementiert werden, wie zum Beispiel eine Firewall.
Um die Änderung an der Konfigurationsdatei für den Serverdienst zu übernehmen, ist der Neustart von Redis nötig. Hierzu kann folgender Befehl verwendet werden:
systemctl restart redis
Um die korrekte Funktion der Authentifizierung zu testen, verbinden Sie sich erneut über "redis-cli" und testen das Setzen und Abfragen von Daten. Dies sollte mit folgender Fehlermeldung quittiert werden:
(error) NOAUTH Authentication required.
Um sich mit dem Passwort zu authentifizieren, geben Sie folgenden Befehl ein:
AUTH [your-password]
Setzen und Abfragen des Key-Value-Paars sollte nun wieder funktionieren.
Schritt 4 - Zugriff auf localhost beschränken
Wenn keine externen Zugriffe auf den Redis-Server nötig sind, sollte der Zugriff auf localhost (127.0.0.1) beschränkt werden. Hierzu muss die Redis-Konfiguration erneut bearbeitet werden:
nano /etc/redis/redis.conf
Dort ist diese Zeile zu finden:
# bind 127.0.0.1 ::1
Hier muss wieder das "#"-Zeichen entfernt werden. Die IP-Adressen müssen nicht angepasst werden.
Wie auch schon zuvor bei der Änderung des Passworts ist auch nun der Neustart des Redis-Dienstes nötig:
systemctl restart redis
Danach sollte Redis nur lokal auf dem Server selbst erreichbar sein. Verbindungen von anderen Hosts sollten nicht mehr möglich sein. Dies kann zum Beispiel über "redis-cli" von einem anderen Host aus getestet werden.
Zusammenfassung
Nach abarbeiten dieses Tutorials steht Ihnen ein voll funktionsfähiger Redis-Server zur Verfügung. Sie sollten jedoch, je nach Einsatzszenario über weitere Sicherheitsmaßnahmen nachdenken. Dies könnten zum Beispiel sein:
- Zusätzliche Firewall
- SSL-Verschlüsselung der Verbindungen zum Redis-Server
Da dies jedoch sehr vom Anwendungszweck abhängt, gibt es hier keine allgemein gültige Empfehlung.