Heim >Datenbank >MySQL-Tutorial >Aktivieren Sie TLS für MySQL-Clients

Aktivieren Sie TLS für MySQL-Clients

王林
王林nach vorne
2023-08-23 14:07:401734Durchsuche

Aktivieren Sie TLS für MySQL-Clients

TLS wird auch als SSL (Secure Sockets Layer) bezeichnet. Es bezieht sich auf die Sicherheit der Transportschicht.

Wenn zwischen dem MySQL-Client und dem Server eine unverschlüsselte Verbindung besteht, kann jemand mit Netzwerkzugriff den gesamten Datenverkehr beobachten und die zwischen Client und Server gesendeten oder empfangenen Daten überprüfen. Wenn Benutzer Informationen auf sichere Weise über das Netzwerk übertragen möchten, werden unverschlüsselte Verbindungen nicht akzeptiert.

Um jegliche Art von Daten unlesbar zu machen, muss eine Verschlüsselung eingesetzt werden. Verschlüsselungsalgorithmen enthalten häufig Sicherheitselemente, die dabei helfen, vielen bekannten Angriffen standzuhalten. Dazu gehören unter anderem die Änderung der Reihenfolge verschlüsselter Nachrichten oder die doppelte Wiedergabe von Daten. MySQL unterstützt verschlüsselte Verbindungen zwischen Client und Server, die beide das TLS-Protokoll verwenden. MySQL verwendet das SSL-Protokoll jedoch nicht für verschlüsselte Verbindungen, da die Verschlüsselung schwach ist.

TLS verwendet Verschlüsselungsalgorithmen, um sicherzustellen, dass es sich bei den in öffentlichen Netzwerken empfangenen Daten um vertrauenswürdige Daten handelt. Es verfügt über viele Methoden, um Änderungen, Verlust oder Wiedergabe von Daten zu erkennen. TLS verwendet auch Authentifizierungsalgorithmen mit dem X.509-Standard.

Schritte zum Aktivieren der TLS

MySQL-Verschlüsselung pro Verbindung. Die Verschlüsselung für einen bestimmten Benutzer kann optional oder obligatorisch sein. Dadurch können Benutzer je nach Anwendungsanforderungen eine verschlüsselte oder unverschlüsselte Verbindung wählen.

Lassen Sie uns verstehen, wie Sie TLS für den MySQL-Client aktivieren:

  • Beim Starten des Servers müssen die Parameter ssl-cert und ssl-key in der Konfigurationsdatei angegeben werden.
  • Das Zertifikat oder der Schlüssel wird mit OpenSSL signiert und generiert.
  • Dieser Schlüssel kann auch mit dem Tool mysql_ssl_rsa_setup in MySQL generiert werden:
  • mysql_ssl_rsa_setup --datadir=./certs
    Wenn die Parameter korrekt sind, wird eine sichere Verbindung als Ausgabe übergeben, die beim Start aktiviert wird.
  • Zertifikate, Schlüssel und CAs neu laden – Führen Sie die ALTER INSTANCE RELOAD TLS-Anweisung auf der Serverinstanz aus. Dadurch wird sichergestellt, dass die Serverinstanz nicht neu geladen werden muss.
  • Nach erfolgreicher Ausführung einer aufgebauten Verbindung werden das neu geladene Zertifikat, der Schlüssel und die CA wirksam.
  • Konfigurieren Sie den MySQL-Client für die Verwendung einer verschlüsselten Verbindung – versucht standardmäßig, eine verschlüsselte Verbindung herzustellen. Wenn der Server keine verschlüsselten Verbindungen unterstützt, wird automatisch eine unverschlüsselte Verbindung zurückgegeben.
  • Das Verbindungsverhalten des Clients kann mit dem Parameter --ssl-mode geändert werden:
    --ssl-mode=REQUIRED- Tells that en encrypted connection is needed.

Erfordert die Aktivierung der Authentifizierung: Wenn der Parameter ssl-ca nicht angegeben ist, führt der Client oder Server standardmäßig keine Authentifizierung durch.

  • Die Parameter ssl-cert und ssl-key müssen im Server angegeben werden.
  • Geben Sie den Parameter --ssl-ca im MySQL-Client an.
  • Geben Sie --ssl-mode als VERIFY_CA im MySQL-Client an.
  • Das vom Server konfigurierte Zertifikat (ssl-cert) wird von der Zertifizierungsstelle signiert, die durch den Parameter --ssl-ca des Clients angegeben wird.
  • Andernfalls schlägt die Authentifizierung fehl.

So authentifizieren Sie MySQL-Clients vom Server:

  • Geben Sie die Parameter ssl-cert, ssl-key und ssl-ca im Server an.
  • Geben Sie die Parameter --ssl-cert und --ssl-key im Client an.
  • Das vom Server konfigurierte Zertifikat und das vom Client konfigurierte Zertifikat werden von der vom Server angegebenen SSL-CA signiert.
  • Die Server-zu-Client-Authentifizierung ist optional. Wenn der Client beim TLS-Handshake sein Attestierungszertifikat nicht vorlegt, wird die TLS-Verbindung trotzdem aufgebaut.
  • Überprüfen Sie, ob die aktuelle Verbindung eine Verschlüsselung verwendet.

Das obige ist der detaillierte Inhalt vonAktivieren Sie TLS für MySQL-Clients. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen