[Eisfair] Kein PHPmyadmin login nach Update Apache2 und PHP5

Marcus Roeckrath marcus.roeckrath at gmx.de
So Nov 8 15:02:23 CET 2015


Hallo,

Marcus Roeckrath wrote:

> Ich habs gefunden:
> 
> Wenn in den Advanced_Features USE_SSL auf yes steht, klappt die Anmeldung
> nicht.

Holger und ich haben heute Mittag länger telefoniert und das mal alles
durchgesprochen und analysiert; ich möchte Euch alle an unseren Ergebnissen
teilhaben.

phpmyadmin kennt zwei Optionen zur SSL-Verschlüsselung.

ForceSSL: Erzwingt SSL-Verschlüsselung zwischen phpmyadmin un dem Webbrowser

UseSSL (pro DB-Server einzustellen): Erzwingt SSL-Verschlüsselung zwischen
phpmyadmin und den verschiedenen Datenbank-Servern

Hier ein Bild


phpmyadmin (auf eisfair)------ForceSSL------Browser auf bel. PC
|
|--UseSSL-(*)--- mysql/mariadb auf gleichem eisfair-Server
|
|--UseSSL---- mysql/mariadb auf irgendeinem anderen Server
|
|--UseSSL---- mysql/mariadb auf noch einem anderen Server

Eine SSL-Verbindung innerhalb eines Servers ist IMHO absolut unnötig; warum
eine Transportverschlüsselung innerhalb einer Maschine?

Also in den ADVANCED_FEATURES USE_SSL für den lokalen
mysql/mariadb-Datenbankserver auf no stellen, wenn Datenbankserver und
phpmyadmin auf der gleichen Maschine laufen.

Benutzt hier überhaupt jemand phpmyadmin, um entfernte - nicht direkt auf
dem gleichen eisfair-Server laufende - Datenbanken zu verwalten?

Dass die Fehlermeldung, der Kontrolluser könne sich nicht anmelden,
erscheint, liegt IMHO einzig daran, dass der vor dem eigentlich
anzumeldenden DB-User Kontakt zur DB aufnimmt. Würde phpmyadmin zunächst
den normalen DB-User und dann den Kontrolluser anmelden, wäre die
Fehlermeldung "DBUser konnte nicht angemeldet" werden, gewesen.

Um nun, und da ist es absolut sinnvoll eine SSL-Verschlüsselung zu benutzen,
entfernte DB-Server einzubinden, fehlen für die UseSSL-Option z. Zt. noch
weitere Optionen in der Konfiguration, als da wären
(http://docs.phpmyadmin.net/en/latest/config.html#server-connection-settings):

$cfg['Servers'][$i]['ssl_key']
$cfg['Servers'][$i]['ssl_cert']
$cfg['Servers'][$i]['ssl_ca']
$cfg['Servers'][$i]['ssl_ca_path']
$cfg['Servers'][$i]['ssl_ciphers']

Also:

Man braucht vom Betreiber des entfernten DB-Servers das entsprechende
Serverzertifikat im pem/crt-Format; falls dieses nicht durch bekannte CAs
beglaubigt ist, auch das CA-Zertifikat des entfernten Servers.

Das ist alles vergleichbar mit dem Einrichten einer verschlüsselten
pop/smtp-Mailverbindung.

Warum hat das ganze bei Jürgen bis zum letzten Update trotzt
"UseSSL"-Einstellung noch funktioniert?

Weil "UseSSL" nur per mysqli überhaupt in phpmyadmin implementiert ist, über
die mysql-Schnittstelle ist es immer ohne Verschlüsselung.

Wäre die Frage, warum nach dem Update plötzlich mysqli statt eventuell
vorher eingestelltem mysql verwendet wird.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair