MariaDB 10 Password Policy auf Synology Diskstations

Mit Version 10.3.21-0063 des MariaDB 10 Packages hat Synology eine Passwort Komplexität für MariaDB-Useraccounts implementiert, siehe Release Notes (https://www.synology.com/en-global/releaseNote/MariaDB10):

MariaDB 10 Package Release Notes
MariaDB 10 Package Release Notes

Die Komplexität lässt sich auch als root-User nicht umgehen.
Aus Sicherheitsgründen ist diese Feature natürlich sinnvoll, was aber, wenn man ein niedrigeres Sicherheitsniveau benötigt (z.B. weil die NAS nicht auf’s Internet zugreifen kann oder weil in den DBs keine kritischen Daten gespeichert sind) und man deshalb Passwörter verwenden möchte, die einfacher sein dürfen, als es die Komplexitätsrichtlinien erfordern?

Um dies zu bewerkstelligen, muss das Password Validation Plugin synology_password_check deaktiviert werden.

Dazu muss als Erstes das MariaDB Plugin über das DSM Package Center gestoppt werden.

Danach verbindet man sich per SSH auf die NAS und editiert die Datei /volume1/@appstore/MariaDB10/usr/local/mariadb10/etc/mysql/my.cnf. In dieser Datei sind die beiden fett markierten Zeilen auszukommentieren:

# DO NOT EDIT THIS FILE !!!
# You can change the port on user interface of MariaDB10.
# Please add other custom configuration to /var/packages/MariaDB10/etc/my.cnf
#
[client]
socket = /run/mysqld/mysqld10.sock 

[mysqld]
bind-address = 0.0.0.0
...
innodb_file_per_table = 1
synology_password_check = FORCE_PLUS_PERMANENT

...
[mariadb]
plugin_load_add = synology_password_check
...
!include /var/packages/MariaDB10/etc/my.cnf
!include /var/packages/MariaDB10/etc/my_port.cnf
!include /var/packages/MariaDB10/etc/synology.cnf

Abschließend kann das Package über DSM wieder gestartet werden.

Über die MariaDB CLI lassen sich jetzt beliebige Passwörter ohne Komplexität setzen.

mysql> SET PASSWORD FOR '<Username>'@'%' = PASSWORD('<Password>');

Die GUI erzwingt für den root-User allerdings immer noch starke Passwörter.

Update 22.10.2021

Hinweis: Es erfordert root-Rechte, um die Konfigurationsdatei zu editieren.

4 Antworten

  1. Joern Rossdeutscher sagt:

    Das war grundsätzlich sehr hilfreich. Für mich als vollständigen Neuling in Sachen SSH/Telnet eine Herausforderung. Ok, Putty genutzt, angemeldet und an alte Dos Befehle erinnert, klappt. Editor via VIM dann auch die my.cnf editieren können – aber – großes aber, trotz des auf dem NAS gestoppten Dienstes der Maria DB10 ist die Datei schreibgeschützt und lässt sich nicht mit den Änderungen speichern. Wer kann helfen?

    • Hallo Joern.
      Danke für dein Feedback.
      Um die Datei zu editieren, brauchst du root-Rechte (der HInweis fehlt zugegebenermaßen im Beitrag). Daher anmelden per PuTTy mit „admin“ und dann in der Konsole mit „sudo -i“ zu root hochstufen (Passwort wieder das von „admin“). Dann sollte das funktionieren.
      Gruß
      Andreas

  2. Mario sagt:

    Sinniger ist es die Datei /var/packages/MariaDB10/etc/my.cnf zu erstellen und dort folgendes einzufügen, da die Änderung ansonsten beim nächsten Update rückgängig gemacht wird.

    [mysqld]
    synology_password_check = OFF
    strict_password_validation = OFF

  3. Stefan sagt:

    Danke für den Hinweis! Ich habe ein primary/Secondary replica Konstruct aufgebaut die plötzlich out of sync waren. Der Error Status zeigte an, dass ein Kommando nicht nachgezogen werden konnte, weil die Passwortpolicy auf dem primary strenger eingestellt war.

Schreibe einen Kommentar zu Mario Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.