قم بتثبيت أحرف البدل من Lets Encrypt في Nginx على Ubuntu 19.04

في مارس 2018 ، أضاف Let's Encrypt دعمًا لشهادات البدل. تسمح لك شهادات أحرف البدل بتأمين جميع نطاقات المستوى الأول للمجال بشهادة واحدة. يمكن الحصول على شهادات أحرف البدل فقط من خلال ACMEv2 ، وهو إصدار محدث من بروتوكول ACME. لاستخدام ACMEv2 للحصول على شهادات حرف بدل أو حرف بدل ، ستحتاج إلى عميل تم تحديثه لدعم ACMEv2. أحد هذه العملاء هو acme.sh ، وهو عميل بروتوكول ACME / ACMEv2 مكتوب بلغة Shell (Unix shell) بحتة دون أي تبعيات. علاوة على ذلك ، يجب التحقق من نطاقات أحرف البدل باستخدام نوع تحدي DNS-01. هذا يعني أنك بحاجة إلى تعديل سجلات TXT لنظام أسماء النطاقات لإثبات السيطرة على المجال للحصول على شهادة حرف بدل.

في هذا الدليل ، نوضح كيفية الحصول على شهادات أحرف البدل المجانية ونشرها من Let's Encrypt على Ubuntu 19.04 باستخدام أداة acme.shالعميل ، Lexicon للتلاعب التلقائي لسجلات DNS عن طريق استهلاك واجهة برمجة تطبيقات Vultr ونشر شهادات النشر إلى خادم Nginx على الويب.

المتطلبات

  • خادم Ubuntu 19.04 Vultr السحابي تم نشره حديثًا.
  • لديك اسم مجال مسجل. يستخدم هذا الدليل example.comكمثال المجال.
  • تأكد من تعيين سجلات A / AAAA و CNAME DNS لاسم المجال المؤهل بالكامل (FQDN). قد ترغب في الرجوع إلى مقدمة برنامج Vultr DNS التعليمي إذا كنت بحاجة إلى التعرف على مفاهيم DNS.
  • تم تمكين Vultr API Access في لوحة تحكم حساب Vultr.

قبل ان تبدأ

تحقق من إصدار Ubuntu.

lsb_release -ds
# Ubuntu 19.04

قم بإنشاء حساب مستخدم جديد له sudoحق الوصول واسم المستخدم المفضل لديك وقم بالتبديل إليه. نستخدم johndoe.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

ملاحظة : استبدل johndoeباسم المستخدم الخاص بك.

قم بإعداد المنطقة الزمنية.

sudo dpkg-reconfigure tzdata

تأكد من تحديث نظام Ubuntu الخاص بك.

sudo apt update && sudo apt upgrade -y

قم بتثبيت الحزم اللازمة.

sudo apt install -y git wget curl socat

قم بتثبيت Nginx

قم بتثبيت خادم الويب Nginx.

sudo apt install -y nginx

التحقق من إصدار.

sudo nginx -v
# nginx version: nginx/1.15.9 (Ubuntu)

قم بتثبيت Python و Lexicon

كخطوة أولى في عملية الحصول على شهادات أحرف البدل من Let's Encrypt باستخدام acme.sh و Vultr API ، تحتاج إلى تثبيت Python و Lexicon . المعجم هو حزمة Python توفر طريقة للتعامل مع سجلات DNS على العديد من موفري DNS بطريقة موحدة.

قم بتثبيت Python إذا لم يكن مثبتًا بالفعل على نظامك.

sudo apt install -y python3

قم بتأكيد التثبيت من خلال التحقق من الإصدار.

python3 --version
# Python 3.7.3

قم بتثبيت أداة المعجم. المعجم هو أداة Python تسمح لك بمعالجة سجلات DNS على مختلف موفري DNS بطريقة موحدة.

sudo apt install -y lexicon

تحقق من إصدار المعجم.

lexicon --version
# lexicon 3.0.8

تثبيت acme.shالعميل

Acme.shهو عميل بروتوكول ACME مكتوب بلغة Shell (Unix shell) بحتة ويقوم بأتمتة عملية الحصول على شهادة موقعة عبر Let's Encrypt. وهو يدعم ACME v1 و ACME v2 ، والأهم من ذلك أنه يدعم ACME v2 أحرف البدل. في هذا القسم ، نقوم بتثبيت برنامج Acme.sh.

ملاحظة: من المستحسن استخدام rootالمستخدم للتثبيت acme.sh، على الرغم من أنه لا يتطلب root/ sudoالوصول.

قم بالتبديل إلى rootالمستخدم من المستخدم العادي إذا قمت بإنشائه.

sudo su - root

تنزيل وتثبيت acme.sh.

git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail "[email protected]"
source ~/.bashrc
cd

التحقق من إصدار.

acme.sh --version
# v2.8.2

احصل على أحرف البدل من Let's Encrypt

للحصول على شهادة حرف بدل ، يمكننا فقط استخدام طريقة التحقق من DNS. نحن نستخدم Lexicon و Vultr DNS API لمعالجة سجلات TXT DNS.

احصل على شهادات البدل RSA و ECC لنطاقك.

# Configure your API key and username
export PROVIDER=vultr
export LEXICON_VULTR_USERNAME="[email protected]"
export LEXICON_VULTR_TOKEN="XXXXXXXXXXXXXXX"

# RSA 2048
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength 2048
# ECC 256
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength ec-256

ملاحظة : لا تنس استبدال example.comاسم المجال الخاص بك ، واستبدال قيم نائب Vultr API باسمك الخاص.

بعد تشغيل الأوامر السابقة ، تكون الشهادات والمفاتيح في:

  • بالنسبة لـ RSA: ~/.acme.sh/example.comالدليل.
  • بالنسبة إلى ECC / ECDSA: ~/.acme.sh/example.com_eccالدليل.

ملاحظة : يجب عدم استخدام ملفات الشهادة في ~/.acme.sh/المجلد ، فهي للاستخدام الداخلي فقط ، وقد يتغير هيكل الدليل في المستقبل.

لإدراج شهاداتك ، يمكنك تشغيل:

acme.sh --list

قم بإنشاء مجلد لتخزين شهاداتك في الإنتاج. نستخدم /etc/letsencryptالدليل.

sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

تثبيت / نسخ الشهادات لاستخدام الإنتاج على الخادم الخاص بك.

# RSA
acme.sh --install-cert -d example.com \
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
        --cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
        --key-file /etc/letsencrypt/example.com_ecc/private.key \
        --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

الآن بعد أن حصلنا على شهادات أحرف البدل بنجاح من Let's Encrypt ، نحتاج إلى تهيئة خادم الويب Nginx. يتم تجديد جميع الشهادات تلقائيًا كل 60 يومًا.

بعد الحصول على الشهادات وتثبيتها على موقعك المفضل ، يمكنك تسجيل الخروج من rootمستخدم إلى sudoمستخدم عادي والاستمرار في إدارة الخادم الخاص بك باستخدام sudoإذا لزم الأمر.

exit

تكوين خادم الويب Nginx

قم بتشغيل sudo vim /etc/nginx/sites-available/example.com.confوملء الملف بالمحتوى التالي. استبدل كل تكرارات example.comاسم المجال الخاص بك.

server {

  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  server_name example.com *.example.com;
  root /var/www/example.com;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

}

قم بتنشيط example.com.confالتكوين الجديد عن طريق ربط الملف sites-enabledبالدليل.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

اختبار تكوين Nginx.

sudo nginx -t

إعادة تحميل Nginx.

sudo systemctl reload nginx.service

هذا هو. نشرنا شهادات أحرف البدل في Nginx باستخدام acme.sh و Lexicon و Vultr API. يمكن أن تكون أحرف البدل مفيدة عندما تريد تأمين عدة نطاقات فرعية من المستوى الأول تم إنشاؤها ديناميكيًا.



Leave a Comment

كيفية استخدام Google Chrome Secret Antivirus على نظام التشغيل Windows 10

كيفية استخدام Google Chrome Secret Antivirus على نظام التشغيل Windows 10

يأتي Chrome مزودًا بأداة سرية تسمى Chrome Cleanup ، وهي مصممة لإزالة البرامج الضارة من جهاز الكمبيوتر الذي يعمل بنظام Windows 10. إليك كيفية استخدامه.

إنشاء Chroot على دبيان

إنشاء Chroot على دبيان

ستعلمك هذه المقالة كيفية إعداد سجن سريع على دبيان. أفترض أنك تستخدم Debian 7.x. إذا كنت تقوم بتشغيل دبيان 6 أو 8 ، فقد يعمل هذا ، ولكن

تأمين MongoDB

تأمين MongoDB

MongoDB غير آمن افتراضيًا. إذا كنت تقوم بتثبيت MongoDB وتشغيله بدون تكوينه للمصادقة ، فستواجه وقتًا سيئًا

كيفية تثبيت Rkhunter على أوبونتو

كيفية تثبيت Rkhunter على أوبونتو

Rkhunter هو برنامج يعثر على الجذور الخفية على خادم Linux. يتم تثبيت مجموعات الجذر من قبل المتسللين حتى يتمكنوا دائمًا من الوصول إلى الخادم. في هذا المستند ، youll ب

كيفية تثبيت OSSEC HIDS على خادم CentOS 7

كيفية تثبيت OSSEC HIDS على خادم CentOS 7

مقدمة OSSEC هو نظام كشف التسلل مفتوح المصدر (HIDS) يقوم بتحليل السجل ، والتحقق من السلامة ، ومسجل Windows

Vultr Firewall

Vultr Firewall

يقدم Vultr حل جدار الحماية المستند إلى الويب والذي يمكن تمكينه لحماية مثيل واحد أو أكثر من مثيلات الحساب. وجود مجموعة قواعد لجدار الحماية لخوادمك i

كيفية تثبيت ModSecurity لـ Nginx على CentOS 7 و Debian 8 و Ubuntu 16.04

كيفية تثبيت ModSecurity لـ Nginx على CentOS 7 و Debian 8 و Ubuntu 16.04

ModSecurity هي وحدة جدار حماية لتطبيقات الويب مفتوحة المصدر (WAF) والتي تعد رائعة لحماية Apache و Nginx و IIS من الهجمات الإلكترونية المختلفة التي تستهدف

استخدام مفتاح SSH لتسجيل الدخول إلى المستخدمين غير الجذر

استخدام مفتاح SSH لتسجيل الدخول إلى المستخدمين غير الجذر

يوفر Vultr ميزة تسمح لك بتثبيت مفاتيح SSH مسبقًا عند إنشاء مثيل جديد. هذا يسمح لك بالوصول إلى المستخدم الجذر للخوادم ، ومع ذلك ، ث

قم بإعداد LetsEncrypt على Linux

قم بإعداد LetsEncrypt على Linux

LetsEncrypt هو مرجع مصدق مع عميل مؤتمت. باختصار ، هذا يعني أنه يمكنك تأمين مواقع الويب الخاصة بك دون أي تكلفة. هذا صحيح ، يمكنك ز

تأمين NGINX من هجوم Logjam على CentOS

تأمين NGINX من هجوم Logjam على CentOS

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

أنشئ واجهة HTML 5 RDP / SSH باستخدام Guacamole على Ubuntu 16.04 LTS

أنشئ واجهة HTML 5 RDP / SSH باستخدام Guacamole على Ubuntu 16.04 LTS

مقدمة الهدف من هذا البرنامج التعليمي هو التخلص من اتصالات SSH العامة واتصالات RDP العامة. بوضع هذا كله وراء عميل HTML5 ملائم للغاية

كيفية تثبيت ماسح ثغرات OpenVAS على أوبونتو 16.04

كيفية تثبيت ماسح ثغرات OpenVAS على أوبونتو 16.04

مقدمة OpenVAS هي مجموعة مفتوحة المصدر يمكن استخدامها لفحص الثغرات الأمنية وإدارة الثغرات الأمنية. وهو يشير إلى Open Vulnerabilit

كيفية تعطيل SELinux في CentOS 7

كيفية تعطيل SELinux في CentOS 7

SELinux ، اختصار لـ Linux المُحسَّن للأمان ، هو تحسين أمني لنظام التشغيل Linux. إنه نظام وضع العلامات يمنع العديد من الأنظمة

قم بتكوين جدار حماية غير معقد (UFW) على Ubuntu 14.04

قم بتكوين جدار حماية غير معقد (UFW) على Ubuntu 14.04

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

استخدام Lets Encrypt على OpenBSD 6.1

استخدام Lets Encrypt على OpenBSD 6.1

لم تعد هناك حاجة لأي شخص لإنشاء شهادات SSL الخاصة به لأنه الآن يمكنك الحصول على شهادة SSL مجانية وصالحة من Let

يتيح التشفير: الترحيل من TLS-SNI-01

يتيح التشفير: الترحيل من TLS-SNI-01

Lets Encrypt هي خدمة مجانية تنشئ شهادات لتأمين موقع الويب الخاص بك. يدعم توليد أنواع مختلفة من الشهادات ، بما في ذلك

تعزيز الأمن لـ FreeBSD باستخدام IPFW و SSHGuard

تعزيز الأمن لـ FreeBSD باستخدام IPFW و SSHGuard

يتم استهداف خوادم VPS بشكل متكرر من قبل المتسللين. يظهر نوع شائع من الهجمات في سجلات النظام كمئات من محاولات تسجيل الدخول إلى ssh غير المصرح بها. اعداد

كيفية إعداد المصادقة الثنائية (2FA) لـ SSH على Ubuntu 14.04 باستخدام Google Authenticator

كيفية إعداد المصادقة الثنائية (2FA) لـ SSH على Ubuntu 14.04 باستخدام Google Authenticator

استخدام نظام مختلف؟ هناك عدة طرق لتسجيل الدخول إلى خادم عبر SSH. تتضمن الأساليب تسجيل الدخول بكلمة المرور ، وتسجيل الدخول المستند إلى المفتاح ، والواقعية

كيفية تمكين TLS 1.3 في Nginx على Ubuntu 18.04 LTS

كيفية تمكين TLS 1.3 في Nginx على Ubuntu 18.04 LTS

استخدام نظام مختلف؟ TLS 1.3 هو إصدار من بروتوكول أمان طبقة النقل (TLS) تم نشره في 2018 كمعيار مقترح في RFC 8446

كيفية تمكين TLS 1.3 في Nginx على FreeBSD 12

كيفية تمكين TLS 1.3 في Nginx على FreeBSD 12

استخدام نظام مختلف؟ TLS 1.3 هو إصدار من بروتوكول أمان طبقة النقل (TLS) تم نشره في 2018 كمعيار مقترح في RFC 8446

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

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

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

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

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد