So verwenden Sie Redis ACL

So verwenden Sie Redis ACL
Die ACL- oder Zugriffskontrollliste ist eine Sicherheitsfunktion in Redis, mit der Sie die Verbindung zum Redis -Server einschränken und steuern können. Sie können beispielsweise angeben, welche Schlüssel und Befehle eine Client -Verbindung mit der ACL.

In diesem Tutorial werden wir untersuchen, wie ACL -Funktionen in Redis verwendet werden, um die Sicherheit des Redis -Servers zu verbessern.

Wie funktioniert es?

Sie beginnen damit, Benutzer in der ACL zu definieren. Sobald ein Client eine Verbindung zur Redis -CLI herstellt, muss er sich mit einem Benutzernamen und einem Passwort authentifizieren, das in der Liste der Zugriffskontrolle angegeben ist.

Nach erfolgreicher Authentifizierung verbindet Redis diese Verbindung mit dem Benutzer und weist dieser Verbindung die definierte Genehmigung zu.

Wenn sich ein Client beispielsweise mit einem Benutzer mit nur Ansichtserlaubnis authentifiziert, wird die Verbindung die Berechtigungen des Benutzers erben.

Hinweis: Die ACL -Funktion ist nur in Redis 6 erhältlich.0 und höher.

Redis Auth -Befehl

In der neueren Version von Redis verwenden wir den Befehl auth, gefolgt vom Benutzernamen und dem Passwort.

Wenn nur das Kennwort geliefert wird, automatisch automatisch als Standardbenutzer automatisch authentifiziert.

Redis konfigurieren ACL

Redis wird mit einem Standardbenutzer geliefert, der als Standard in der ACL bezeichnet wird. Sie können dies mit dem Befehl ACL List anzeigen:

127.0.0.1: 6379> ACL -Liste

1) "Benutzer Standard An #5E884898DA28047151D0E56F8DC6292773603D0D6AABBD62A11EF721D1542D8 ~* +@alle

Die Ausgabe des Befehls der ACL -Liste folgt einem bestimmten Muster. Lassen Sie es uns aufschlüsseln:

  1. Der erste Teil ist der Keyword -Benutzer.
  2. Als nächstes kommt der Benutzername des Benutzers in der ACL -Liste
  3. Der dritte Teil ist das Schlüsselwort „On“, das die Zugriffsschlüssel des Benutzers definiert.
  4. Der vierte Teil ist das im SHA256 -Format gehasste Passwort. Wenn kein Passwort festgelegt ist, wird der Wert auf NOPass gesetzt
  5. Last but not least ist die Liste der Schlüssel, auf die der Benutzer zugreifen kann. In unserem Fall sind es alles Schlüssel, daher (~*).
  6. Schließlich sind die Befehle, die der Benutzer ausführen kann. In unserem Beispiel sind alles Befehle.

ACL -Regeln

Redis verfügt über eine umfangreiche Liste von ACL -Regeln, die Sie verwenden können. Lassen Sie uns jedoch einige wesentliche auflisten.

  1. ON - Dies ermöglicht dem angegebenen Benutzer. Daher dürfen die Clients mit diesem Benutzernamen und Passwort authandanisieren.
  2. Aus - deaktiviert den angegebenen Benutzer. Kein Client kann mit diesem Benutzernamen oder Passwort auf AUT zugreifen.
  3. + - Fügt der Liste der Befehle, die ein Benutzer ausführen kann, einen Befehl hinzu. Jeder Befehl ist mit einem Rohr getrennt. Wenn der Benutzer beispielsweise Set ausführen und erhalten kann, können wir +einstellen | get
  4. - - Entfernt einen Befehl aus der Liste der zulässigen Befehle. In ähnlicher Weise trennen Sie jeden Befehl mit einem Rohr. Beispiel -
  5. @all oder AllCommands - Ermöglicht dem Benutzer, alle Befehle auf dem Server auszuführen.
  6. ~ - Fügt dem Schlüsseltyp, auf den ein Benutzer zugreifen kann, ein Muster hinzu. Zum Beispiel gibt ~* alle Schlüssel an.
  7. > - Fügt das angegebene Passwort der Liste der Passwörter hinzu, die der Benutzer authentifizieren kann.
  8. < - Opposite of above.
  9. ResetPass -Abgabe -die Liste der zulässigen Passwörter abgeben.
  10. NOPASS - Lassen Sie den Benutzer ohne Kennwort anmelden.

Redis konfigurieren ACL -Benutzer

Verwenden Sie den Befehl ACL SetUser, um einen Benutzer zur ACL -Liste hinzuzufügen, um den Befehl ACL SetUser. Der Befehl nimmt den Benutzernamen und die Liste der Regeln auf, um für den angegebenen Benutzer zu gelten.

Ein Beispiel ist wie unten gezeigt:

127.0.0.1: 6379> ACL SetUser LinuxHint
OK

Der Befehl fügt einen Benutzer mit dem angegebenen Benutzernamen hinzu.

Sie können die Benutzer in der ACL -Liste untersuchen wie:

127.0.0.1: 6379> ACL -Liste

1) "Benutzer Standard auf ~* +@All"

2) "Benutzer LinuxHint Off -@All"

Beachten Sie, dass der Benutzer "LinuxHint" standardmäßig deaktiviert ist und keine Befehle ausführen oder zugreifen kann.

Redis erstellt einen neuen Benutzer mit den geringsten Berechtigungen.

Wir können den folgenden Befehl ausführen, um dem Benutzer zu aktivieren und ein Kennwort festzulegen.

127.0.0.1: 6379> ACL SetUser LinuxHint auf> Passwort
OK

Im obigen Befehl ermöglichen wir dem Benutzer, indem wir den Wert auf ein einstellen und ein Passwort als> Passwort hinzufügen.

Um dem Benutzer Befehle hinzuzufügen, können wir dies tun:

127.0.0.1: 6379> ACL SetUser LinuxHint +Set | Get | Del
OK

Dies sollte dem LinuxHint -Benutzer ein paar Befehle hinzufügen.

Der Benutzer kann jedoch keinen Schlüssel zugreifen. Wir können dem Benutzer ermöglichen, auf alle Schlüssel zugreifen, wie im folgenden Befehl gezeigt:

127.0.0.1: 6379> ACL SetUser LinuxHint ~*
OK

Denken Sie daran, dass die Benutzernamen fallempfindlich sind.

Wir können jetzt die Benutzer in ACL als:

1) "Benutzer Standard auf ~* +@All"

2) "Benutzer LinuxHint on ~* -@alle +set | Get | Del"

Redis beschreibt den Benutzer

Führen Sie den Befehl ACL GetUser, gefolgt vom Ziel -Benutzernamen, den Befehls -ACL -GetUser aus, um beschreibende Informationen eines ACL -Benutzer zu erhalten.

127.0.0.1: 6379> ACL GetUser LinuxHint

1) "Flaggen"

2) 1) "on"

2) "alle Keeys"

3) "Passwörter"

4) 1) “5E884898DA28047151D0E56F8DC6292773603D0D6AABBDD62A11EF721D1542D8”

5) "Befehle"

6) "-@alle +set | Get | Del"

7) "Schlüssel"

8) 1) "*"

ACL generieren Passwort

Wenn Sie kein Kennwort für Ihren Benutzer generieren möchten, können Sie den Befehl ACL Genpass verwenden.

Ein Beispiel ist wie gezeigt:

127.0.0.1: 6379> ACL GenPass
"1AC9687481067647AD39A959AB90F172D9C25EA7265CACDF06C711257125F18B"

Der obige Befehl sollte einen zufälligen Passwort -Hash zurückgeben.

Abschluss

Dies war ein destillierter Artikel, der die Redis -ACL -Funktion beschreibt. Wir haben behandelt, wie man ACL in Redis aktiviert und verwendet, Benutzer hinzufügen, ACL -Regeln usw. festlegen usw.

Wir empfehlen dringend, die Dokumentation zu überprüfen, um mehr zu erfahren.

Danke fürs Lesen, bis zum nächsten Mal.