Introduction to Amazon Web Services by Leo Zhadanovsky
جدول المحتويات:
- المتطلبات الأساسية
- تثبيت Certbot
- إنشاء مجموعة قوية Dh (ديفي هيلمان)
- الحصول على شهادة دعونا تشفير SSL
- التجديد التلقائي دعونا تشفير شهادة SSL
- استنتاج
Let's Encrypt هي المرجع المصدق الذي أنشأته مجموعة أبحاث أمان الإنترنت (ISRG). يوفر شهادات SSL مجانية عبر عملية مؤتمتة بالكامل تهدف إلى القضاء على إنشاء الشهادة يدويًا والتحقق من صحتها وتثبيتها وتجديدها.
الشهادات الصادرة عن Let's Encrypt موثوق بها من قبل جميع المتصفحات الرئيسية اليوم.
في هذا البرنامج التعليمي ، سنقدم إرشادات خطوة بخطوة حول كيفية تأمين Apache باستخدام Let's Encrypt باستخدام أداة certbot على Ubuntu 18.04.
المتطلبات الأساسية
تأكد من أنك استوفيت الشروط التالية قبل المتابعة مع هذا البرنامج التعليمي:
- يشير اسم المجال إلى عنوان IP الخاص بالخادم العام. سنستخدم
example.com. لديك Apache مثبّت مع مضيف افتراضي من Apache لنطاقك.
تثبيت Certbot
Certbot هي أداة مميزة وسهلة الاستخدام يمكنها أتمتة المهام للحصول على وتجديد شهادات دعونا تشفير SSL وتكوين خوادم الويب. يتم تضمين حزمة certbot في مستودعات Ubuntu الافتراضية.
قم بتحديث قائمة الحزم وتثبيت حزمة certbot:
sudo apt update
sudo apt install certbot
إنشاء مجموعة قوية Dh (ديفي هيلمان)
يعد Diffie – Hellman key exchange (DH) طريقة لتبادل آمن لمفاتيح التشفير عبر قناة اتصال غير آمنة. سنقوم بإنشاء مجموعة جديدة من معلمات DH 2048 بت لتعزيز الأمن:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
إذا كنت تريد ، يمكنك تغيير الحجم حتى 4096 بت ، ولكن في هذه الحالة ، قد يستغرق الجيل أكثر من 30 دقيقة اعتمادًا على إنتروبيا النظام.
الحصول على شهادة دعونا تشفير SSL
للحصول على شهادة طبقة المقابس الآمنة للمجال ، سنستخدم المكون الإضافي Webroot الذي يعمل عن طريق إنشاء ملف مؤقت للتحقق من صحة النطاق المطلوب في دليل
${webroot-path}/.well-known/acme-challenge
. يقوم خادم Let's Encrypt بإرسال طلبات HTTP إلى الملف المؤقت للتحقق من أن المجال المطلوب يحل إلى الخادم حيث يتم تشغيل certbot.
ولجعل الأمر أكثر بساطة ، سنقوم بتعيين جميع طلبات HTTP الخاصة بـ
.well-known/acme-challenge
إلى دليل واحد ،
/var/lib/letsencrypt
.
ستنشئ الأوامر التالية الدليل وتجعله قابلاً للكتابة لخادم Apache.
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp www-data /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
لتجنب تكرار الشفرة ، قم بإنشاء قصتي التكوين التاليين:
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # Requires Apache >= 2.4 SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)" # Requires Apache >= 2.4.11 SSLSessionTickets Off SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"
يستخدم القصاصة أعلاه شرائح التقطيع الموصى بها من قبل Cipherli.st ، وتمكين OCSP Stapling ، HTTP Strict Transport Security (HSTS) ويفرض القليل من رؤوس HTTP التي تركز على الأمان.
قبل تمكين ملفات التكوين ، تأكد من
mod_ssl
كل من
mod_ssl
و
mod_headers
عن طريق إصدار:
sudo a2enmod ssl
sudo a2enmod headers
بعد ذلك ، قم بتمكين ملفات تكوين SSL عن طريق تشغيل الأوامر التالية:
sudo a2enconf letsencrypt
sudo a2enconf ssl-params
تمكين وحدة HTTP / 2 ، والتي ستجعل مواقعك أسرع وأكثر قوة:
sudo a2enmod
أعد تحميل تكوين Apache لتصبح التغييرات نافذة المفعول:
sudo systemctl reload apache2
الآن ، يمكننا تشغيل أداة Certbot باستخدام المكون الإضافي webroot والحصول على ملفات شهادة SSL عن طريق الكتابة:
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
إذا تم الحصول على شهادة SSL بنجاح ، فسوف يقوم certbot بطباعة الرسالة التالية:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2018-10-28. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
الآن وبعد أن أصبحت لديك ملفات الشهادة ، قم بتحرير تكوين المضيف الظاهري لنطاقك كما يلي:
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
من خلال التكوين أعلاه ، فإننا نلزم HTTPS ونعيد التوجيه من www إلى إصدار غير www. تتردد في ضبط التكوين وفقًا لاحتياجاتك.
أعد تحميل خدمة Apache لتصبح التغييرات نافذة المفعول:
sudo systemctl reload apache2
يمكنك الآن فتح موقع الويب الخاص بك باستخدام
https://
، وستلاحظ رمز القفل الأخضر.

التجديد التلقائي دعونا تشفير شهادة SSL
شهادات تشفير دعونا صالحة لمدة 90 يوما. لتجديد الشهادات تلقائيًا قبل انتهاء صلاحيتها ، تنشئ حزمة certbot cronjob تعمل مرتين يوميًا وتجدد تلقائيًا أي شهادة قبل 30 يومًا من انتهاء صلاحيتها.
بمجرد تجديد الشهادة ، يتعين علينا أيضًا إعادة تحميل خدمة Apache. إلحاق -
--renew-hook "systemctl reload apache2"
إلى ملف
/etc/cron.d/certbot
بحيث يبدو كما يلي:
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload apache2"
لاختبار عملية التجديد ، يمكنك استخدام مفتاح
--dry-run
:
sudo certbot renew --dry-run
إذا لم تكن هناك أخطاء ، فهذا يعني أن عملية التجديد كانت ناجحة.
استنتاج
في هذا البرنامج التعليمي ، استخدمت شهادات العميل التابعة لبرنامج Let's Encrypt لتنزيل شهادات طبقة المقابس الآمنة للمجال الخاص بك. لقد أنشأت أيضًا قصاصات Apache لتجنب تكرار التعليمات البرمجية وتكوين Apache لاستخدام الشهادات. في نهاية البرنامج التعليمي ، قمت بإعداد cronjob لتجديد الشهادة تلقائيًا.
اباتشي أوبونتو دعونا تشفير certbot SSLيعد هذا المنشور جزءًا من سلسلة كيفية تثبيت مصباح المكدس على أوبونتو 18-04.
وظائف أخرى في هذه السلسلة:
• كيفية تثبيت Apache على Ubuntu 18.04 • كيفية إعداد مضيفات Apache الافتراضية على Ubuntu 18.04 • تأمين Apache مع Let's Encrypt على Ubuntu 18.04 • كيفية تثبيت MySQL على Ubuntu 18.04 • كيفية تثبيت PHP على Ubuntu 18.04تأمين اباتشي مع دعونا تشفير على centos 7
في هذا البرنامج التعليمي ، سنغطي الخطوات اللازمة لتثبيت شهادة Let's Encrypt SSL المجانية على خادم CentOS 7 يشغل Apache كخادم ويب.
تأمين اباتشي مع دعونا تشفير على centos 8
يشرح هذا البرنامج التعليمي كيفية تثبيت شهادة Let's Encrypt SSL المجانية على CentOS 8 التي تستخدم Apache كخادم ويب. سنستخدم أداة certbot للحصول على الشهادات وتجديدها.
تأمين اباتشي مع دعونا تشفير على ديبيان 9
سيرشدك هذا البرنامج التعليمي خلال عملية الحصول على Let's Encrypt المجاني باستخدام أداة certbot في Debian 9. وسنعرض أيضًا كيفية تكوين Apache لاستخدام شهادة SSL الجديدة وتمكين HTTP / 2







