meta data for this page
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| mariadb_zertifikatbasiertes_anmeldesystem [30.01.2016 07:56] – 192.168.126.108 | mariadb_zertifikatbasiertes_anmeldesystem [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== MariaDB zertifikatbasiertes Anmeldesystem ====== | ||
| - | |||
| - | Das ab 2016 eingeführte Anmeldesystem an die KSDB basiert auf einer Benutzerauthorisierung durch Client-Zertifikate. Diese Zertifikate werden auf dem Server erstellt und in die '' | ||
| - | |||
| - | Die Benutzer werden in der Datenbank angelegt als ''< | ||
| - | |||
| - | Der Prozess gliedert sich nun in die Blöcke | ||
| - | * Server-Zertifikate erstellen | ||
| - | * Client-Zertifikate erstellen und Benutzer anlegen | ||
| - | * Anmeldeverfahren anpassen | ||
| - | |||
| - | ==== Server-Zertifikate erstellen ==== | ||
| - | Auf dem Server benötigen wir zwei Zertifikate. Das erste ist ein sogenanntes **CA-Zertifikat** und bildet die Authorisierungs-Instanz. Die Zertifikate werden im Verzeichnis ''/ | ||
| - | |||
| - | < | ||
| - | cd / | ||
| - | [ -e certs ] && rm -Rf certs | ||
| - | mkdir certs | ||
| - | cd certs | ||
| - | openssl genrsa 2048 > ca-key.pem | ||
| - | openssl req -new -x509 -nodes -sha256 -days 3600 -key ca-key.pem -out ca-cert.pem -subj '/ | ||
| - | openssl genrsa 2048 -out server06.kraemerschwab.com-key.pem | ||
| - | openssl req -key server06.kraemerschwab.com-key.pem -new -sha256 -out server06.kraemerschwab.com-req.csr -subj '/ | ||
| - | openssl x509 -req -in server06.kraemerschwab.com-req.csr -days 3600 -sha256 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server06.kraemerschwab.com-cert.pem | ||
| - | cp ca-cert.pem / | ||
| - | </ | ||
| - | |||
| - | ==== Serverzertifikat in MariaDB installieren ==== | ||
| - | |||
| - | Hierzu werden der Konfigurationsdatei ''/ | ||
| - | < | ||
| - | ssl | ||
| - | ssl-ca = / | ||
| - | ssl-cert = / | ||
| - | ssl-key = / | ||
| - | </ | ||
| - | |||
| - | Nun wird MariaDB neu gestartet mit dem Befehl: | ||
| - | < | ||
| - | / | ||
| - | </ | ||
| - | |||
| - | |||
| - | ==== Benutzer-Zertifikate erstellen ==== | ||
| - | Das Benutzerzertifikat wird mit dem Script ''/ | ||
| - | |||
| - | |||
| - | |||
| - | * Nun werden die Benutzer umgestellt. Bisher meldete sich xyz mit einem Password pw_xyz an. Neu darf er sich, sofern er aus dem internen Netz kommt und SSL-zertifiziert ist, ohne Passwort anmelden. Kommt er jedoch von aussen, dann soll er sich mit dem bisherigen Passwort anmelden. Ohne SSL-Zertifikat darf er sich hingegen gar nie mehr anmelden. | ||
| - | * Dazu müssen zuerst die Benutzer von % auf 192.168.1.% umgestellt werden mit | ||
| - | < | ||
| - | mysql -uroot -p -e" | ||
| - | mysql -Nsr -uroot -p -Dhaas >/ | ||
| - | SELECT CONCAT( | ||
| - | ' | ||
| - | login_user, | ||
| - | ' | ||
| - | IFNULL(text_1, | ||
| - | '/ | ||
| - | 'set password for \'', | ||
| - | ' | ||
| - | login_user, | ||
| - | ' | ||
| - | REPLACE(IFNULL(text_1, | ||
| - | '/ | ||
| - | 'set password for \'', | ||
| - | FROM personal p join mysql.user u on u.user = p.login_user and u.host = ' | ||
| - | EOF | ||
| - | |||
| - | mysql -uroot -p </ | ||
| - | |||
| - | rm / | ||
| - | </ | ||