Cenário: Autenticação do MySQL Server

Recomendamos usar um certificado TLS para autenticar o servidor MySQL. É possível usar um certificado de uma autoridade de certificação (AC) confiável ou um certificado autoassinado.

O Servidor de Administração é compatível com a autenticação SSL unidirecional e bidirecional para o MySQL.

Ativar a autenticação SSL unidirecional

Siga estas etapas para configurar a autenticação SSL para o MySQL:

  1. Gere um certificado TLS autoassinado para o servidor MySQL

    No PowerShell, altere o diretório para a pasta onde se deseja armazenar os certificados. Execute os seguintes comandos:

    $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-----

    "@

    # Output to file

    $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

    Esses comandos criam certificados para o usuário atual e os exportam para o formato PEM. Só é preciso ter os arquivos PEM exportados para autenticar o servidor. Para remover os certificados criados do Windows, execute o seguinte comando no PowerShell:

    certmgr.msc

    Localize os certificados criados na pasta Pessoal → Certificados para exclui-los.

  2. Crie um arquivo de sinalização do servidor

    Execute o prompt de comando do Windows usando direitos de administrador e altere o diretório atual para o diretório com o utilitário klscflag. O utilitário klscflag está localizado na pasta onde o Servidor de Administração está instalado. O caminho de instalação padrão é <Disco>:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center.

    Use o utilitário klscflag para criar o sinalizador do servidor KLSRV_MYSQL_OPT_SSL_CA e especifique o caminho para o certificado como seu valor.

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <caminho para ca-cert.pem> -t d

  3. Configure o banco de dados

    Especifique os certificados no arquivo my.cnf. Abra o arquivo my.cnf em um editor de texto e adicione as seguintes linhas na seção [mysqld]:

    [mysqld]

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

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

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

Ativar a autenticação SSL bidirecional

Siga estas etapas para configurar a autenticação bidirecional SSL para o MySQL:

  1. Crie arquivos de sinalização do servidor

    Execute o prompt de comando do Windows usando direitos de administrador e altere o diretório atual para o diretório com o utilitário klscflag. O utilitário klscflag está localizado na pasta onde o Servidor de Administração está instalado. O caminho de instalação padrão é <Disco>:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center.

    Use o utilitário klscflag para criar os sinalizadores do servidor e especifique o caminho para os arquivos do certificado como seus valores:

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <caminho para ca-cert.pem> -t s

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CERT -v <caminho para server-cert.pem> -t s

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_KEY -v <caminho para server-key.pem> -t s

  2. Especifique a senha (opcional)

    Caso o server-key.pem exija uma senha, crie um sinalizador KLSRV_MARIADB_OPT_TLS_PASPHRASE e especifique a senha como seu valor:

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

  3. Configure o banco de dados

    Especifique os certificados no arquivo my.cnf. Abra o arquivo my.cnf em um editor de texto e adicione as seguintes linhas na seção [mysqld]:

    [mysqld]

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

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

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

Topo da página