Technical Anshu الصفحة الرئيسية › البرامج التعليمية › خطأ في تشفير خادم SQL
🔐 إصلاح خادم SQL

إصلاح خطأ تشفير خادم SQL - الحل بنقرة واحدة

يتصل SQL Server، ثم يرفض تسجيل الدخول لأنه لا يمكنه الوثوق بشهادة الخادم. هذه ليست مشكلة في الشبكة ولم تختفي بياناتك - إنها مشكلة ثقة. اعمل على الإصلاحات بالترتيب الذي يعرضه الفيديو: الخيار السريع من جانب العميل، ونفس المفتاح داخل سلسلة اتصال التطبيق، والإصلاح المناسب على الخادم نفسه.

✍️ Technical Anshu🔐 SQL Server🎧 Multi-Language Audio
إصلاح خطأ تشفير خادم SQL - الحل بنقرة واحدة
🎧 صوت متعدد اللغات: في مشغل الفيديو، انقر فوق [الإعدادات] (⚙️) ➔ [المسار الصوتي] لاختيار لغتك.

📑الفصول

  1. خطأ في تسجيل الدخول - "تم إصدار سلسلة الشهادات من قبل سلطة غير موثوق بها"
  2. ما يعنيه الخطأ حقًا - التشفير مطلوب، ولا يمكن لشهادة الخادم إثبات هويته
  3. الإصلاح السريع للعميل - الثقة بشهادة الخادم في نافذة اتصال SSMS
  4. نفس الإصلاح داخل سلسلة اتصال التطبيق
  5. الحل المناسب - منح الخادم شهادة حقيقية يثق بها العملاء بأنفسهم
  6. التحقق من الإصلاح - أعد الاتصال بالطريقة الصارمة وأثبت أن التشفير قيد التشغيل بالفعل

📋 نظرة عامة ودليل خطوة بخطوة

1

اقرأ الخطأ - إنها مشكلة ثقة وليست مشكلة في الشبكة

شبكتك جيدة والخادم قيد التشغيل. وصل الاتصال إلى SQL Server، وعرض الخادم قناة مشفرة لتسجيل الدخول، ورفض جهاز الكمبيوتر الخاص بك ذلك لأن الشهادة التي تثبت هوية الخادم لم يتم توقيعها من قبل أي شخص يثق به جهاز الكمبيوتر الخاص بك. الخطأ الكامل الذي يظهره SSMS هو:

📌 الخطأ، تمامًا كما يظهره SSMS: "تم إنشاء اتصال مع الخادم بنجاح، ولكن بعد ذلك حدث خطأ أثناء عملية تسجيل الدخول. (الموفر: موفر SSL، الخطأ: 0 - تم إصدار سلسلة الشهادات من قبل مرجع غير موثوق به.)"

افتراضيًا، يحمي SQL Server تسجيل الدخول بشهادة موقعة ذاتيًا يقوم بإنشائها بنفسه. تقوم الشهادة الموقعة ذاتيًا بتشفير حركة المرور، لكنها لا تستطيع إثبات أن الخادم هو خادمك بالفعل، لذلك يرفضها العملاء الذين يطلبون تشفيرًا تم التحقق منه. كل إصلاح صادق هو أحد أمرين: جعل العميل يقبل هذا الخادم المحدد عن علم (الخطوتان 2 و3)، أو منح الخادم شهادة يثق بها العملاء بمفردهم (الخطوة 4).

2

الإصلاح السريع للعميل في SSMS - شهادة خادم الثقة

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

⚠️ معرفة ما يتم إيقاف تشغيله في مربع الاختيار: تظل حركة المرور مشفرة، ولكن يتم تخطي التحقق من الهوية - سيقبل العميل أيضًا خادمًا مزيفًا يتم وضعه بينهما. على الشبكة المحلية الخاصة بمكتبك، بالنسبة للخادم الذي تتحكم فيه، يعد هذا هو الحل البديل المقبول يوميًا، وفي أجهزة التطوير والاختبار يعد هذا بمثابة تجارة عادلة. عبر الإنترنت، أو على خادم إنتاج يحتفظ ببيانات العميل، تعامل معها كجسر مؤقت فقط وقم بإنهاء المهمة بالخطوة 4. إنه جسر، وليس الوجهة.
3

نفس الإصلاح داخل سلسلة اتصال التطبيق

إذا فشل أحد التطبيقات بدلاً من SSMS، فسيظل نفس المفتاح موجودًا في سلسلة الاتصال الخاصة به. قم بإضافة الإعدادين بشكل صريح - Encrypt=True يقوم بتشغيل القناة المحمية، وTrustServerCertificate=True هو تهجئة سلسلة الاتصال لمربع اختيار SSMS:

Connection String
Server=SQL01;Database=AppDB;User Id=appuser;Password=YourPassword;Encrypt=True;TrustServerCertificate=True;

استخدم اسم الخادم الخاص بك وقاعدة البيانات وتسجيل الدخول بدلاً من قيم الأمثلة. المقايضة هي نفسها تمامًا كما في مربع الاختيار في الخطوة 2، مع وجود خطر إضافي واحد: في تكوين التطبيق الذي تم شحنه، ينطبق الاختيار الذي تم تخطيه على كل مستخدم، بشكل غير مرئي ودائم. احتفظ به في عمليات التطوير والتكوين المرحلي، وفي الإنتاج تعامل معه على أنه وقت مستعار حتى يتم وضع شهادة الخادم في الخطوة 4.

📌 لماذا تعطلت التطبيقات دون إعادة بنائها: غيرت برامج التشغيل الحديثة إعداداتها الافتراضية - Microsoft.Data.SqlClient 5.1 والإصدارات الأحدث، وODBC Driver 18، تم تشغيل Encrypt افتراضيًا. بدأت سلاسل الاتصال التي لم تذكر التشفير مطلقًا في المطالبة به، ضد الخوادم التي لا تستطيع شهاداتها الموقعة ذاتيًا اجتياز التحقق من الصحة. لم يتغير شيء في قاعدة البيانات الخاصة بك؛ العقد داخل السلسلة فعل. إن كتابة الإعدادات بشكل صريح يعني أن تحديث برنامج التشغيل التالي لا يمكنه تغيير سلوك تطبيقك خلف ظهرك.
4

الإصلاح المناسب - امنح الخادم شهادة حقيقية

يتم الإصلاح الدائم مرة واحدة، على الخادم، وبعد ذلك يتصل كل عميل بشكل صارم بدون مربع اختيار أو تحذير. احصل أولاً على شهادة لاسم DNS الكامل للخادم (على سبيل المثال sql01.company.local) من مرجع التصديق الداخلي لديك أو مرجع مصدق عام، مع استخدام مصادقة الخادم. قم باستيراده باستخدام مفتاحه الخاص إلى مخزن شهادات الكمبيوتر المحلي الموجود على جهاز SQL Server. بعد ذلك، انقر بزر الماوس الأيمن على الشهادة، واختر جميع المهام ← إدارة المفاتيح الخاصة، وامنح حساب خدمة SQL Server إذن القراءة على المفتاح الخاص. افتح SQL Server Configuration Manager، وقم بتوسيع SQL Server Network Configuration، وانقر بزر الماوس الأيمن فوق بروتوكولات MSSQLSERVER، واختر خصائص، وحدد الشهادة في علامة التبويب الشهادة. في علامة التبويب الإشارات يمكنك أيضًا تعيين ForceEncryption على نعم بحيث يُطلب من كل عميل التشفير. أعد تشغيل خدمة SQL Server - لن يؤدي التغيير إلى أي شيء حتى تقوم بذلك.

✅ المصيدتان اللتان تتسببان في كل حالات "عدم العمل" تقريبًا: شهادة لا يتطابق اسمها مع الاسم الذي يتصل به العملاء (الاتصال عن طريق اسم DNS الخاص بالخادم، وليس عنوان IP الخاص به)، وحساب الخدمة الذي لا يمكنه قراءة المفتاح الخاص. بعد إعادة التشغيل، يجب أن يسجل سجل أخطاء SQL Server أنه تم تحميل الشهادة للتشفير بنجاح - إذا اشتكت بدلاً من ذلك، فإن إذن المفتاح الخاص هو أول مكان يجب البحث فيه.
⚠️ حول ForceEncryption: يؤدي ضبطه على نعم على الخادم إلى فرض التشفير لكل اتصال - وهي الحالة النهائية الصحيحة فقط بمجرد تثبيت شهادة موثوقة. إن فرض ذلك بينما لا يزال الخادم يحمل شهادته الموقعة ذاتيًا يؤدي ببساطة إلى فشل كل عميل صارم بسبب نفس الخطأ، مرة واحدة.
5

تحقق من الإصلاح بالطريقة الصارمة

إن تسجيل الدخول الذي ينجح بهدوء يثبت أنه أقل مما يعتقده الناس، لأن بعض مجموعات الإعدادات تتصل دون حماية حقيقية. إثبات كلا النصفين. أولاً، أعد الاتصال من العميل بالطريقة الصارمة: اتصل باستخدام اسم DNS الخاص بالخادم - الاسم الموجود داخل الشهادة - واضبط التشفير على إلزامي واترك شهادة الخادم الموثوقة بدون تحديد. يجب أن ينجح تسجيل الدخول دون أي تحذير. بعد ذلك، في نفس الجلسة، اسأل الخادم عما إذا كان الاتصال مشفرًا بالفعل عن طريق تشغيل هذا الاستعلام في SSMS:

SQL Query
SELECT session_id, encrypt_option, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;

encrypt_option يظهر أن TRUE هي درجة النجاح. "خطأ" مع تسجيل دخول فعال يعني أن الاتصال نجح بإسقاط الحماية، ولم تتم المهمة. اختبار النجاح هذا هو خط النهاية الحقيقي: أي عميل تم تكوينه بشكل صحيح، بما في ذلك إصدارات SSMS المستقبلية، يتصل الآن بالتحقق الكامل وبدون إعدادات خاصة.

🏷️متغيرات البحث والكلمات الرئيسية للموضوع

🔍 SQLServer 🔍 CertificateNotTrusted 🔍 TrustServerCertificate 🔍 SSMS 🔍 ForceEncryption 🔍 TechnicalAnshu 🔍 SQL Server Encryption Error 🔍 Certificate Chain Not Trusted 🔍 Encrypt Connection 🔍 Connection String Fix 🔍 SQL Server Configuration Manager 🔍 SSL Provider Error
🎙️ نص كامل - انقر للتوسيع

__TOK_24__

__TOK_25__

__TOK_26__

❓ الأسئلة المتداولة

هل هذا البرنامج التعليمي مجاني للمتابعة بنسبة 100%؟

__TOK_27__

هل يمكن للمبتدئين اتباع هذا الدليل؟

__TOK_28__

أين يمكنني طرح الأسئلة إذا واجهت مشكلة؟

__TOK_29__

🚀 شاهد البرنامج التعليمي الكامل على اليوتيوب

__TOK_30__

__TOK_31__

▶️ شاهد الفيديو كاملاً
يعتمد هذا البرنامج التعليمي على فيديو إصلاح خطأ تشفير SQL Server الخاص بـ Technical Anshu • هل أنت عالق في أي خطوة؟ اسأل في تعليقات الفيديو – سوف تحصل على المساعدة هناك 🙏