Wie kann ich das validate_password-Plugin verwenden, um die Sicherheit meiner Amazon RDS for MySQL-DB-Instance zu verbessern?

Lesedauer: 4 Minute
0

Ich habe eine Amazon Relational Database Service (Amazon RDS) DB-Instance, auf der MySQL ausgeführt wird. Ich möchte das validate_password-Plugin verwenden, um meine Passwörter zu testen und die Sicherheit meiner DB-Instance zu verbessern.

Kurzbeschreibung

MySQL bietet ein validate_password-Plugin, das Sie verwenden können, um die Sicherheit einer RDS für MySQL-DB-Instance zu verbessern. Das Plugin verwendet Parameter in der DB-Parametergruppe für Ihre DB-Instance, um Passwortrichtlinien durchzusetzen. Das Plugin wird für DB-Instances unterstützt, auf denen die MySQL-Versionen 5.7 und 8.0 ausgeführt werden.

Hinweis: Das validate_password Plugin ist ein Plugin und nicht Teil der Standard-MySQL-Konfiguration. Wenn Amazon RDS eine MySQL-DB-Instance erstellt, ist das Plugin standardmäßig nicht installiert.

Behebung

Aktivieren Sie das Plugin validate_password für RDS für die MySQL-DB-Instance

Verwenden Sie den Hauptbenutzer, um eine Verbindung zur RDS für MySQL-DB-Instance herzustellen, und führen Sie den folgenden Befehl aus:

MySQL [(none)]> INSTALL PLUGIN validate_password SONAME 'validate_password.so';

Dadurch wird das Plugin validate_password installiert und anschließend das Plugin mit den Standardparameterwerten ausgeführt.

Stellen Sie sicher, dass das Plugin validate_password auf der RDS für MySQL-DB-Instance installiert und aktiv ist

Führen Sie die folgende Abfrage auf Ihrer DB-Instance aus, um den Status des validate_password-Plugins zu überprüfen:

MySQL [(none)]> SELECT plugin_name, plugin_status,
plugin_type, plugin_library FROM information_schema.plugins WHERE
plugin_name='validate_password';

    +-------------------+---------------+-------------------+----------------------+
    | plugin_name       | plugin_status | plugin_type       | plugin_library       |
    +-------------------+---------------+-------------------+----------------------+
    | validate_password | ACTIVE        | VALIDATE PASSWORD | validate_password.so |
    +-------------------+---------------+-------------------+----------------------+

Überprüfen Sie die Standardwerte für das Plugin validate_password

Führen Sie die folgende Abfrage aus, um die Standardparameterwerte für das Plugin zu überprüfen:

MySQL [(none)]> SHOW GLOBAL VARIABLES LIKE 'validate_password%';

Hier sind die Beschreibungen der einzelnen Parameter:

validieren Sie_Passwort_check_user_name

  • Wert — AUS
  • Beschreibung - leer

Validieren_Passwort_Wörterbuch_Datei

  • Wert — leer
  • Beschreibung - leer

Validieren_password_length

  • Wert - 8
  • Beschreibung — Mindestlänge des Passworts

**Validieren_Passwort_mixed_case_count **

  • Wert - 1
  • Beschreibung — Passwörter müssen Groß- und Kleinbuchstaben enthalten

Validieren_Passwort_Nummer_Anzahl

  • Wert - 1
  • Beschreibung — Passwörter müssen mindestens eine Zahl enthalten

Validieren_Passwort_Politik

  • Wert — MITTEL
  • Beschreibung — Die Bezeichnung der Einstellungsgruppe

Validieren_Passwort_special_char_count

  • Wert - 1
  • Beschreibung — Passwörter müssen mindestens ein Sonderzeichen enthalten

Konfigurieren Sie diese Parameter in der benutzerdefinierten DB-Parametergruppe, die Ihre DB-Instance verwendet, mit Ausnahme von Validieren_Passwort_Wörterbuch_Datei und Validieren_Passwort_prüfen_Benutzer_Name. Wenn Ihre DB-Instance die Standard-Parametergruppe verwendet, erstellen Sie eine neue Parametergruppe und hängen Sie sie dann an die DB-Instance an. Dies liegt daran, dass Sie die Parametereinstellungen einer Standardparametergruppe nicht ändern können. Weitere Informationen finden Sie unter Arbeiten mit Parametergruppen.

**Hinweis:**Amazon RDS validiert keine Passwörter. Wenn Sie eine der folgenden Optionen verwenden, um ein Benutzerkennwort festzulegen, ist die Änderung unabhängig von Ihren Passwortrichtlinien erfolgreich:

  • Die AWS-Managementkonsole
  • Der Befehl modify-db-instance der AWS-Befehlszeilenschnittstelle (Command Line Interface) (AWS CLI)
  • Der Amazon RDS-API-Vorgang ModifyDBInstance

Setzen Sie vorhandene Passwörter zurück und erstellen Sie ein richtlinienkonformes Passwort

Nachdem Sie das Plugin password_validate installiert und aktiviert haben, setzen Sie Ihre vorhandenen Passwörter zurück, um Ihren neuen Validierungsrichtlinien zu entsprechen.

1.Testen Sie das Passwort_validieren Plugin, das auf Ihrer DB-Instance installiert ist. Verwenden Sie die zuvor aufgeführten Standard-Plugin-Parameter, um einen neuen DB-Benutzer zu erstellen:

MySQL [(none)]> CREATE USER 'USER123'@'%' identified by 'password';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

Da validate_password_policy auf MEDIUM gesetzt ist, muss das Passwort die in der MySQL-Dokumentation validate_password_policy beschriebenen Kriterien erfüllen. Im vorherigen Beispiel schlägt der Befehl ERSTELLEN BENUTZER fehl, weil er die Passwortrichtlinie nicht erfüllt. Sie erhalten eine Fehlermeldung, die der folgenden ähnelt:

„Ihr Passwort entspricht nicht den aktuellen Richtlinienanforderungen.“

2.Führen Sie den folgenden Befehl aus, um einen Benutzer mit einem Passwort zu erstellen, das die Passwortrichtlinie erfüllt:

MySQL [(none)]> CREATE USER 'USER123'@'%' identified by 'Password@57';
Query OK, 0 rows affected (0.01 sec)

3.Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Sie den Benutzer erfolgreich erstellt haben:

MySQL [(none)]> SELECT user, host FROM mysql.user WHERE ( user='USER123' AND host='%' );
+-------------------+------+
| user              | host |
+-------------------+------+
| validate_password | %    |
+-------------------+------+
1 row in set (0.00 sec)

4.Führen Sie den folgenden Befehl aus, um das Passwort des vorhandenen Benutzers zu ändern. Verwenden Sie ein richtlinienkonformes Passwort, wie im folgenden Beispiel gezeigt:

mysql> alter user 'USER123'@'%' identified by 'Password@2020';
Query OK, 0 rows affected (0.01 sec)

Weitere Informationen zum Zurücksetzen von Passwörtern für einen vorhandenen Benutzer finden Sie unter Wie setzen Sie das Root-Passwort zurück (auf der MySQL-Website).

Schalten Sie das Plugin validate_password für die RDS-MySQL-DB-Instance aus

MySQL [(none)]> UNINSTALL PLUGIN validate_password;

Weitere Informationen

Verwenden des Passwort-Validierungs-Plug-ins für RDS for MySQL

Das Passwortvalidierungs-Plugin in der MySQL-Dokumentation

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 10 Monaten