امنیت شبکه, لینوکس, مدیریت سرور لینوکس

آموزش نصب Let’s Encrypt در لینوکس اوبونتو

آموزش نصب Let’s Encrypt در لینوکس اوبونتو

نصب Let’s Encrypt در لینوکس توزیع اوبونتو ساده است، در این مقاله نحوه نصب و پیاده سازی Let’s Encrypt در Ubuntu را به شما عزیزان آموزش خواهیم داد، همراه داتیس نتورک باشید.

آموزش نصب Let’s Encrypt در لینوکس اوبونتو

نصب Let’s Encrypt در اوبونتو

Let’s Encrypt یک مرکز صادر کننده گواهی SSL و TLS به صورت رایگان است که توسط ISRG با حمایت گوگل و سیسکو و … ایجاد شد و یک راهکار مناسب برای استفاده از SSL/TLS Certificates بدون پرداخت هزینه است،

به طور خلاصه Let’s Encrypt به شما گواهی SSL رایگان برای وب سایت های شما ارائه می دهد که با نصب این گواهینامه بر روی سایت خود باعث می شود ارتباط بین وب سایت شما و مرورگر کاربر رمزگذاری شود و امنیت تبادل اطلاعات برای کاربران بالا می برد و قفل سبز رنگ در کنار نوار آدرس سایت شما نمایش داده می شود.

همچنین ساختار آدرس سایت شما از پروتکل HTTP به HTTPS تغییر می کند.

گواهینامه های صادر شده توسط Let Encrypt به مدت 90 روز از تاریخ انتشار معتبر هستند و مورد اعتماد همه مرورگرهای اصلی امروز هستند.

در ادامه این مقاله قصد داریم روش نصب و راه اندازی Let’s Encrypt در اوبونتو را به شما عزیزان آموزش دهیم، همراه داتیس نتورک باشید.

پیش نیازهای نصب

قبل از ادامه از پیش نیازهای زیر اطمینان حاصل کنید:

  • وب سرور آپاچی یا … روی سرور نصب شده باشد.
  • دامنه ای که می خواهید مجوز SSL را روی آن نصب کنید به IP سرور شما متصل شده باشد.
  • به عنوان root یا کاربر دارای امتیازات sudo وارد شده اید .

مراحل پیاده سازی Let’s Encrypt در Ubuntu

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

1- نصب Certbot

برای به دست آوردن گواهینامه از certbot استفاده خواهیم کرد.

این یک ابزار خط فرمان است که وظایف مربوط به اخذ و تمدید گواهینامه های رمزگذاری SSL را خودکار انجام میدهد.

بسته certbot در مخازن پیش فرض اوبونتو گنجانده شده است.

در ادامه نصب Let’s Encrypt در اوبونتو لیست بسته ها را به روز کنید و با استفاده از دستورات زیر ، certbot را نصب کنید:

sudo apt update
sudo apt install certbot

2- تولید گروه Strong Dh

تبادل کلید Diffie-Hellman (DH) روشی برای تبادل ایمن کلیدهای رمزنگاری بر روی کانال ارتباطی ناامن است.

برای تقویت امنیت مجموعه جدیدی از پارامترهای DH 2048 bit را ایجاد کنید:

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

می توانید آن را تا 4096 بیت تغییر دهید اما بسته به سیستم شما ممکن است تولید بیش از 30 دقیقه طول بکشد.

3- اخذ گواهی نامه Let’s Encrypt SSL

برای به دست آوردن گواهینامه SSL برای دامنه ، ما می خواهیم از افزونه Webroot استفاده کنیم که با ایجاد یک پرونده موقت برای تأیید اعتبار دامنه درخواستی در دایرکتوری ${webroot-path}/.well-known/acme-challenge کار می کند.

دستور های زیر را برای ایجاد دایرکتوری و نوشتن آن برای سرور آپاچی اجرا کنید.

sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp www-data /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt

برای جلوگیری از کپی کردن کد و حفظ بیشتر تنظیمات ، تنظیمات زیر را ایجاد کنید:

nano /etc/apache2/conf-available/letsencrypt.conf
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
<Directory "/var/lib/letsencrypt/">
AllowOverride None
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
nano /etc/apache2/conf-available/ssl-params.conf
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off

SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"

SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"

Header always set Strict-Transport-Security "max-age=63072000"

قطعه فوق با استفاده از تراشه های توصیه شده توسط موزیلا ، OCSP Stapling ، HTTP Strict Transport Security (HSTS) را فعال میکند و چند هدر HTTP با محوریت امنیتی را اعمال می کند.

در ادامه نصب Let’s Encrypt در اوبونتو :

قبل از فعال کردن فایل های پیکربندی، مطمئن شوید که هر دو mod_sslو mod_headers را فعال کنید:

sudo a2enmod ssl
sudo a2enmod headers

بعد ، با اجرای دستورات زیر پرونده های پیکربندی SSL را فعال کنید:

sudo a2enconf letsencrypt
sudo a2enconf ssl-params

ماژول HTTP / 2 را فعال کنید ، که باعث می شود سایتهای شما سریعتر و قوی تر شوند:

sudo a2enmod http2

بارگیری پیکربندی Apache برای اعمال تغییرات:

sudo systemctl reload apache2

اکنون می توانیم ابزار Certbot را با افزونه webroot اجرا کنیم و پرونده های گواهی SSL را بدست آوریم:

sudo certbot certonly --agree-tos --email admin@example.com --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 2020-10-06. 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"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

اکنون که پرونده های گواهی نامه را دارید ، پیکربندی میزبان مجازی دامنه خود را به شرح زیر ویرایش کنید:

nano /etc/apache2/sites-available/example.com.conf
ServerName mail.digital.mk

Redirect permanent / https://mail.digital.mk/



ServerName mail.digital.mk

Protocols h2 http:/1.1

<If "%{HTTP_HOST} == 'www.mail.digital.mk'">
Redirect permanent / https://mail.digital.mk/


DocumentRoot /var/www/mail.digital.mk/public_html
ErrorLog ${APACHE_LOG_DIR}/mail.digital.mk-error.log
CustomLog ${APACHE_LOG_DIR}/mail.digital.mk-access.log combined

SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/mail.digital.mk/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mail.digital.mk/privkey.pem

# Other Apache Configuration

با پیکربندی بالا ، ما HTTPS را از www به نسخه غیر www هدایت می کنیم .

برای اعمال تغییرات ، سرویس Apache را بارگیری مجدد کنید:

sudo systemctl reload apache2

اکنون می توانید وب سایت خود را با استفاده از https:// باز کنید و به نماد قفل سبز را خواهید دید.

نصب Let’s Encrypt در اوبونتو با موفقیت به پایان رسید.

تمدید خودکار گواهی Let’s Encrypt SSL

گواهینامه های رمزگذاری شده برای مدت 90 روز معتبر هستند.

برای تجدید خودکار گواهینامه ها قبل از انقضا ، بسته certbot یک cronjob ایجاد می کند که دو بار در روز اجرا می شود و 30 روز قبل از انقضا به طور خودکار هر گواهینامه را تمدید می کند.

پس از تمدید گواهینامه ، مجبوریم سرویس آپاچی را بارگیری کنیم.

باید --renew-hook "systemctl reload apache2" را به فایل /etc/cron.d/certbot اضافه کنید :

nano /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 certbot استفاده کنید :

sudo certbot renew --dry-run

اگر خطایی وجود نداشته باشد ، به این معنی است که روند تمدید موفقیت آمیز بوده است.

سخن پایانی نصب Let’s Encrypt در اوبونتو

امیدواریم مقاله آموزش نصب گواهی نامه Let’s Encrypt در لینوکس Ubuntu برای شما عزیزان مفید بوده باشد.

داتیس نتورک را در شبکه های اجتماعی خصوصا تلگرام دنبال کنید.

مطالب مرتبط

1 نظر در “آموزش نصب Let’s Encrypt در لینوکس اوبونتو

  1. مسعود گفت:

    احتمال خیلی زیاد اگه در بخش nano /etc/apache2/conf-available/letsencrypt.conf
    که گفته بودند کدهایی رو بریزید با مشکل برخورد می کنید و آپاچی دیگه ران نمیشه. در این صورت محتوای این فولدر را پاک کنید

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

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