السيناريو: مصادقة MySQL Server

نوصي باستخدام شهادة TLS للمصادقة على خادم MySQL.‏ يمكنك استخدام شهادة من مرجع معتمد موثوق (CA) أو شهادة موقعة ذاتيًا.

يدعم خادم الإدارة كلاً من مصادقة SSL أحادية الاتجاه وثنائية الاتجاه لبرنامج MySQL.‏

تمكين مصادقة SSL أحادية الاتجاه

اتبع هذه الخطوات لتكوين مصادقة SSL أحادية الاتجاه لبرنامج MySQL:‏

  1. أنشئ شهادة TLS موقعة ذاتيًا لخادم 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 واحذفها.

  2. إنشاء ملف علامة خادم

    قم بتشغيل موجه الأوامر في 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

  3. تكوين قاعدة البيانات

    حدد الشهادات في ملف 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:‏

  1. إنشاء ملفات علامة الخادم

    قم بتشغيل موجه الأوامر في 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

  2. حدد عبارة المرور (اختياري)

    إذا كان server-key.pem يتطلب عبارة مرور، فقم بإنشاء علامة KLSRV_MARIADB_OPT_TLS_PASPHRASE وحدد عبارة المرور كقيمة لها:

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

  3. تكوين قاعدة البيانات

    حدد الشهادات في ملف my.cnf.‏ افتح ملف my.cnf في محرر نصوص وأضف الأسطر التالية إلى قسم [mysqld]:

    [mysqld]

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

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

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

أعلى الصفحة