مشاركة عبر


استكشاف أخطاء اتصال TLS

يمكن أن تحدث أعطال اتصال TLS لأسباب متعددة، خاصة بعد تدوير شهادة TLS المخطط له في قاعدة بيانات Azure ل PostgreSQL. ترشدك هذه المقالة خلال التحقق من إعدادات عميلك وحل المشكلات المحتملة في الاتصال.

Important

بدأت مايكروسوفت دورة شهادات TLS لقاعدة بيانات Azure لصالح PostgreSQL لتحديث شهادات CA الوسيطة وسلسلة الشهادات الناتجة. الجذر الكافي يبقى كما هو.

إذا كان تكوين العميل يستخدم الإعدادات الموصى بها ل TLS، فلن تحتاج لاتخاذ أي إجراء.

جدول تدوير الشهادات المتوسطة:

  • التحديثات لمناطق Azure غرب وسط الولايات المتحدة وشرق آسيا مكتملة.
  • تبدأ التحديثات لمناطق جنوب المملكة المتحدة وحكومات الولايات المتحدة في 21 يناير 2026.
  • تبدأ التحديثات لوسط الولايات المتحدة في 26 يناير 2026.
  • تبدأ التحديثات لجميع المناطق الأخرى في 28 يناير 2026.
  • بعد مهرجان الربيع (رأس السنة الصينية) 2026، ستخضع مناطق الصين أيضا لدورة شهادات تشمل تغييرا إلى أحد شهادات السنة الجذرية.

التحقق من تكوين العميل

للتحقق من إعدادات العميل قبل أي تدوير مخطط له، تأكد من تنفيذ الإعدادات الموصى بها ل TLS.

تحقق من متجر الشهادات الجذرية الخاص بك

تأكد من أن مخزن شهادات الجذر الخاص بعميلك يحتوي إما على الحد الأدنى من شهادات الجذر المطلوبة أو مجموعة كاملة من شهادات الجذر.

Caution

ثق فقط بشهادات جذر Azure CA في مخزن شهادات الجذر لعملائك. لا تثق في CAs الوسيطة أو شهادات الخوادم الفردية. إذا كنت تثق بهذه الشهادات، فقد تواجه مشاكل اتصال غير متوقعة عندما تقوم مايكروسوفت بتحديث سلسلة الشهادات أو تدوير شهادات الخوادم الفردية.

تحديد حالة اتصال TLS

لتحديد حالة الاتصال الحالية لنظام TLS، قم بتحميل امتداد sslinfo ثم اتصل بالوظيفة ssl_is_used() لمعرفة ما إذا كان TLS مستخدما. تعود t الدالة إذا استخدم الاتصال TLS. خلاف ذلك ، فإنه يعود f. يمكنك أيضا جمع جميع المعلومات حول قاعدة بيانات Azure الخاصة بك لاستخدام نسخة PostgreSQL المرنة من خادم الخادم TLS حسب العملية والعميل والتطبيق باستخدام الاستعلام التالي:

SELECT datname AS "Database name",
       usename AS "User name",
       ssl,
       client_addr,
       application_name,
       backend_type
FROM pg_stat_ssl
     INNER JOIN pg_stat_activity
         ON pg_stat_ssl.pid = pg_stat_activity.pid
ORDER BY ssl;

اختبر اتصال TLS باستخدام OpenSSL

للاختبار، استخدم openssl الأمر للاتصال بقاعدة بيانات Azure الخاصة بك ل PostgreSQL وعرض شهادات TLS.

openssl s_client -starttls postgres -showcerts -connect <your-postgresql-server-name>:5432

يطبع هذا الأمر معلومات البروتوكول منخفضة المستوى، مثل إصدار TLS والتشفير. يجب عليك استخدام الخيار -starttls postgres. وإلا، فإن هذا الأمر يبلغ أنه لا يوجد نظام TLS قيد الاستخدام. يتطلب استخدام هذا الأمر OpenSSL 1.1.1 على الأقل.

قراءة النسخ المتماثلة

عندما يحدث ترحيل CA الجذري إلى Microsoft RSA Root CA 2017، يمكن للنسخ الجديدة إنشاء استخدام شهادة CA أصلية أحدث من الخادم الأساسي إذا تم إنشاء الخادم الأساسي في وقت أبكر. بالنسبة للعملاء الذين يستخدمون sslmode=verify-ca إعدادات التكوين sslmode=verify-full ، يجب قبول شهادات CA الجذرية الجديدة والسابقة حتى يكتمل التدوير على الخوادم الجديدة والموجودة.

استكشاف الأخطاء وإصلاحها‬

  1. إعادة إنتاج المشكلة.
  2. جمع بيانات التشخيص، مثل رسائل الخطأ من جانب العميل، ومخرجات psql، ومخرجات s_client OpenSSL، وسجلات الخادم.
  3. تحقق من معلمات الخادم، بما في ذلك require_secure_transport، ssl_min_protocol_version، و ssl_max_protocol_version.
  4. تحقق من سلسلة الشهادات والعميل sslmode والإعدادات sslrootcert لتحديد الأخطاء في إصدارات البروتوكولات، أو مجموعات الشيفرة، أو الشهادات المفقودة أو المعدلة.

أخطاء الاتصال في TLS

  1. حدد رسائل الخطأ التي تراها أنت أو مستخدموك عند محاولتهم الوصول إلى قاعدة بيانات Azure الخاصة بك لنسخة الخادم المرن PostgreSQL تحت تشفير TLS من العميل. اعتمادا على التطبيق والنظام الأساسي ، قد تختلف رسائل الخطأ. في كثير من الحالات ، يشيرون إلى القضية الأساسية.
  2. تحقق من تكوين TLS لخادم قاعدة البيانات وعميل التطبيق للتأكد من دعمهم للإصدارات المتوافقة ومجموعات الشيفرة.
  3. حلل أي فروق أو فجوات بين خادم قاعدة البيانات وإصدارات TLS ومجموعات التشفير الخاصة بالعميل. حاول حلها عن طريق تمكين خيارات معينة أو تعطيلها ، أو ترقية البرامج أو الرجوع إلى إصدار أقدم ، أو تغيير الشهادات أو المفاتيح. على سبيل المثال، قد تحتاج إلى تفعيل أو تعطيل إصدارات TLS معينة على الخادم أو العميل، حسب متطلبات الأمان والتوافق. قد تحتاج إلى تعطيل TLS 1.0 و TLS 1.1، اللذين يعتبران غير آمنين ومهجورين، وتفعيل TLS 1.2 وTLS 1.3، اللذين هما أكثر أمانا وحداثة.
  4. أحدث شهادة أصدرتها Microsoft RSA Root CA 2017 لها شهادة وسيطة في السلسلة موقعة من قبل Digicert Global Root G2 CA. قد تواجه بعض مكتبات عميل Postgres، أثناء الاستخدام sslmode=verify-full أو sslmode=verify-ca الإعدادات، حالات فشل في الاتصال بشهادات المرجع المصدق الجذر الموقعة مع الشهادات الوسيطة. والنتيجة هي مسارات ثقة بديلة.

لتجاوز هذه المشاكل، أضف جميع الشهادات اللازمة إلى مخزن شهادات العميل أو حدد المعامل sslrootcert بشكل صريح. أو قم بتعيين PGSSLROOTCERT متغير البيئة إلى المسار المحلي حيث يتم وضع شهادة المرجع المصدق الجذر ل Microsoft RSA الجذر 2017، من القيمة الافتراضية ل %APPDATA%\postgresql\root.crt.

قضايا هيئة الشهادات

ملاحظة

إذا لم تستخدم sslmode=verify-full أو sslmode=verify-ca الإعدادات في سلسلة اتصال تطبيق العميل الخاصة بك، فإن تناوبات الشهادات لن تؤثر عليك. لذلك ، لا تحتاج إلى اتباع الخطوات الواردة في هذا القسم.

  1. أنشئ قائمة بالشهادات في المتجر الجذري الموثوق لديك.
  2. أنت تستخدم تثبيت الشهادات إذا كان لديك شهادات متوسطة فردية أو شهادات خادم PostgreSQL فردية. هذا التكوين غير معتمد.
  3. لإزالة تثبيت الشهادات، قم بإزالة جميع الشهادات من المخزن الجذري الموثوق بك وأضف فقط شهادات CA الجذرية.

إذا واجهت مشاكل حتى بعد اتباع هذه الخطوات، تواصل مع دعم مايكروسوفت. أضف دورة ICA 2026 في العنوان.

مشاكل تثبيت الشهادة

إذا لم تستخدم sslmode=verify-full أو sslmode=verify-ca الإعدادات في سلسلة اتصال تطبيق العميل الخاصة بك، فإن تناوبات الشهادات لن تؤثر عليك. لذلك ، لا تحتاج إلى اتباع الخطوات الواردة في هذا القسم.

  1. تحقق مما إذا كنت تستخدم تثبيت الشهادات في طلبك.
  2. أنشئ قائمة بالشهادات في المتجر الجذري الموثوق لديك. على سبيل المثال:
    • احصل على قائمة بالشهادات الموثوقة في متجر جافا كي بشكل برمجي.
    • تحقق من CACERTS Java keystore لترى إذا كان يحتوي بالفعل على الشهادات المطلوبة.
  3. أنت تستخدم تثبيت الشهادات إذا كان لديك شهادات متوسطة فردية أو شهادات خادم PostgreSQL فردية.
  4. لإزالة تثبيت الشهادة، أزل جميع الشهادات من مخزن الجذر الموثوق به وأضف الشهادات الجديدة.
  5. يمكنك تحميل الشهادات المحدثة من مستودع Microsoft الرسمي: تفاصيل هيئة شهادة Azure.

إذا واجهت مشاكل حتى بعد اتباع هذه الخطوات، تواصل مع دعم مايكروسوفت. أضف دورة ICA 2026 في العنوان.

التحقق من سلسلة الشهادات

السلسلة القديمة

  • DigiCert Global Root G2
    • إصدار Microsoft Azure RSA TLS CA 03 / 04 / 07 / 08
    • شهادة الخادم

سلسلة جديدة

  • DigiCert Global Root G2
    • Microsoft TLS RSA الجذر G2
    • مايكروسوفت TLS G2 RSA CA OCSP 02 / 04 / 06 / 08 / 10 / 12 / 14 / 16
    • شهادة الخادم