Zertifikat für verschlüsselte MySQL-Verbindung angeben

  • Rookie Rookie
    Padawan
    0 x
    41 Beiträge
    0 Hilfreiche Beiträge
    10. 08. 2011, 10:45

    Hallo zusammen,

    ich such mich gerade dumm und dämlich nach der Möglichkeit, wie ich der Apache-PHP-Konfiguration oder dem Typo3 beibringe, dass es ein bestimmtes Zertifikat für die Datenbank-Verbindung nutzt.

    Hintergrund ist die verschlüsselte Übertragung zwischen Web- und Datenbank-Server. Die verschlüsselt MySQL-Verbindung per mysql-Client in der Linux-Konsole funktioniert problemlos. Nur wie sage ich das dem php-Modul bzw. der Typo3-Installation?

    Kann man vielleicht irgendwo angeben, dass die /etc/mysql/my.cnf geladen werden soll? Dort sind die Zertifikate im Client-Abschnitt eingetragen?

    Danke.
    Viele Grüße

    Ulf


  • 1
  • Chrissli Chrissli
    Jedi-General
    0 x
    1016 Beiträge
    28 Hilfreiche Beiträge
    10. 09. 2011, 23:01

    Hallo Rookie,

    die darfst mich gerne korrigieren,
    aber beim Start der MySQL Datenbank wird automatisch deren
    my.cnf geladen...
    Und warum brauchst du ein Zertifikat um zwischen den Anwendungen
    deines eigenen Servers zu kommunizieren?
    Nachvollziehbar wäre das, wenn du Daten nicht vom localhost sondern
    einem externen Server lädst. Aber der wird NIE deine eigene my.cnf
    laden.

    God's in his heaven, all's right with the world

  • Rookie Rookie
    Padawan
    0 x
    41 Beiträge
    0 Hilfreiche Beiträge
    11. 09. 2011, 10:21

    Hallo Chrissli,

    ja, das ist richtig. Die Standard my.cnf wird geladen. Damit bekomme ich aber keine benutzerbezogenen Zertifikate hin, damit ich im Worst Case einzelne Benutzer-Zertifikate sperren kann. Aber vielleicht kann man ein serverbezogenes Zertifikat nutzen und ggf. dann den Benutzer über mysql sperren. Das werde ich mal prüfen.

    Ich brauche die zertifikatsbasierte Verbindung, weil Web- und MySQL-Server unterschiedliche Server (Maschinen) in unterschiedlichen Netzbereichen (DMZ-Frontend, DMZ-Backend) sind.

    Danke für Deine Anregungen.
    Viele Grüße

    Ulf

  • Buster.de Buster.de
    Padawan
    0 x
    32 Beiträge
    0 Hilfreiche Beiträge
    21. 10. 2011, 16:29

    Hallo,

    so wie ich das beim Überflogen verstanden habe, musst du dem [url=http://de.php.net/manual/de/function.mysql-connect.php]mysql_conntect[/url] das passende [url=http://de.php.net/manual/de/mysql.constants.php#mysql.client-flags]client_flag[/url] mitgeben.

    Der Verbindungsaufbau erfolgt in t3lib/class.t3lib_db.php in der Funktion sql_pconnect(). Wie es aussieht müsste man der erst die Unterstützung für das Flag beibringen.

    Seit März 2007 (leider) gibt's dazu auch ein Eintrag im Bugtracker: http://forge.typo3.org/issues/17108

    MfG Martin

  • Rookie Rookie
    Padawan
    0 x
    41 Beiträge
    0 Hilfreiche Beiträge
    21. 10. 2011, 17:05

    Hallo Martin,

    ich habe mir Deinen Vorschlag gerade mal angesehen. Leider habe ich nicht genug Erfahrung, um diese Umsetzung zu machen. Bei der Suche nach DBAL und mysqli habe ich auf die Schnelle auch nichts Vernünftiges gefunden. Da bleibt wohl nur zu hoffen, dass demnächst mysqli statt mysql genutzt wird. Da kann man dann die SSL-Parameter mit angeben.

    MfG Ulf

  • 1