حاليا يعد استخدام شهادات SSL على مواقع الويب في غاية الأهميةنظرًا لأن هذه توفر للمستخدم مستوى من الأمان والثقة بشأن الموقع الذي يستخدمه ، بالإضافة إلى حقيقة أنه لعدة أيام ، قام Chrome بالفعل بتمييز المستخدمين وتحذيرهم بشأن المواقع التي لا يستخدمونها.
En في هذه المقالة ، سنستفيد من أداة لتثبيت شهادات SSL محليًا على نظامنا.
Mkcert هي أداة بسيطة يمكن استخدامها لتصنيع شهادات موثوقة محليًا. لا يتطلب أي تكوين. من الخطر أو المستحيل دائمًا استخدام شهادات هيئة إصدار الشهادات الفعلية للمضيف المحلي أو 127.0.0.1. حتى استخدام الشهادات الموقعة لا يزال غير مستحسن لأنها تسبب أخطاء ثقة.
مكيرت يوفر لنا أفضل حل لهذا من خلال إدارة المرجع المصدق الخاص بك. سيؤدي هذا تلقائيًا إلى إنشاء مرجع مصدق محلي وتثبيته في جذر النظام وإنشاء شهادات موثوقة محليًا.
في حالة شهادات SSL لصفحات الويب ، يمكنك الرجوع إلى بعض البدائل المجانية الأخرى ، مثل openSSL.
متطلبات
- تم تكوين النظام باستخدام Go 1.10+ وامتيازات الجذر.
- أداة قاعدة بيانات الشهادات (Certutil)
اذهب التثبيت
Go هي لغة برمجة للأغراض العامة يمكننا من خلالها إنشاء مجموعة متنوعة من التطبيقات. Go ومجموعات أدواته متوفرة في مستودعنا الافتراضي. يمكننا تثبيت GO على Ubuntu 18.04 فقط عن طريق تشغيل هذا الأمر.
apt install golang
Y يمكننا التحقق من التثبيت باستخدام:
go version
الآن يمكننا إنشاء ملف في المسار التالي "/Etc/profile.d/goenv.sh" لمتغير البيئة بالكامل كما يلي:
nano /etc/profile.d/goenv.sh
وفي الداخل يجب أن نضع:
export GOROOT=/usr/lib/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
الآن نكتب:
source /etc/profile.d/goenv.sh
تركيب اباتشي
الخطوة التالية هي تثبيت خادم الويب الخاص بنا وتمكين SSL لاستخدام شهادات ثقة التطوير هذه محليًا. يمكننا تثبيت اباتشي باستخدام الأمر التالي.
apt install apache2 systemctl enable apache2 ssystemctl start apache2
تركيب سيرتوتيل
أداة Certutil Database Tool هي أداة مساعدة بسيطة لسطر الأوامر يمكنها إنشاء وتعديل الشهادات وقواعد بياناتها.
يمكن استخدامه على وجه التحديد لسرد أو إنشاء أو تعديل أو حذف الشهادات. يمكن استخدامه حتى لإنشاء كلمة المرور أو تغييرها ، وإنشاء أزواج مفاتيح عامة وخاصة جديدة.
لتثبيته ، فقط اكتب الأمر التالي:
apt install libnss3-tools
تركيب مكيرت
لتثبيت هذه الأداة فقط قم بتنزيل الكود من GitHub، لهذا علينا فقط كتابة:
wget https://github.com/FiloSottile/mkcert/archive/v1.0.0.tar.gz tar -xvzf v1.0.0.tar.gz cd mkcert-1.0.0/
Y نقوم بتجميع الأداة باستخدام:
جعل [/ sourcecode]
الآن يمكننا نسخ ملف mkcert الثنائي هذا من مجلد التثبيت الخاص بـ / usr / bin / المجلد المطلوب استخدامه على مستوى الخادم.
cd mkcert-1.0.0/bin/ cp mkcert /usr/bin/
أخيرًا ، يمكننا إنشاء شهادتنا المحلية باستخدام هذا الأمر:
mkcert -install
يتم إنشاء هذا وحفظه في المسار /root/.local/share/mkcert
من قبل عادةً ما يتم تخزين شهادة CA ومفتاحها في مجلد بيانات التطبيق في مجلد "المنزل" للمستخدم.
يمكن أيضًا الحصول على الموقع باستخدام الأمر mkcert -CAROOT.
mkcert -CAROOT /root/.local/share/mkcert
الآن يمكننا استخدام هذه الأداة لإنشاء شهادات ثقة للتطوير المحلي حسب الحاجة:
mkcert example.com '*.example.org' myapp.dev localhost 127.0.0.1 ::1
كما ورد في تشغيل هذا الأمر ، يتم حفظ الشهادات الموثوقة التي تم إنشاؤها محليًا في المسار الذي يتم تشغيل هذا الأمر منه.
من الممكن نقل هذه الشهادات مثلا:
cp /root/example.com+5.pem /etc/ssl/certs / cp /root/example.com+5-key.pem /etc/ssl/private /
الآن تحتاج إلى تعديل ملف SSL الافتراضي الموجود في /etc/Apache2/sites-available/default-ssl.conf
SSLCertificateFile /etc/ssl/certs/example.com+5.pem SSLCertificateKeyFile /etc/ssl/private/example.com+5-key.pem
يمكنك الآن تمكين وحدة SSL وإعادة تشغيل خدمة Apache 2 لجعل هذه التغييرات فعالة.
a2enmod ssl a2ensite default-ssl.conf systemctl reload apache2 systemctl restart apache2
بمجرد الانتهاء من ذلك ، يمكننا إجراء اختبارات التصفح بشهادة SSL محلية. فقط اكتب https://localhost وسيكونون قادرين على رؤية أن المتصفح يتعرف عليه.
شرح قليلًا ، لا يمكنك تخيل ما كان عليّ تجميعه حتى أتمكن من تثبيته مع المتطلبات الأساسية.
لم تكن هناك طريقة بشرية لتثبيت اباتشيد لتكوين الباقي.
عندما تكتب: make [/ sourcecode]
ما الذي تتحدث عنه؟؟؟ ماذا نضع في / رمز المصدر؟
آسف للإزعاج.
التحيات.
في Ubuntu 20.04 ، يعمل فقط مع Firefox وليس للمتصفحات التي تعتمد على الكروم: '(