Ubuntu

نصب Lets Encrypt SSL با Apache روی Ubuntu 20.04

هاست وردپرس

گواهی Let’s Encrypt یک نوع گواهینامه SSL از نوع رایگان است که به صورت 90 روزه صادر می شود و معتبر است و در اکثر مرورگر های اینترنتی نیز تایید شده و مورد اعتماد است. در این مطلب از پرداز آی تی قصد داریم نحوه نصب، راه اندازی و ایمن سازی وب سرور Apache با گواهی Lets Encrypt روی Ubuntu 20.04 را توضیح دهیم پس با آموزش نصب Lets Encrypt SSL با Apache روی Ubuntu 20.04 همراه ما باشید.

نصب Lets Encrypt SSL با Apache روی Ubuntu 20.04

توجه داشته باشید پیش از شروع موارد زیر را انجام داده باشید.

  1. ساخت یک کاربر sudo برای Ubuntu 20.04 جهت دسترسی به سرور
  2. تنظیم IP سرور بر روی دامنه ای که قصد داریم برای آن SSL را نصب و فعال کنیم.
  3. نصب وب سرور apache روی Ubuntu 20.04 (توجه داشته باشید که تنظیمات هاست مجازی را به درستی انجام داده باشید)

حال که پیش نیاز ها را فراهم ساختیم به دنبال انجام مراحل نصب Lets Encrypt SSL روی سرور Ubuntu 20.04 می رویم.

نصب Certbot

Certbot در حقیقت ابزاری است که مراحل صدور گواهی SSL را برای ساده می کند زیرا به وسیله Certbot می توانیم مراحل صدور یا تمدید گواهی های از نوع Lets Encrypt را به صورت خودکار انجام دهیم. مخزن پیش فرض سیستم عامل شامل بسته نصبی Certbot می شود پس تنها کاری که نیاز است در این مرحله انجام دهیم این است که ابتدا با دستور apt بسته های اساسی سیستم عامل را به روز رسانی کرده و پس از آن ابزار را نصب می کنیم.

sudo apt update
sudo apt install certbot python3-certbot-apache

با اجرا دستور فوق سیستم از شما تاییدیه نصب می خواهد که ابتدا کلید Y و سپس Enter را فشار دهید.

تنظیم Diffie-Hellman

کلید Diffie–Hellman یک روش تبادل امن برای کلید های رمزنگار شده است که پارامتر مورد تایید آن 2048 bit می باشد اما در صورت نیاز به امنیت بیشتر می توان میزان 4096 bit را نیز تنظیم کرد. پیشنهاد می شود روی 2048 تنظیم شود.

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

تنظیم دسترسی HTTPS در فایروال

در صورتی که بر روی سرور خود از فایروال هایی مثل UFW استفاده می کنید باید ابتدا پورت مربوط به پروتکل HTTPS را در فایروال باز کنید به همین منظور می توانیم با تنظیم Apache Full در فایروال، ترافیک های HTTP و HTTPS را برای وب سرور آپاچی باز کنیم. دستورات زیر را به ترتیب اجرا کنید.

sudo ufw allow 'Apache Full'
sudo ufw delete allow 'Apache'

حال وضعیت فعال بودن دسترسی در فایروال با دستور زیر بررسی می کنیم.

sudo ufw status

صدور گواهی Lets Encrypt SSL

برای شروع صدور و دریافت گواهی Lets Encrypt ابتدا دستور زیر را اجرا می کنیم.

sudo certbot --apache

خروجی دستور فوق:

در این قسمت شما باید ایمیل خود را جایگزین ایمیل آبی رنگ کنید و Enter بزنید.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): info@pardazit.com

در مرحله بعدی باید قوانین سرویس دهنده را قبول کرده (A) و Enter بزنید.

Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N

حال سیستم از شما می خواهد نحوه دسترسی به دامنه را مشخص کنید. در صورتی که می خواهید دسترسی بدون www باشد عدد 1 و دسترسی با www عدد 2 را وارد کنید. اگر تمایل دارید به هر دو روش دامنه بر روی https در دسترس باشد بدون انتخاب عدد بر روی Enter کلیک کنید.

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: paradzit.com
2: www.paradzit.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):

خروجی:

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for paradzit.com
http-01 challenge for www.paradzit.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/paradzit.com-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/paradzit.com-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/paradzit.com-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/paradzit.com-le-ssl.conf

در مرحله بعدی انتخاب کنید که آیا می خواهید ترافیک HTTP به HTTPS ریدایرکت شود یا خیر؟ در صورتی که می خواهید ریدایرکت انجام شود عدد 2 را وارد کرده، در غیر این صورت عدد 1 و در نهایت Enter بزنید.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

پس از این مرحله باید پیام Congratulations! You have successfully enabled و سایر اطلاعات مربوط به گواهی صادر شده نمایش داده شود.

حال دامنه شما باید با وارد کردن آدرس در مرورگر با https برای شما نمایش داده شود.

تنظیم تمدید خودکار Let’s Encrypt

همانطور که توضیح دادیم گواهی های Let’s Encrypt به صورت 3 ماهه یا 90 روزه صادر می شوند و باید پیش از اتمام این زمان تمدید شوند که می توانید فرآیند تمدید را به صورت خودکار انجام دهید.

برای اطمینان از فعال بودن تمدید خودکار دستور زیر را اجرا کنید.

sudo systemctl status certbot.timer

خروجی:

certbot.timer - Run certbot twice daily
Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled)
Active: active (waiting) since 2020-07-15 11:32:02 UTC; 10h ago
Trigger: 2020-07-16 23:54:59 UTC; 19h left
Triggers: ● certbot.service

fine-turtle systemd[1]: Started Run certbot twice daily.

در این خروجی متوجه می شویم که certbot.timer دو بار در روز وضعیت تمدید گواهی را بررسی می کند.

در اینجا به پایان آموزش نصب Lets Encrypt SSL با Apache روی Ubuntu 20.04 از پرداز آی تی رسیدیم و امیدواریم موفق شده باشید به کمک آموزش نصب Lets Encrypt SSL با Apache روی Ubuntu 20.04 مراحل صدور و نصب گواهی را روی اوبونتو با موفقیت انجام دهید.

هاست و دامنه

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن