اتصال SSL/TLS في قاعدة بيانات Azure لـ MySQL

ينطبق على: قاعدة بيانات Azure ل MySQL - خادم واحد

هام

قاعدة بيانات Azure لخادم MySQL الفردي على مسار الإيقاف. نوصي بشدة بالترقية إلى قاعدة بيانات Azure لخادم MySQL المرن. لمزيد من المعلومات حول الترحيل إلى خادم Azure Database for MySQL المرن، راجع ما الذي يحدث لقاعدة بيانات Azure لخادم MySQL الفردي؟

قاعدة بيانات Azure لـ MySQL يدعم ربط قاعدة بيانات Azure لخادم MySQL إلى تطبيقات العميل باستخدام طبقة مآخذ توصيل آمنة (SSL). يساعد فرض اتصالات SSL التي تتم بين خادم قاعدة البيانات وتطبيقات العميل في الحماية ضد «هجمات الوسطاء» عن طريق تشفير تدفق البيانات بين الخادم والتطبيق.

إشعار

لا يؤثر تحديث قيمة معلمة require_secure_transport الخادم على سلوك خدمة MySQL. استخدم ميزات فرض SSL وTLS الموضحة في هذه المقالة لتأمين الاتصالات بقاعدة البيانات الخاصة بك.

إشعار

بناءً على التعليقات الواردة من العملاء، قمنا بتمديد فترة إيقاف العمل بشهادة الجذر الخاصة بنا في Baltimore Root CA الحالية حتى 15 فبراير 2021 (15/02/2021).

هام

تم تعيين شهادة جذر SSL لتنتهي صلاحيتها اعتبارًا من 15 فبراير 2021 (15/02/2021). يُرجى تحديث التطبيق الخاص بك حتى تتمكن من استخدام الشهادة الجديدة. لمعرفة المزيد، انظر تحديثات الشهادة المخطط لها

إعدادات SSL الافتراضية

بشكل افتراضي، يجب تكوين خدمة قاعدة البيانات لطلب اتصالات SSL عند الاتصال ب MySQL. نوصي بتجنب تعطيل خيار SSL قدر الإمكان.

عند توفير قاعدة بيانات Azure جديدة لخادم MySQL من خلال مدخل Microsoft Azure وCLI، يتم تمكين فرض اتصالات SSL بشكل افتراضي.

يتم عرض سلاسل الاتصال للغات البرمجة المختلفة في مدخل Microsoft Azure. تشمل سلاسل الاتصال هذه معلمات SSL المطلوبة للاتصال بقاعدة البيانات الخاصة بك. في مدخل Microsoft Azure حدد الخادم الخاص بك. ضمن عنوان الإعدادات، العنوان، حددسلاسل الاتصال. تختلف معلمة SSL استنادا إلى الموصل، على سبيل المثال "ssl=true" أو "sslmode=require" أو "sslmode=required" والتباينات الأخرى.

في بعض الحالات، تتطلب التطبيقات ملف شهادة محلية تم إنشاؤه من جهة إصدار شهادات موثوقة (CA) للاتصال الآمن. حاليا يمكن للعملاء فقط استخدام الشهادة المعرفة مسبقا للاتصال بقاعدة بيانات Azure لخادم MySQL، الموجود في https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem.

وبالمثل، تشير الروابط التالية إلى شهادات الخوادم في السحب السيادية: Azure Government وMicrosoft Azure التي تديرها 21Vianet وAzure Germany.

لمعرفة كيفية تمكين اتصال SSL أو تعطيله عند تطوير التطبيق، انظر كيفية تكوين SSL.

فرض TLS في قاعدة بيانات Azure لـ MySQL

تدعم قاعدة بيانات Azure لـ MySQL التشفير للعملاء المتصلين بخادم قاعدة البيانات باستخدام أمان طبقة النقل (TLS). TLS هو بروتوكول قياسي في الصناعة يضمن اتصالات شبكة مشفرة بين خادم قاعدة البيانات وتطبيقات العميل، مما يسمح لك بالالتزام بمتطلبات الامتثال.

TLS settings

توفر قاعدة بيانات Azure لـ MySQL القدرة على فرض إصدار TLS لاتصالات العميل. ولفرض إصدار TLS، استخدم إعداد خيار الحد الأدنى لإصدار TLS. القيم التالية مسموح بها لإعداد هذا الخيار:

إعداد الحد الأدنى لـ TLS إصدار TLS الخاص بالعميل المدعوم
TLSEnforcementDisabled (الافتراضي) لا يتطلب وجود TLS
TLS1_0 TLS 1.0 وTLS 1.1 وTLS 1.2 وما فوق
TLS1_1 TLS 1.1 وTLS 1.2 وما فوق
TLS1_2 الإصدار 1.2 وأعلى

على سبيل المثال، يعني تعيين قيمة الحد الأدنى لإصدار إعداد TLS إلى TLS 1.0 أن الخادم يسمح بالاتصالات من العملاء الذين يستخدمون TLS 1.0 و1.1 و1.2+. بدلاً من ذلك، يعني تعيين هذا على 1.2 أنك تسمح فقط بالاتصالات من العملاء الذين يستخدمون TLS 1.2وما فوق ويتم رفض جميع الاتصالات معTLS 1.0 و TLS 1.1.

إشعار

بشكل افتراضي، لا تفرض قاعدة بيانات Azure ل MySQL حدا أدنى من إصدار TLS (الإعداد TLSEnforcementDisabled).

بمجرد فرض الحد الأدنى من إصدار TLS، لا يمكنك لاحقًا تعطيل الحد الأدنى من فرض الإصدار.

لا يتطلب إعداد الحد الأدنى لإصدار TLS أي إعادة تشغيل للخادم يمكن تعيينه أثناء اتصال الخادم بالإنترنت. لمعرفة كيفية تعيين إعداد TLS لقاعدة بيانات Azure لـ MySQL، انظركيفية تكوين إعداد TLS.

دعم التشفير بواسطة قاعدة بيانات Azure لخادم MySQL الفردي

كجزء من اتصال SSL / TLS، يتم التحقق من صحة مجموعات التشفير ولا يُسمح إلا بدعاوى التشفير بالاتصال بخادم قاعدة البيانات. يتم التحكم في التحقق المتعلق بصحة مجموعة التشفير في طبقة البوابة وليس بشكل صريح على العقدة نفسها. إذا لم تتطابق مجموعات التشفير مع إحدى المجموعات المذكورة أدناه، رفض اتصالات العميل الواردة.

مجموعة التشفير المدعومة

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

الخطوات التالية