نوصي باستخدام شهادة TLS للمصادقة على خادم MySQL. يمكنك استخدام شهادة من مرجع معتمد موثوق (CA) أو شهادة موقعة ذاتيًا.
يدعم خادم الإدارة كلاً من مصادقة SSL أحادية الاتجاه وثنائية الاتجاه لبرنامج MySQL.
تمكين مصادقة SSL أحادية الاتجاه
اتبع هذه الخطوات لتكوين مصادقة SSL أحادية الاتجاه لبرنامج MySQL:
في 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
حدد موقع الشهادات التي تم إنشاؤها في مجلد Personal ← Certificates واحذفها.
قم بتشغيل موجه الأوامر في Windows باستخدام حقوق المسؤول، ثم قم بتغيير الدليل الحالي إلى الدليل الذي يحتوي على الأداة المساعدة klscflag. توجد الأداة المساعدة klscflag في المجلد حيث تم تثبيت خادم الإدارة. مسار التثبيت الافتراضي هو <Disk>:\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 <
path to
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 ثنائية الاتجاه
اتبع هذه الخطوات لتكوين مصادقة SSL ثنائية الاتجاه لبرنامج MySQL:
قم بتشغيل موجه الأوامر في Windows باستخدام حقوق المسؤول، ثم قم بتغيير الدليل الحالي إلى الدليل الذي يحتوي على الأداة المساعدة klscflag. توجد الأداة المساعدة klscflag في المجلد حيث تم تثبيت خادم الإدارة. مسار التثبيت الافتراضي هو <Disk>:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center.
استخدم الأداة المساعدة klscflag لإنشاء علامات الخادم وتحديد المسار إلى ملفات الشهادات كقيم لها:
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <
path to
ca-cert.pem> -t s
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CERT -v <
path to
server-cert.pem> -t s
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_KEY -v <
path to
server-key.pem> -t s
إذا كان server-key.pem يتطلب عبارة مرور، فقم بإنشاء علامة KLSRV_MARIADB_OPT_TLS_PASPHRASE وحدد عبارة المرور كقيمة لها:
klscflag -fset -pv klserver -n KLSRV_MARIADB_OPT_TLS_PASPHRASE -v <
passphrase
> -t s
حدد الشهادات في ملف my.cnf. افتح ملف my.cnf في محرر نصوص وأضف الأسطر التالية إلى قسم [mysqld]:
[mysqld]
ssl-ca="...\ca-cert.pem"
ssl-cert="...\server-cert.pem"
ssl-key="...\server-key.pem"