MySQL серверінің аутентификациясы үшін TLS сертификатын пайдалану ұсынылады. Сенімді сертификаттау орталығының (СА) сертификатын немесе өздігінен қол қойылған сертификатты қолдана аласыз.
Басқару сервер MySQL үшін бір жақты және екі жақты SSL аутентификациясына қолдау көрсетеді.
Бір жақты SSL аутентификациясын қосу
MySQL үшін бір жақты SSL аутентификациясын орнату мақсатында мына қадамдарды орындаңыз:
PowerShell бағдарламасындағы орынды сертификаттарды сақтағыңыз келетін қалтамен ауыстырыңыз. Келесі пәрмендерді орындаңыз:
$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
Бұл пәрмендер ағымдағы пайдаланушы үшін куәліктер жасайды және сертификаттарды PEM пішіміне экспорттайды. Сервердің аутентификациясы үшін сізге тек экспортталған PEM файлдары қажет. Жасалған сертификаттарды Windows жүйесінен жою үшін PowerShell бағдарламасында келесі пәрменді іске қосыңыз:
certmgr.msc
Жасалған сертификаттарды Жеке → Сертификаттар қалтасынан тауып, оларды жойыңыз.
Әкімші құқықтары бар Windows пәрмен жолын іске қосыңыз, содан кейін ағымдағы каталогті klscflag утилитасы бар каталогке өзгертіңіз. klscflag утилитасы Басқару серверінің орнату қалтасында орналасқан. Әдепкі бойынша орнату жолы: <Диск>:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center.
Klscflag утилитасын пайдаланып, KLSRV_MYSQL_OPT_SSL_CA сервері жалаушасын жасаңыз және оның мәндері ретінде сертификатқа жолды көрсетіңіз:
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <
жолы
ca-cert.pem> -t s
my.cnf файлында сертификаттарды көрсетіңіз. Мәтіндік редакторда my.cnf файлын ашыңыз және [mysqld] бөліміне келесі жолдарды қосыңыз:
[mysqld]
ssl-ca="...\mysqlcerts\ca-cert.pem"
ssl-cert="...\mysqlcerts\server-cert.pem"
ssl-key="...\mysqlcerts\server-key.pem"
Екі жақты SSL аутентификациясын қосу
MySQL үшін екі жақты SSL аутентификациясын орнату мақсатында мына қадамдарды орындаңыз:
Әкімші құқықтары бар Windows пәрмен жолын іске қосыңыз, содан кейін ағымдағы каталогті klscflag утилитасы бар каталогке өзгертіңіз. klscflag утилитасы Басқару серверінің орнату қалтасында орналасқан. Әдепкі бойынша орнату жолы: <Диск>:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center.
Klscflag утилитасын пайдаланып, сервер жалаушаларын жасаңыз және олардың мәндері ретінде сертификат файлдарына жолды көрсетіңіз:
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <
жолы
ca-cert.pem> -t s
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CERT -v <
жолы
server-cert.pem> -t s
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_KEY -v <
жолы
server-key.pem> -t s
Егер server-key.pem кодты сөйлемді қажет етсе, KLSRV_MARIADB_OPT_TLS_PASPHRASE жалаушасын жасаңыз және кодты сөйлемді оның мәні ретінде көрсетіңіз:
klscflag -fset -pv klserver -n KLSRV_MARIADB_OPT_TLS_PASPHRASE -v <
кодты сөйлем
> -t s
my.cnf файлында сертификаттарды көрсетіңіз. Мәтіндік редакторда my.cnf файлын ашыңыз және [mysqld] бөліміне келесі жолдарды қосыңыз:
[mysqld]
ssl-ca="...\ca-cert.pem"
ssl-cert="...\server-cert.pem"
ssl-key="...\server-key.pem"