تثبيت شهادة SSL مجانية على LEMP Stack باستخدام Let’s Encrypt



جرب أداة القضاء على المشاكل

Let's Encrypt هو مشروع تعاوني لمؤسسة Linux Foundation ، وهو مرجع مصدق مفتوح مقدم من Internet Security Research Group. مجانًا لأي شخص يمتلك اسم نطاق لاستخدام Let’s Encrypt للحصول على شهادة موثوق بها. القدرة على أتمتة عملية التجديد ، وكذلك العمل على تسهيل التثبيت والتهيئة. ساعد في الحفاظ على أمان المواقع ، وتعزيز ممارسات أمان TLS. الحفاظ على الشفافية ، مع إتاحة جميع الشهادات للجمهور للفحص. السماح للآخرين باستخدام بروتوكولات الإصدار والتجديد الخاصة بهم كمعيار مفتوح.



بشكل أساسي ، تحاول Let’s Encrypt جعل الأمان لا يعتمد على الأطواق السخيفة التي تصنعها المؤسسات الربحية الكبيرة. (يمكنك القول أنني أؤمن بالمصادر المفتوحة ، وهذا مفتوح المصدر في أفضل حالاته).



هناك خياران: تنزيل الحزمة والتثبيت من المستودعات ، أو تثبيت برنامج certbot-auto المجمع (المعروف سابقًا باسم letencrypt-auto) من Letsencrypt مباشرة.



للتحميل من المستودعات

sudo apt-get install يتيح لك تشفير الملفات

بمجرد الانتهاء من التثبيت ، حان الوقت للحصول على الشهادة الخاصة بك! نحن نستخدم الطريقة المستقلة المؤكدة ، لإنتاج مثيل من الخادم فقط للحصول على شهادتك.



يتيح sudo تشفيرًا مؤكدًا - قياسي - d example.com - d subdomain.example.com -d othersubdomain.example.com

ssl1

أدخل بريدك الإلكتروني ووافق على شروط الخدمة. يجب أن يكون لديك الآن شهادة جيدة لكل مجال من المجالات والمجالات الفرعية التي أدخلتها. يتم تحدي كل مجال ونطاق فرعي ، لذلك إذا لم يكن لديك سجل نظام أسماء النطاقات يشير إلى خادمك ، فسيفشل الطلب.

إذا كنت ترغب في اختبار العملية ، قبل الحصول على شهادتك الفعلية ، يمكنك إضافة –test-cert كوسيطة بعد ذلك بشكل مؤكد. ملاحظة: تثبّت –test-cert شهادة غير صالحة. يمكنك القيام بذلك لعدد غير محدود من المرات ، ولكن إذا كنت تستخدم الشهادات الحية ، فهناك حد للسعر.

ssl2

لا يتم دعم مجالات Wild Card ، ولا يبدو أنها ستدعم. السبب المقدم هو أنه نظرًا لأن عملية الحصول على الشهادة مجانية ، يمكنك طلب أكبر عدد تريده. أيضًا ، يمكن أن يكون لديك عدة مجالات ومجالات فرعية على نفس الشهادة.

ننتقل إلى تكوين NGINX لاستخدام شهادتنا المكتسبة حديثًا! بالنسبة للمسار إلى الشهادة ، أستخدم المسار الفعلي ، بدلاً من التعبير العادي.

لدينا طبقة المقابس الآمنة (SSL) ، وقد نعيد أيضًا توجيه كل حركة المرور الخاصة بنا إليها. قسم الخادم الأول يفعل ذلك بالضبط. لقد قمت بتعيينه لإعادة توجيه كل حركة المرور ، بما في ذلك المجالات الفرعية ، إلى المجال الأساسي.

2016-05-16_122009

إذا كنت تستخدم Chrome ولم تقم بتعطيل أصفار SSL المدرجة أعلاه ، فستحصل على err_spdy_inad appropriate_transport_security. تحتاج أيضًا إلى تحرير ملف nginx conf لتبدو شيئًا كهذا للتغلب على ثغرة أمنية في gzip

2016-05-16_122647

ssl3

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

إذا كنت تريد الإعداد لمجالات فرعية منفصلة ، فيمكنك استخدام

2016-05-16_122342

سيُطلب منك إنشاء كلمة مرور لاسم المستخدم (مرتين).

إعادة تشغيل sudo service nginx

الآن ستتمكن من الوصول إلى موقعك من أي مكان باستخدام اسم مستخدم وكلمة مرور ، أو محليًا بدون. إذا كنت ترغب دائمًا في اختبار كلمة المرور ، فقم بإزالة السماح 10.0.0.0/24 ؛ # التغيير إلى خط الشبكة المحلية الخاص بك.

ضع في اعتبارك التباعد في auth_basic ، إذا لم يكن صحيحًا ، فستتلقى خطأ.

إذا كانت كلمة المرور لديك خاطئة ، فستحصل على 403

ssl4

عنصر أخير نحتاج إلى القيام به ، إعداد التجديد التلقائي لشهادات SSL.

بالنسبة لهذه المهمة ، فإن وظيفة cron البسيطة هي الأداة المناسبة للوظيفة ، وسنضعها كمستخدم أساسي لمنع أخطاء الأذونات

(sudo crontab -l 2> / dev / null؛ echo '0 0 1 * * Letsencrypt تجديد') | سودو كرونتاب -

سبب استخدام / dev / null هو التأكد من أنه يمكنك الكتابة إلى crontab ، حتى لو لم يكن موجودًا من قبل.

3 دقائق للقراءة