Wie kann ich das validate_password-Plugin verwenden, um die Sicherheit meiner Amazon RDS for MySQL-DB-Instance zu verbessern?
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
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 3 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Monaten