Kaspersky Security Center 15.1 Windows

Szenario: Authentifizierung am MySQL-Server

Es wird empfohlen, für die Authentifizierung am MySQL-Servers ein TLS-Zertifikat zu verwenden. Sie können ein Zertifikat einer vertrauenswürdigen Zertifizierungsstelle (certificate authority - CA) oder ein selbstsigniertes Zertifikat verwenden.

Der Administrationsserver unterstützt für MySQL sowohl die unidirektionale als auch die bidirektionale SSL-Authentifizierung.

Aktivieren der unidirektionalen SSL-Authentifizierung

Gehen Sie folgendermaßen vor, um die unidirektionale SSL-Authentifizierung für MySQL zu konfigurieren:

  1. Generieren Sie ein selbstsigniertes TLS-Zertifikat für den MySQL-Server

    Starten Sie die PowerShell und wechseln Sie in den Ordner, in dem Sie die Zertifikate speichern möchten. Führen Sie die folgenden Befehle aus:

    $CertCA = New-SelfSignedCertificate ` -Subject "CN=CertCA" ` -CertStoreLocation "Cert:\CurrentUser\My" ` -HashAlgorithm "SHA256" ` -NotAfter (Get-Date).AddDays(365) $CertCABase64 = [System.Convert]::ToBase64String($CertCA.RawData, [System.Base64FormattingOptions]::InsertLineBreaks) $CertLeaf = New-SelfSignedCertificate ` -Subject "CN=CertLeaf" ` –Signer $CertCA ` -CertStoreLocation "Cert:\CurrentUser\My" ` -HashAlgorithm "SHA256" ` -KeyExportPolicy Exportable ` -NotAfter (Get-Date).AddDays(365) $CertLeafBase64 = [System.Convert]::ToBase64String($CertLeaf.RawData, [System.Base64FormattingOptions]::InsertLineBreaks) $CertLeafRSACng = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($CertLeaf) $CertLeafKeyBytes = $CertLeafRSACng.Key.Export([System.Security.Cryptography.CngKeyBlobFormat]::Pkcs8PrivateBlob) $CertLeafKeyBase64 = [System.Convert]::ToBase64String($CertLeafKeyBytes, [System.Base64FormattingOptions]::InsertLineBreaks) $CertCAPemCert = @" -----BEGIN CERTIFICATE----- $CertCABase64 -----END CERTIFICATE----- "@ $CertLeafPemKey = @" -----BEGIN PRIVATE KEY----- $CertLeafKeyBase64 -----END PRIVATE KEY----- "@ $CertLeafPemCert = @" -----BEGIN CERTIFICATE----- $CertLeafBase64 -----END CERTIFICATE----- "@ # In Datei ausgeben $CertCAPemCert | Out-File -FilePath ca-cert.pem -Encoding Ascii $CertLeafPemKey | Out-File -FilePath server-key.pem -Encoding Ascii $CertLeafPemCert | Out-File -FilePath server-cert.pem -Encoding Ascii

    Diese Befehle erstellen Zertifikate für den aktuellen Benutzer und exportieren die Zertifikate in das PEM-Format. Zur Authentifizierung des Servers benötigen nur die exportierten PEM-Dateien. Um die erstellten Zertifikate in Windows zu löschen, führen Sie den folgenden Befehl in der PowerShell aus:

    certmgr.msc

    Suchen Sie die erstellten Zertifikate im Ordner Persönlich → Zertifikate und löschen Sie diese.

  2. Erstellen Sie eine Server-Flag-Datei

    Führen Sie die Windows-Eingabeaufforderung als Administrator aus und wechseln Sie anschließend in das Verzeichnis mit dem Tool "klscflag". Das Tool "klscflag" befindet sich in dem Verzeichnis, in dem der Administrationsserver installiert ist. Der Standardinstallationspfad lautet "<Laufwerksbuchstabe>:\Programme (x86)\ Kaspersky Lab\ Kaspersky Security Center".

    Verwenden Sie das Tool "klscflag", um das Server-Flag KLSRV_MYSQL_OPT_SSL_CA zu erstellen, und geben Sie den Pfad des Zertifikats als dessen Wert an.

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <Pfad zur Datei ca-cert.pem> -t s

  3. Konfigurieren Sie die Datenbank

    Geben Sie die Zertifikate in der Datei "my.cnf" an. Öffnen Sie die Datei "my.cnf" in einem Texteditor und fügen Sie im Abschnitt "[mysqld]" die folgenden Zeilen hinzu:

    [mysqld]

    ssl-ca="...\mysqlcerts\ca-cert.pem"

    ssl-cert="...\mysqlcerts\server-cert.pem"

    ssl-key="...\mysqlcerts\server-key.pem"

Aktivieren der bidirektionalen SSL-Authentifizierung

Gehen Sie folgendermaßen vor, um die bidirektionale SSL-Authentifizierung für MySQL zu konfigurieren:

  1. Erstellen Sie Server-Flag-Dateien

    Führen Sie die Windows-Eingabeaufforderung als Administrator aus und wechseln Sie anschließend in das Verzeichnis mit dem Tool "klscflag". Das Tool "klscflag" befindet sich in dem Verzeichnis, in dem der Administrationsserver installiert ist. Der Standardinstallationspfad lautet "<Laufwerksbuchstabe>:\Programme (x86)\ Kaspersky Lab\ Kaspersky Security Center".

    Verwenden Sie das Tool "klscflag", um die Server-Flags zu erstellen, und geben Sie die Pfade der Zertifikate als deren Wert an.

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <Pfad zur Datei ca-cert.pem> -t s

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CERT -v <Pfad zur Datei server-cert.pem> -t s

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_KEY -v <Pfad zur Datei server-key.pem> -t s

  2. Geben Sie die Passphrase an (optional)

    Wenn server-key.pem eine Passphrase erfordert, erstellen Sie das Flag KLSRV_MARIADB_OPT_TLS_PASPHRASE und geben Sie die Passphrase als dessen Wert an:

    klscflag -fset -pv klserver -n KLSRV_MARIADB_OPT_TLS_PASPHRASE -v <Passphrase> -t s

  3. Konfigurieren Sie die Datenbank

    Geben Sie die Zertifikate in der Datei "my.cnf" an. Öffnen Sie die Datei "my.cnf" in einem Texteditor und fügen Sie im Abschnitt "[mysqld]" die folgenden Zeilen hinzu:

    [mysqld]

    ssl-ca="...\ca-cert.pem"

    ssl-cert="...\server-cert.pem"

    ssl-key="...\server-key.pem"