بلاگ/گواهی SSL ابزار Let’s Encrypt در اوبونتو 20.04
به‌روز شده

گواهی SSL ابزار Let’s Encrypt در اوبونتو 20.04

کدگذاری SSL/TLS بخشی جدایی‌ناپذیر از زیرساخت شبکه محسوب می‌شود. در تمام سرورهای وب و ایمیل امکان فعالسازی کدگذاری داده‌ها وجود دارد. در این مطلب نگاهی خواهیم داشت به فرآیند دستیابی به گواهی رایگان SSL در ابزار Let’s Encrypt. اول از همه باید یک عنوان دامین در اختیار داشته باشید. رکورد A سرور DNS...

1399/11/055033 بازدید
گواهی SSL ابزار Let’s Encrypt در اوبونتو 20.04
کدگذاری SSL/TLS بخشی جدایی‌ناپذیر از زیرساخت شبکه محسوب می‌شود. در تمام سرورهای وب و ایمیل امکان فعالسازی کدگذاری داده‌ها وجود دارد. در این مطلب نگاهی خواهیم داشت به فرآیند دستیابی به گواهی رایگان SSL در ابزار Let’s Encrypt. اول از همه باید یک عنوان دامین در اختیار داشته باشید. رکورد A سرور DNS آن می‌بایست حاوی آدرس عمومی سرور شما باشد. همچنین اگر فایروال فعالی دارید، باید دسترسی به ترافیک HTTP و HTTPS را باز کنید.
php
sudo ufw allow 80sudo ufw allow 443

گام ۱) نصب بسته Let’s Encrypt

فرآیند نصب بسته Let’s Encrypt و متعلقات آن بسیار ساده است. برای این منظور، فرمان زیر را تایپ کنید.
php
sudo apt install letsencrypt
این فرمان باعث می‌شود که ابزار certbot.timer نیز به همراه بسته Let’s Encrypt نصب شود که برای تازه‌سازی خودکار گواهی به کار می‌رود. certbot.timer اعتبار گواهی‌های SSL را در سیستم دو بار در روز بررسی می‌کند و آنهایی را که در ۳۰ روز آینده اعتبارشان به پایان می‌رسد، اضافه می‌کند. برای اطمینان از اجرای این ابزار، داریم:
php
sudo systemctl status certbot.timer
تنظیمات و شرایط مختلفی برای دستیابی به یک گواهی وجود دارند. در ادامه نگاهی به مواردی از این دست خواهیم داشت.

گام ۲) سرور جداگانه برای دریافت گواهی SSL ابزار Let’s Encrypt

ساده‌ترین راه برای دریافت یک گواهی SSL استفاده از یک گزینه سرور جداگانه در Certbot است. در فرمان زیر حتماً دقت کنید که domain-name.com را با دامین خودتان جایگزین کنید. سپس دستورالعمل‌های مربوطه را دنبال نمایید.
php
sudo certbot certonly --standalone --agree-tos --preferred-challenges http -d domain-name.com
گزینه certonly به این معناست که گواهی فقط به صورت «بدون نصب» در سرور وب به‌دست می‌آید. standalone نیز به شما اجازه می‌دهد که سرور خودتان را برای تأیید ورودی استفاده کنید. همچنین agree-tos به معنای قبول توافق عضویت سرور ACME است که یک پیش‌نیاز محسوب می‌شود. گزینه preferred-challenges http نیز به معنای اجرای تأییدیه با استفاده از HTTP است.

گام ۳) نصب خودکار گواهی SSL در وب‌سرور‌های nginx و آپاچی

Certbot این امکان را دارد که گواهی را به صورت اتوماتیک در وب‌سرورهای nginx و آ‌پاچی نصب کند. برای این منظور، باید یک بسته اضافی نصب کرده و یک نمونه مناسب از آن برای وب‌سرورتان انتخاب کنید.
php
apt install python3-certbot-nginxapt install python3-certbot-apache
فرمان زیر را برای nginx اجرا نمایید.
php
sudo certbot --nginx --agree-tos --preferred-challenges http -d domain-name.com
و یا فرمان زیر برای آپاچی مورد استفاده قرار می‌گیرد.
php
sudo certbot --apache --agree-tos --preferred-challenges http -d domain-name.com
دستورالعمل‌ها را دنبال کنید تا Certbot برایتان یک گواهی SSL نصب کند.

گام ۴) گواهی SSL وایلدکارد Let’s Encrypt

تنها روش ممکن برای ایجاد یک گواهی وایلدکارد استفاده از DNS خواهد بود. در پارامتر d می‌بایست  دامین و وایلدکارد را با هم مشخص کنید. توضیح اینکه گواهی وایلدکارد برای تمام زیردامنه‌ها قابل‌استفاده است.
php
sudo certbot certonly --manual --agree-tos --preferred-challenges dns -d domain-name.com -d *.domain-name.com
سپس رکورد خاص TXT را در سرور DNS قرار دهید و کار را ادامه دهید. اگر همه‌چیز به خوبی پیش رفته باشد، مسیری را خواهید دید که گواهی جدید وایلدکارد در آن ذخیره شده است. همچنین برخی اطلاعات دیگر برایتان به نمایش درمی‌آید.