كيفية تثبيت شهادة SSL تجارية على خادم Zimbra

قد تفشل شهادة SSL التجارية على Zimbra بعدة طرق مُحبطة حتى عندما تُؤكد جهة إصدار الشهادات صحة إصدارها. لا تكمن المشاكل الأكثر شيوعًا عادةً في الشهادة نفسها، بل في: عدم تطابق المفتاح الخاص مع الشهادة المُسترجعة، أو غياب جهة إصدار شهادات وسيطة، أو عدم وجود اسم المضيف ضمن اسم الموضوع البديل (SAN) للشهادة، أو قيام المسؤول بنشر الملفات قبل التحقق من صحة سلسلة الشهادات.

إنّ الطريقة الأمثل لإنجاز هذه المهمة هي التعامل معها كسلسلة من الفحوصات بدلاً من أمر واحد لتثبيت الشهادة. zmcertmgrتتيح أداة الشهادات الموثقة من Zimbra إنشاء طلب توقيع شهادة (CSR)، والتحقق من المفتاح الخاص وسلسلة المرجع المصدق (CA)، ونشر الشهادة على خدمات Zimbra، وعرض الشهادة النشطة حاليًا. يوثّق مركز Zimbra التقني الرسمي هذه الأوامر في دليل أدوات الشهادات في وحدة تحكم الإدارة وواجهة سطر الأوامر .

كيف ينبغي أن تبدو عملية تثبيت SSL الناجحة في Zimbra

قبل إجراء أي تغييرات، حدد النتيجة المرجوة. يجب أن يستوفي النشر الصحيح جميع هذه الشروط:

  • تتضمن قائمة SAN الخاصة بالشهادة جميع أسماء المضيفين العامة التي يستخدمها العملاء فعليًا، مثل mail.example.com.
  • تتطابق الشهادة الصادرة مع المفتاح الخاص المخزن للشهادة التجارية.
  • يمكن لـ Zimbra التحقق من صحة السلسلة الكاملة بدءًا من شهادة الخادم مرورًا بشهادات CA الوسيطة وصولًا إلى CA الجذر.
  • zmcertmgr deploycrt commيكتمل بدون أي خطأ في تطابق المفاتيح أو خطأ في التحقق من صحة السلسلة.
  • إعادة تشغيل خدمات Zimbra بشكل سليم.
  • zmcertmgr viewdeployedcrtيعرض الشهادة المتوقعة.
  • يرى المتصفح أو عميل TLS المتصل باسم المضيف العام الشهادة الجديدة ولا يظهر تحذير الثقة.

إذا فشل أحد هذه الفحوصات، فقم بإصلاح تلك الطبقة تحديدًا قبل المتابعة. نادرًا ما يؤدي إعادة نشر الملفات نفسها بشكل متكرر إلى حل مشكلة المفتاح أو شبكة التخزين (SAN) أو سلسلة التخزين.

قبل البدء: اختر سير العمل المناسب للشهادة

الموقفالنهج الموصى بهالمقايضة الرئيسية
شهادة جديدة باستخدام طلب توقيع الشهادة (CSR) المُنشأ بواسطة Zimbraقم بإنشاء تقرير المسؤولية الاجتماعية للشركات zmcertmgrواحتفظ بالتقرير الذي تم إنشاؤهcommercial.keyأبسط عملية مطابقة للمفاتيح، لكن المفتاح الخاص يظل مرتبطًا بتثبيت Zimbra هذا
شهادة صادرة من مفتاح خاص موجودتأكد من أن هذا المفتاح هو الذي سيستخدمه Zimbra قبل النشرمفيد لعمليات الترحيل، لكن من الأسهل إنشاء عدم تطابق رئيسي
زيمبرا أحادي العقدةتحقق من الملفات وانشرها محليًا، ثم أعد التشغيل.بسيط، مع نافذة صيانة واحدة
زيمبرا متعددة العقدخطط لوضع الشهادات ونشرها لكل عقدة أو استخدم خيارات الخوادم المتعددة المدعومة من Zimbraيلزم مزيد من التنسيق؛ لا تفترض أن إجراءً أحادي العقدة يغطي كل الأدوار

تشير صفحة مركز التقنية الحالية لـ Zimbra إلى أنه في الإصدار 8.7 والإصدارات الأحدث، zmcertmgrيتم تشغيل Zimbra بصلاحيات zimbraالمستخدم. كما توضح الصفحة أنه يجب تسمية المفتاح الخاص التجاري commercial.keyفي ملف /opt/zimbra/ssl/zimbra/commercial، وأنه يجب وضع شهادة الخادم وملف سلسلة شهادات المرجع المصدق في دليل مؤقت قبل النشر.

الخطوة 1: قم بعمل نسخة احتياطية من مواد الشهادة الحالية

لا تبدأ بحذف مجلد SSL الحالي. أنشئ أولاً نسخة احتياطية يمكنك استعادتها في حال فشل عملية النشر الجديدة. كمسؤول النظام، إليك مثالًا متحفظًا:

cp -a /opt/zimbra/ssl/zimbra /opt/zimbra/ssl/zimbra.backup-$(date +%Y%m%d-%H%M%S)

قم أيضاً بتسجيل الشهادة المنشورة الحالية قبل تغييرها:

su - zimbra
/opt/zimbra/bin/zmcertmgr viewdeployedcrt

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

الخطوة الثانية: إنشاء طلب توقيع شهادة (CSR) بأسماء المضيفين التي تحتاجها فعليًا

لإنشاء شهادة تجارية جديدة، قم بإنشاء طلب توقيع الشهادة (CSR) باستخدام اسم مضيف الإنتاج وأي أسماء بديلة للمجال (SANs) إضافية. توضح زيمبرا الصيغة التالية:

/opt/zimbra/bin/zmcertmgr createcsr comm -new \
-subject "/C=US/ST=CA/L=Sunnyvale/O=Example/OU=IT/CN=mail.example.com" \
-subjectAltNames "mail.example.com"

إذا اتصل المستخدمون أيضًا باستخدام اسم آخر، مثل `<اسم النطاق webmail.example.com>`، فأضفه إلى قائمة أسماء النطاقات البديلة (SAN) عند طلب الشهادة. تتحقق برامج TLS الحديثة من أسماء المضيفين باستخدام أسماء النطاقات البديلة، لذا قد تُظهر الشهادة التي تبدو صحيحة بالاسم الشائع فقط تحذيرًا من المتصفح إذا كان اسم المضيف مفقودًا.

راجع طلب توقيع الشهادة (CSR) قبل إرساله إلى جهة إصدار الشهادات الخاصة بك:

/opt/zimbra/bin/zmcertmgr viewcsr comm /opt/zimbra/ssl/zimbra/commercial/commercial.csr
مثال توضيحي في الطرفية يُظهر إنشاء طلب توقيع شهادة تجارية لـ Zimbra والملفات الناتجة commercial.csr و commercial.key
سير عمل طرفي لمرحلة CSR، حيث يتم إنشاء الطلب التجاري والمفتاح الخاص قبل إرسال الطلب إلى سلطة إصدار الشهادات.

نقطة تفتيش: توقف هنا إذا كانت أسماء نطاقات DNS المطلوبة خاطئة. إصدار الشهادة أولاً ثم اكتشاف اسم بديل للموضوع (SAN) مفقود لاحقاً يعني أنك ستحتاج عادةً إلى هيئة إصدار الشهادات (CA) لإعادة إصدارها.

الخطوة 3: جمع شهادة الخادم وسلسلة شهادات المرجع المصدق الكاملة

بعد التحقق، عادةً ما تُعيد جهة إصدار الشهادات التجارية شهادة الخادم بالإضافة إلى شهادة وسيطة واحدة أو أكثر. يتطلب إجراء Zimbra الرسمي لإصدار الشهادات التجارية أحادية العقدة شهادة الخادم بصيغة PEM، ويُوجّه المسؤولين إلى دمج شهادات جهة إصدار الشهادات الوسيطة والجذرية في ملف سلسلة.

يتمثل التخطيط النموذجي للمسرح فيما يلي:

/tmp/commercial.crt
/tmp/ca_intermediary.crt
/tmp/ca.crt

ثم قم ببناء السلسلة بالترتيب الموثق من قبل زيمبرا:

cat /tmp/ca_intermediary.crt /tmp/ca.crt > /tmp/ca_chain.crt

استخدم الملفات التي توفرها جهة إصدار الشهادات الخاصة بك لمنتج الشهادة المحدد لديك. لا تنسخ شهادة وسيطة من دليل تعليمي غير ذي صلة لمجرد تشابه اسم العلامة التجارية لجهة إصدار الشهادات. تتغير هياكل جهات إصدار الشهادات بمرور الوقت، وتُعد الشهادة الوسيطة الخاطئة سببًا شائعًا للمشاكل unable to get local issuer certificate.

مثال طرفي يوضح دمج الشهادة الوسيطة وشهادة الجذر في ملف ca_chain.crt لـ Zimbra
تجمع مرحلة CA-chain بين الشهادة الوسيطة المصدرة وشهادة الجذر في ملف السلسلة الذي يتحقق منه Zimbra جنبًا إلى جنب مع شهادة الخادم.

الخطوة الرابعة: التحقق من المفتاح الخاص وشهادة الخادم وسلسلة الشهادات قبل النشر

هذه هي أهم بوابة أمان. قم بتشغيل أمر التحقق الموثق كمستخدم Zimbra على إصدارات Zimbra الحالية:

su - zimbra
/opt/zimbra/bin/zmcertmgr verifycrt comm \
/opt/zimbra/ssl/zimbra/commercial/commercial.key \
/tmp/commercial.crt \
/tmp/ca_chain.crt

يُشير التحقق الناجح إلى تطابق الشهادة والمفتاح الخاص، وأن الشهادة صالحة. توضح وثائق أدوات شهادات Zimbra أن هذه العملية verifycrtتجمع بين فحص المفتاح وفحص سلسلة الشهادات.

مثال توضيحي في الطرفية يُظهر قيام zmcertmgr verifycrt بالتحقق من المفتاح الخاص التجاري لـ Zimbra وشهادة الخادم وسلسلة شهادات المرجع المصدق.
يجب أن تؤكد مرحلة التحقق كلاً من تطابق المفتاح مع الشهادة وسلسلة CA قبل نشر أي شهادة.

في حالة فشل التحقق، اختر الحل بناءً على الخطأ

  • عدم تطابق الشهادة والمفتاح الخاص: لم يتم إصدار شهادة المرجع المصدق من طلب توقيع الشهادة المرتبط بالشهادة الحالية commercial.key. استعد المفتاح الصحيح أو أعد إصدار الشهادة من طلب توقيع شهادة جديد.
  • تعذر التحقق من صحة سلسلة الشهادات: حزمة الشهادات الوسيطة/الجذرية غير مكتملة، أو بترتيب خاطئ، أو منتهية الصلاحية، أو ليست السلسلة الخاصة بشهادة هذا الخادم. يُرجى الحصول على السلسلة الصحيحة من جهة إصدار الشهادات.
  • انتهت صلاحية الشهادة: لا تقم بنشرها. اطلب شهادة سارية المفعول، وتحقق أيضًا مما إذا كانت أي شهادة وسيطة أو جذرية في السلسلة قد انتهت صلاحيتها. توثق Zimbra هذا الخطأ في دليل استكشاف أخطاء شهادات المرجع المصدق الجذرية المنتهية الصلاحية وإصلاحها .
  • اسم المضيف مفقود: قد لا يُمثل التحقق نفس فحص اسم المضيف الذي يُجريه المتصفح. افحص أسماء النطاقات البديلة (SANs) الصادرة وأعد إصدارها إذا لم يكن الاسم العام موجودًا.

الخطوة 5: نشر الشهادة التجارية

لا تقم بنشره إلا بعد نجاح عملية التحقق:

/opt/zimbra/bin/zmcertmgr deploycrt comm /tmp/commercial.crt /tmp/ca_chain.crt

تقوم عملية النشر الموثقة لـ Zimbra بنسخ الشهادة التجارية إلى منطقة SSL الخاصة بها، وإلحاق سلسلة CA، وتحديث تكوين الشهادة، وتثبيت مواد الشهادة للخدمات مثل MTA وLDAP والوكيل ومكونات صندوق البريد حسب الاقتضاء للخادم.

لا تقم بالكتابة اليدوية فوق ملفات مفاتيح Java أو ملفات شهادات الخدمة بشكل عشوائي إلا إذا نصت وثائق إصدار Zimbra الخاص بك على ذلك تحديدًا. والهدف من ذلك zmcertmgrهو الحفاظ على اتساق مواد الشهادات الخاصة بالخدمة.

الخطوة 6: إعادة تشغيل خدمات Zimbra

بعد التثبيت، أعد تشغيل Zimbra:

su - zimbra
zmcontrol restart

ثم تحقق من حالة الخدمة:

zmcontrol status

إذا لم تعد الخدمة إلى وضعها الطبيعي Running، فيُرجى التحقق من الأمر قبل إعلان اكتمال تغيير الشهادة. قد تؤثر مشاكل الشهادة على بروتوكول LDAP، أو الخادم الوكيل، أو صندوق البريد، أو أي اتصال آخر يعتمد على بروتوكول TLS، خاصةً في بيئات متعددة العُقد.

مثال توضيحي في الطرفية يُظهر عملية نشر شهادة تجارية لـ Zimbra، وإعادة تشغيل Zimbra، ومخرجات الأمر viewdeployedcrt
تقوم المرحلة النهائية من جانب الخادم بنشر الشهادة التي تم التحقق منها، وإعادة تشغيل Zimbra، والتحقق من الشهادة التي تم الإبلاغ عنها بواسطة viewdeployedcrt.

الخطوة 7: التحقق من النتيجة من كل من Zimbra وجانب العميل

استخدم عرض الشهادات الخاص بـ Zimbra أولاً:

/opt/zimbra/bin/zmcertmgr viewdeployedcrt

يمكنك أيضًا التحقق مما إذا كانت أي شهادة خدمة تم نشرها تقترب من تاريخ انتهاء صلاحيتها:

/opt/zimbra/bin/zmcertmgr checkcrtexpiration all -days 30

وأخيرًا، اختبر اسم المضيف العام الذي يفتحه المستخدمون. إليك طريقة مفيدة للتحقق من OpenSSL من جهاز آخر:

openssl s_client -connect mail.example.com:443 -servername mail.example.com -showcerts

ابحث عن شهادة الطرف المتوقعة، واسم المضيف الصحيح، وسلسلة الشهادات الكاملة، ونتيجة تحقق ناجحة. ثم افتح نفس عنوان URL الخاص ببروتوكول HTTPS في متصفحك الحالي. يُعد اختبار المتصفح مهمًا لأنه يختبر اسم المضيف الذي يصل إليه المستخدمون فعليًا، وليس فقط ملفات الشهادات الموجودة على القرص.

عندما لا يكون الإجراء القياسي كافياً

غيّر أسلوبك بدلاً من فرض خطوات العقدة الواحدة إذا انطبقت أي من هذه الشروط:

  • في بيئة Zimbra متعددة العُقد: قد يتطلب نشر الشهادات تغطية أدوار الخادم الوكيل، وصندوق البريد، وLDAP، وMTA على مضيفين مختلفين. تدعم أداة شهادات Zimbra خيارات الخوادم المتعددة، ولكن يُرجى التحقق من الإجراءات الخاصة ببنيتك الشبكية قبل استخدامها.
  • يؤدي استخدام خادم وكيل عكسي أو موازن تحميل خارجي إلى إنهاء بروتوكول TLS: وقد يلزم أيضًا تثبيت الشهادة العامة على ذلك الجهاز. لن تُغير شهادة Zimbra الصحيحة وحدها ما يراه العملاء في حال إنهاء بروتوكول TLS من المصدر.
  • أنت تقوم باستيراد مفتاح موجود: تأكد من وضعه في المكان الذي تتوقعه Zimbra للمفتاح الخاص التجاري وأن الأذونات تتطابق مع متطلبات الإصدار قبل التحقق.
  • لا توفر جهة إصدار الشهادات الخاصة بك سوى حزمة وسيطة: اتبع تعليمات سلسلة الشهادات الحالية الصادرة عن جهة إصدار الشهادات بدلاً من إنشاء شهادة جذرية. يحتاج نظام Zimbra إلى سلسلة شهادات يمكنه التحقق منها؛ وتختلف الملفات المحددة باختلاف جهة الإصدار.
  • تم تجديد الشهادة بنفس اسم المضيف ولكن بمفتاح مختلف: يجب تحديث المفتاح الخاص المطابق قبل التحقق. commercial.keyلا يمكن لشهادة سابقة التحقق من صحة شهادة صادرة لزوج مفاتيح جديد.

التقييم الذاتي النهائي

لا يكتمل التثبيت إلا عندما تتحقق جميع الشروط التالية: النجاح verifycrt، deploycrtوعودة خدمات Zimbra إلى حالة التشغيل، viewdeployedcrtوعرض الشهادة الجديدة، واستقبال اتصال TLS خارجي باسم المضيف الحقيقي لنفس الشهادة الصالحة دون تحذير بشأن الثقة أو اسم المضيف.

للاطلاع على صيغة الأوامر وسلوكها الخاص بكل إصدار، يُرجى الرجوع إلى وثائق أدوات الشهادات الرسمية من Zimbra . تستخدم الأمثلة هنا mail.example.comاسمًا افتراضيًا؛ استبدل الأسماء وملفات الشهادات وتفاصيل المؤسسة بالقيم المُخصصة لبيئتك.

اترك تعليقاً

حل مشكلة تعليق وضع الصيانة في Nextcloud مع OCC

حل مشكلة تعليق وضع الصيانة في Nextcloud مع OCC

قم بمسح صفحة صيانة Nextcloud العالقة بأمان باستخدام OCC، وتحقق مما إذا كانت الترقية غير مكتملة، وتأكد من أن المثيل جاهز للمستخدمين.

إصلاح مشكلة تأجيل البريد الصادر في زيمبرا: "انتهت مهلة الاتصال بالمنفذ 25"

إصلاح مشكلة تأجيل البريد الصادر في زيمبرا: "انتهت مهلة الاتصال بالمنفذ 25"

قم بتشخيص أخطاء تأجيل البريد الصادر في Zimbra على المنفذ 25. تحقق من قائمة الانتظار، وMX DNS، وجدران الحماية، وحظر الموفر، وقم بتكوين مرحل SMTP معتمد.

كيفية إعداد خادم مصفوفة على Raspberry Pi 4 باستخدام Conduit

كيفية إعداد خادم مصفوفة على Raspberry Pi 4 باستخدام Conduit

قم بإعداد خادم منزلي خفيف الوزن من نوع Matrix على Raspberry Pi 4 باستخدام Conduit و Docker و NGINX و HTTPS وعناصر التحكم في التسجيل والاتحاد والفحوصات.

كيفية تهيئة Jitsi Videobridge لإعداد خادم متعدد قابل للتوسع

كيفية تهيئة Jitsi Videobridge لإعداد خادم متعدد قابل للتوسع

أضف خوادم Jitsi Videobridge إلى نشر Jitsi Meet مشترك، وقم بتكوين التسجيل والوصول إلى جدار الحماية، وتحقق من اختيار الجسر، وتعرف على متى تكون هناك حاجة إلى Octo.

كيفية تثبيت شهادة SSL تجارية على خادم Zimbra

كيفية تثبيت شهادة SSL تجارية على خادم Zimbra

قم بتثبيت شهادة SSL تجارية على Zimbra بأمان: أنشئ طلب توقيع الشهادة (CSR)، وقم ببناء سلسلة CA، وتحقق من المفتاح والشهادة، وقم بنشرها، وأعد تشغيل الخدمات، وتأكد من HTTPS.

كيفية تخصيص واجهة وشعار BigBlueButton

كيفية تخصيص واجهة وشعار BigBlueButton

قم بتغيير شعار BigBlueButton الافتراضي، وأضف شعارًا إلى الاجتماعات الفردية، وافهم متى تتطلب العلامة التجارية الأوسع للواجهة إصدارًا مخصصًا للعميل.

كيفية مسح سجلات تدقيق Zimbra لتحرير مساحة القرص بأمان

كيفية مسح سجلات تدقيق Zimbra لتحرير مساحة القرص بأمان

تعرف على كيفية تحديد سجلات التدقيق القديمة لـ Zimbra وأرشفتها وضغطها وإزالتها، ومتى يجب تجنب اقتطاع ملف audit.log، وكيفية التحقق من استعادة مساحة القرص والتسجيل بشكل صحيح.

إصلاح مشكلة "فشل الاتصال بخادم التخزين" في برنامج Kopano Dagent

إصلاح مشكلة "فشل الاتصال بخادم التخزين" في برنامج Kopano Dagent

قم باستكشاف أخطاء اتصال خادم تخزين Kopano dagent وإصلاحها عن طريق التحقق من حالة الخادم، ومقبس الخادم، وأذونات مقبس Unix، والمستمعين عن بعد، واختبارات التسليم المتحكم بها.

كيفية إصلاح خطأ "انقضاء مهلة آلية القفل" في قفل الملفات في ownCloud

كيفية إصلاح خطأ "انقضاء مهلة آلية القفل" في قفل الملفات في ownCloud

قم بإصلاح أخطاء مهلة قفل الملفات في ownCloud عن طريق تحديد الأقفال المعاملاتية، ونقل تخزين القفل إلى Redis، والتحقق من المجموعات، وإعادة الاختبار بأمان.

كيفية إصلاح مشكلة نفاد ذاكرة برنامج Matrix Synapse أثناء المزامنة

كيفية إصلاح مشكلة نفاد ذاكرة برنامج Matrix Synapse أثناء المزامنة

قم باستكشاف أخطاء Matrix Synapse المتعلقة بـ OOM أثناء /sync عن طريق فحص ضغط الذاكرة، وضبط ذاكرة التخزين المؤقت بعناية، وعزل المزامنة الأولية، ومراقبة العمال.