كيفية إنشاء شهادات SSL
غالباً في أي سيرفر، الأدمن يحتاج يجهز ويركب شهادة SSL لزيادة أمان خدمة معينة تشتغل على السيرفر الخاص به، إما لتشفير الموقع WWW أو لزيادة مستوى أمان خادم FTP الخاص به، وغيرها من الخوادم.
لندرة المصادر العربية المتطرقة لهذا الموضوع، وهو كيفية إنشاء شهادة SSL شخصية خاصة بك، قررت أفرد لها الموضوع هذه التدوينة.
محاور الموضوع سوف تكون على النحو التالي :
1- تعريف بـ SSL، وتبيان ما هو وما فائدته.
2- إنشاء شهادة SSL شخصية غير معتمدة:
2.1 توضيح معنى “غير معتمدة”.
2.2 البدء بإنشاء الشهادة:
2.2.1 إنشاء المفتاح الخاص.
2.2.2 إنشاء Certificate Signing Request -طلب توقيع الشهادة-.
2.2.3 إنشاء الشهادة.
3- إنشاء شهادة SSL معتمدة.
قبل أن أبدأ، لوحات التحكم الخاصة بالسيرفرات تقدم لك خدمة إنشاء شهادات SSL، التدوينة هذي مخصصة للتعامل مع الشهادات وإنشائها بدون لوحات تحكم، عن طريق الشيل Shell الخاصة بالسيرفر، وهذه هي الطريقة المفضلة لدي :).
1- تعريف بـ SSL، وتبيان ما هو وما فائدته:
SSL هو اختصار لعبارة Secure Socket Layer -طبقة الاتصال الآمن-، و أهم وظائف هذه الطبقة:
أ- توثيق المصدر:
تستطيع أن تعدها مثل التوقيع أو الختم الشخصي، كل شخص له توقيع\ختم خاص فيه يثبت إنه هو نفسه، وليس شخص أخر منتحل شخصيته.
ب- التشفير:
تشفير البيانات الواردة والصادرة من وإلى السيرفر لمنع التنصص عليها وسرقتها.
لكن السؤال، كيف تعمل؟
السؤال هذا سوف يجيب عليه وبشكل مفصل مركز التميز الرقمي ، من خلال المقال” SSL, Secure Socket Layer “، وأيضاً مدونة فهد الدريبي ، “كيف يعمل التشفير في الانترنت SSL؟ “.
2- إنشاء شهادة SSL شخصية غير معتمدة.
2.1 توضيح معنى “غير معتمدة”:
مقصدي بعبارة “غير معتمدة”، أي أن الشهادة ليست مقدمة من إحدى الجهات المعتمدة والمرخص لها تقديم شهادات SSL، مثل شركةThawte وشركة VeriSign وغيرهم من الشركات.
وعدم الاعتماد سوف يظهر لك أثره في حالة تركيبك لهذه الشهادة مثلاً على خادم الويب WWW، وهو أنه في حالة تصفح الموقع الخاص بك، سوف تظهر رسالة للمستخدم المتصفح لموقعك بأن الشهادة غير معتمدة وموثقة من جهة مرخصة، واحتمال أن يكون هذا الموقع مزور أو تم التلاعب به. مثل هذه الرسالة:
وتستطيع أن تطلع على الشركات المعتمدة لتقديم خدمة توثيق شهادات SSL المدعومة في متصفح فايرفوكس من خلال هذا الرابطIncluded Certificate List .
2.2 البدء بإنشاء الشهادة:
2.2.1 إنشاء المفتاح الخاص.
المفتاح الخاص هو ملف يحتوي على بيانات مشفرة بخوارزمية RSA، هذه البيانات يتم إنشائها عشوائياً لبدء إنشاء الشهادة*.
openssl: برنامج openssl
genrsa: خيار إنشاء المفتاح بخوارزمية RSA.
-out ssl.key: خيار حفظ المفتاح الخاص بالاسم ssl.key
2048: طول المفتاح بالبت، ويفضل وضعه 2048 أو أكثر لتفادي الكسر في حالة السرقة.
بعد تنفيذك للأمر، راح يتم إنشاء المفتاح الخاص بك ويحفظ بالاسم ssl.key.
2.2.2 إنشاء Certificate Signing Request -طلب توقيع شهادة-:
في المرحلة ما قبل الأخيرة، وبعد ما تم إنشاء المفتاح الخاص، الآن ننشئ ملف Certificate Signing Request ويختصر له بـ CSR، وهو ملف يحتوي على معلومات الشهادة المراد إنشائها، يحتوي على اسم الدومين، المالك، الدولة و الإيميل وغيرها من التفاصيل، وتتم بالطريقة التالية:
req: من كلمة request طلب.
-new: خيار طلب إنشاء طلب توقيع شهادة جديد.
ssl.key: المفتح الخاص بالشهادة.
-out ssl.csr: خيار حفظ طلب توقيع الشهادة في ملف اسمه ssl.csr.
بعد تنفيذك للأمر، سوف يظهر لك طلب تسجيل الشهادة، بالشكل التالي:
الخيارات مرقمة باللون الأحمر، وهذي تفاصيلها:
1- رمز مكون من حرفين، وهو يرمز للدولة التابعة لمالك الموقع، على سبيل المثال سوف نستخدم الرمز SA للدلالة على أن الموقع سعودي.
2- اسم المنطقة\المقاطعة، سوف نكتب الرياض Riyadh.
3- المدينة، نكتب الرياض Riyadh.
4- اسم الشركة المالكة للموقع، مثلاُ Jerais Company < إن شاء الله :).
5- اسم القسم المدير للموقع، مثلاً قسم تقنية المعلومات IT.
6- اسم الموقع الذي تريد أن تسجل الشهادة باسمه، مثلاً www.jerais.com.
7- أيميل صاحب الموقع.
الخيارات التالية إضافية، ممكن ان ندعها فارغة.
8- لوضع كلمة مرور على طلب توقيع الشهادة، وهو مفيد في حالة سرقة ملف الطلب، لن يتمكن من استخدامه إلا بوجود كلمة المرور.
9- اسم إضافي للشركة.
بعد إدخالك للبيانات بالأعلى، راح يتم إنشاء طلب الشهادة.
2.2.3 إنشاء الشهادة:
فقط أمر واحد لإنشاء الشهادة، وهو كالتالي:
openssl: برنامج إنشاء الشهادات والتعامل مع ssl.
x509: إنشاء شهادة بمعيار x509 .
-req: خيار طلب الشهادة، من كلمة request.
-days: مدة صلاحية الشهادة بالأيام، وكما هو موضح بالأعلى الشهادة ستكون صالحة لمدة سنة ثم تنتهي.
-in ssl.csr: إنشاء الشهادة بناء على المعلومات الموجودة في ملف طلب توقيع الشهادة ssl.csr
-signkey: ملف المفتاح الخاص بالشهادة.
-out: خيار حفظ الشهادة بالاسم ssl.crt.
انتهينا! مبروك عليك شهادة SSL الخاصة فيك.
3- إنشاء شهادة SSL معتمدة:
لأجل تكون شهادة SSL الخاصة فيك معتمدة في المتصفحات، وتتفادى الرسائل التحذيرية التي تواجه المستخدم عند الدخول إلى موقعك، تحتاج إن توقعها من جهة معتمدة لتوقيع شهادات SSL، مثل شركة Thawte وشركة VeriSign وغيرهم من الشركات.
ترسل لهم ملف طلب توقيع الشهادة CSR، وبعد دفع التكاليف، سوف يرسلون لك الشهادة بعد مدة , والمدة تختلف من شركة لشركة أخرى.
نقاط مهمة:
1- في حالة سرقة الشهادة، السارق يستطيع استخدامه بكل سهولة في الخادم الخاص فيه. لذلك تحتاج تشفيرها بواسطة DES .
2- في حالة التشفير بواسطة DES، كلما أردت أعادة تشغيل خادم الويب، تحتاج إدخال كلمة المرور الخاص بتشفير DES. تستطيع تفادي هذه المشكلة بدمج المفتاح مع الشهادة لينتج ملف من نوع PEM .
3- توجد أكثر من طريقة لإنشاء الشهادات، لكن أدرت توضيحها بشكل مفصل لتفهم الفكرة بأدق تفاصيلها للقارئ.
4- سوف أتطرق إن شاء الله بتدوينات قادمة عن كيفية الاستفادة من هذه الشهادات في الويب\الإيميل\FTP.
5- تأكد من وجود برنامج openssl في الخادم.
المصدر: http://www.jerais.com
تعليقات
إرسال تعليق