Um die SSL/TLS -Verschlüsselung für MySQL -Verbindungen zu konfigurieren, folgen Sie folgenden Schritten:
server-cert.pem
), der Serverschlüssel ( server-key.pem
), das Client-Zertifikat ( client-cert.pem
) und der Client-Schlüssel ( client-key.pem
). Diese Dateien sollten in einem sicheren Verzeichnis auf Ihrem MySQL -Server platziert werden. Konfigurieren Sie MySQL Server : Bearbeiten Sie die MySQL -Konfigurationsdatei ( my.cnf
oder my.ini
je nach Betriebssystem). Fügen Sie die folgenden Zeilen im Abschnitt [mysqld]
hinzu oder ändern Sie die folgenden Zeilen:
<code>[mysqld] ssl-ca=/path/to/ca-cert.pem ssl-cert=/path/to/server-cert.pem ssl-key=/path/to/server-key.pem</code>
Ersetzen /path/to/
durch die tatsächlichen Pfade, auf denen Ihre Zertifikate gespeichert sind.
Überprüfen Sie die Server -SSL -Konfiguration : Stellen Sie eine Verbindung zu MySQL her und führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Server SSL verwendet:
<code>SHOW VARIABLES LIKE 'have_ssl';</code>
Die Ausgabe sollte YES
zeigen.
Konfigurieren Sie den MySQL -Client : Um sicherzustellen, dass der Client auch SSL für Verbindungen verwendet, können Sie SSL -Optionen in der Client -Konfigurationsdatei oder zur Laufzeit angeben. Sie können beispielsweise den Abschnitt [client]
in Ihrer MySQL -Client -Konfigurationsdatei ( my.cnf
oder my.ini
) die folgenden Zeilen hinzufügen:
<code>[client] ssl-ca=/path/to/ca-cert.pem ssl-cert=/path/to/client-cert.pem ssl-key=/path/to/client-key.pem</code>
Testen Sie die SSL -Verbindung : Stellen Sie mit dem Client eine Verbindung zum MySQL -Server her und geben Sie die SSL -Optionen an, wenn sie nicht bereits in der Client -Konfigurationsdatei konfiguriert sind. Verwenden Sie den Befehl:
<code>mysql -h hostname -u username -p --ssl-ca=/path/to/ca-cert.pem --ssl-cert=/path/to/client-cert.pem --ssl-key=/path/to/client-key.pem</code>
Sobald Sie verbunden sind, können Sie den SSL -Status durch Ausführen überprüfen:
<code>STATUS;</code>
Die Ausgabe sollte SSL: Cipher in use
.
Befolgen Sie die folgenden Schritte, um SSL -Zertifikate für MySQL zu generieren und zu installieren:
Generieren Sie ein Zertifikat (Zertifikatberechtigte (CA) : Verwenden Sie OpenSSL, um ein CA -Zertifikat und ein Schlüssel zu erstellen. Führen Sie die folgenden Befehle aus:
<code>openssl genrsa 2048 > ca-key.pem openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca-cert.pem</code>
Sie werden aufgefordert, Details über die CA einzugeben, z. B. den Namen des Ländernamens und der Organisationsname.
Serverzertifikat erstellen und Schlüssel : Erstellen Sie eine Serverzertifikatanforderung und unterschreiben Sie es mit der CA:
<code>openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-req.pem openssl rsa -in server-key.pem -out server-key.pem openssl x509 -req -in server-req.pem -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem</code>
Stellen Sie beim Generieren der Serveranforderung sicher, dass der Common Name
dem Hostnamen Ihres MySQL -Servers übereinstimmt.
Erstellen Sie ein Client -Zertifikat und Schlüssel : Erstellen Sie eine Client -Zertifikatanforderung und unterschreiben Sie diese bei der CA:
<code>openssl req -newkey rsa:2048 -days 3600 -nodes -keyout client-key.pem -out client-req.pem openssl rsa -in client-key.pem -out client-key.pem openssl x509 -req -in client-req.pem -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 02 -out client-cert.pem</code>
/etc/mysql/ssl/
verwenden.my.cnf
oder my.ini
), um auf die Zertifikatdateien zu verweisen, wie im vorherigen Abschnitt beschrieben.Ja, Sie können selbstsignierte Zertifikate für die Verschlüsselung von MySQL SSL/TLS verwenden. Es gibt jedoch mehrere Sicherheitsauswirkungen zu berücksichtigen:
Befolgen Sie die folgenden Schritte:
Überprüfen Sie die MySQL -Serverkonfiguration : Stellen Sie eine Verbindung zum MySQL -Server her und führen Sie aus:
<code>SHOW VARIABLES LIKE 'have_ssl';</code>
Die Ausgabe sollte YES
zeigen, was angibt, dass SSL aktiviert ist.
Überprüfen Sie den SSL -Verbindungsstatus : Wenn Sie nach dem MySQL -Server verbunden sind, rennen Sie:
<code>STATUS;</code>
Die Ausgabe sollte ein SSL
-Feld enthalten, das die SSL: Cipher in use is TLS_AES_256_GCM_SHA384
.
Verwenden Sie den Befehl SHOW STATUS
: Führen Sie den folgenden Befehl aus, um detailliertere Informationen zu SSL -Verbindungen zu erhalten:
<code>SHOW STATUS LIKE 'Ssl_cipher';</code>
Dies sollte zeigen, dass die Chiffre für die aktuelle Verbindung verwendet wird.
Überprüfen Sie die Clientverbindung mit SSL -Optionen : Stellen Sie mit dem Client mit den angegebenen SSL -Optionen eine Verbindung zum MySQL -Server her.
<code>mysql -h hostname -u username -p --ssl-ca=/path/to/ca-cert.pem --ssl-cert=/path/to/client-cert.pem --ssl-key=/path/to/client-key.pem</code>
Die Verbindung sollte erfolgreich sein, und Sie können den SSL -Status mithilfe des STATUS
überprüfen.
Überwachen Sie SSL -Verbindungsmetriken : Sie können SSL -Verbindungsmetriken durch Ausführen überwachen:
<code>SHOW GLOBAL STATUS LIKE 'Ssl%';</code>
Dieser Befehl enthält verschiedene SSL-bezogene Statusvariablen, wie Ssl_accepts
, Ssl_accept_renegotiates
und Ssl_client_connects
, die Ihnen helfen können, die Gesamtnutzung der SSL auf Ihrem Server zu bewerten.
Wenn Sie diese Schritte ausführen, können Sie sicherstellen, dass die SSL/TLS -Verschlüsselung ordnungsgemäß konfiguriert ist und für Ihre MySQL -Verbindungen funktioniert.
Das obige ist der detaillierte Inhalt vonWie konfiguriere ich die SSL/TLS -Verschlüsselung für MySQL -Verbindungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!