دانش محور دستورالعمل های ساده برای کار با سرویس Profitserver
اصلی دانش محور Certbot: نصب Let's Encrypt Certificate

Certbot: نصب Let's Encrypt Certificate


در این مقاله به بررسی مراحل نصب و پیکربندی می پردازیم Certbot روی سرور لینوکس به تفصیل توضیح خواهیم داد نحوه دریافت گواهینامه Let's Encrypt SSL/TLS برای دامنه شما همچنین نحوه نصب آن را بر روی یک وب سرور (مانند Nginx یا Apache) و راه اندازی تمدید گواهینامه خودکار برای اطمینان از اتصال ایمن مداوم با منبع وب خود شرح خواهیم داد.

Certbot یک ابزار رایگان و متن باز است که برای دستیابی و تمدید خودکار طراحی شده است گواهینامه های SSL/TLS. نقش مهمی در ایمن سازی ارتباط بین سرور و کلاینت ایفا می کند و از داده ها در برابر دسترسی غیرمجاز محافظت می کند. Certbot فرآیند نصب و تمدید یک گواهی SSL را ساده می کند. این گواهی نه تنها امنیت را افزایش می دهد، بلکه اعتماد کاربران را به منبع وب شما افزایش می دهد و در نتیجه هم شهرت سایت و هم رتبه بندی موتورهای جستجوی آن را بهبود می بخشد.

نصب Certbot

Certbot به طور پیش فرض در اکثر توزیع ها گنجانده شده است، بنابراین باید آن را نصب کنید دبیان / اوبونتو سیستم ها، فقط باید لیست بسته را به روز کنید:

apt update

سپس، فرآیند نصب را آغاز کنید:

apt install certbot

Certbot از افزونه هایی پشتیبانی می کند که راه اندازی و پیکربندی گواهی را برای یک وب سرور تسهیل می کند. برای نصب این افزونه ها از دستور مربوطه استفاده کنید:

apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache

فرآیند نصب برای ردهت سیستم ها (مانند ریل, لینوکس, کلاه نمدی مردانه) کمی متفاوت است. در ابتدا باید مخزن EPEL را اضافه کنید:

yum install epel-release

سپس ابزار را نصب کنید:

yum install certbot

به طور مشابه، گزینه ای برای انتخاب یک افزونه برای یک وب سرور خاص وجود دارد:

yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache

پس از نصب، می توانید بلافاصله نسبت به دریافت گواهی اقدام کنید.

دریافت گواهی SSL

در این بخش، فرآیند دریافت گواهی مستقل از یک وب سرور خاص را مورد بحث قرار می دهیم و سپس مراحل نصب گواهی را برای Nginx و Apache شرح می دهیم. با این حال، ابتدا ضروری است که نحو و عملکرد برنامه را درک کنید. به صورت زیر ظاهر می شود:

certbot command option -d domain

دستورات اصلی عبارتند از:

certbot certonly - گواهی را بازیابی می کند اما آن را نصب نمی کند.
certbot certificates - این دستور لیستی از تمام گواهی های نصب شده را نمایش می دهد.
certbot renew - گواهی موجود را تمدید می کند.
certbot revoke - گواهی موجود را باطل می کند.
certbot delete - گواهی موجود را حذف می کند.

رایج ترین گزینه های مورد استفاده عبارتند از:

--nginx - از اسکریپت های پیکربندی Nginx برای تأیید دامنه استفاده می کند.
--apache - از اسکریپت های پیکربندی آپاچی برای تأیید دامنه استفاده می کند.
-d - لیست دامنه هایی که گواهی برای آنها درخواست شده است.
--standalone - از حالت مستقل برای تأیید دامنه استفاده می کند.
--manual - تایید دستی دامنه را انجام می دهد.

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

certbot –help
بخش راهنما ابزار Certbot

اکنون برای دریافت گواهینامه اقدام می کنیم. به عنوان مثال، گواهینامه ای برای a دریافت می کنیم سرور مجازی برای یک دامنه سطح سوم رایگان مانند yourusername.pserver.space

ابتدا باید دستور را وارد کنید:

certbot certonly

در پاسخ، ابزار از شما می خواهد که روشی را برای تأیید مالکیت دامنه انتخاب کنید:

نحوه دریافت گواهی Certbot SSL

اگر یک وب سرور پیکربندی شده ندارید یا نمی خواهید در یک موجود تغییر ایجاد کنید، گزینه اول راحت است. این روش یک وب سرور موقت ایجاد می کند تا حق شما بر دامنه را تأیید کند. برای راه اندازی ساده و سریع ایده آل است. هنگام انتخاب این روش، مهم است که پورت 80 را آزاد نگه دارید.

اگر از قبل یک وب سرور دارید و می خواهید از آن برای تأیید حق دامنه استفاده کنید، گزینه دوم ترجیح داده می شود. Certbot فایل های خاصی را در پوشه ای روی سرور شما قرار می دهد که سپس توسط مرکز صدور گواهی بررسی می شود.

اولین گزینه را انتخاب کرده و روی next کلیک می کنیم. در این مرحله، شما باید:

  1. آدرس ایمیل را وارد کنید؛
  2. موافقت با شرایط خدمات؛
  3. موافقت یا امتناع از دریافت ایمیل از طرف شرکت و شرکای آن؛
  4. نام دامنه ای که گواهی برای آن صادر شده است را مشخص کنید.
داده های دریافت گواهی SSL

پس از تکمیل فرآیند صدور گواهی با ابزار Certbot، مسیر دایرکتوری را نشان می دهد که گواهی صادر شده و داده های حساب شما در آن ذخیره می شود:

داده های گواهی SSL به دست آمده

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

نصب گواهی برای Nginx یا Apache

این بخش فرض می کند که برخی از شرایط اساسی برآورده شده است:

  1. شما قبلاً یک وب سرور، Nginx یا Apache را نصب و پیکربندی کرده اید. باید از طریق اینترنت از طریق نام دامنه ای که قصد دریافت گواهینامه را دارید، قابل دسترسی باشد.
  2. در حین نصب ابزار، با استفاده از دستور مناسب، افزونه ای برای Nginx یا Apache نیز نصب کردید.
  3. فایروال امکان اتصال در پورت های 80 و 443 را فراهم می کند. اگر این پورت ها برای اتصالات بسته باشند، سرویس برای اتصالات ورودی در دسترس نخواهد بود. برای جزئیات بیشتر در مورد عملکرد فایروال، در این مقاله در مورد آن بحث کردیم راه اندازی فایروال در لینوکس.

پس از برآورده شدن همه شرایط، می توانید مستقیماً به صدور گواهینامه اقدام کنید. ما فرآیند دریافت گواهی SSL در سرور با استفاده از Nginx را به عنوان مثال در نظر خواهیم گرفت. با این حال، اگر از وب سرور آپاچی استفاده می کنید، فرآیند کاملاً یکسان است.

برای دریافت گواهی باید دستور زیر را وارد کنید:

certbot --nginx # for Nginx
certbot --apache # for Apache

در پاسخ، ابزار درخواست خواهد کرد: یک آدرس ایمیل، رضایت با شرایط استفاده از سرویس Let's Encrypt، و اجازه ارسال ایمیل از طرف سرویس و شرکای آن.

دریافت گواهی SSL برای Nginx و Apache

پس از آن، باید نام دامنه ای که گواهی برای آن صادر شده است را مشخص کنید. Certbot می تواند به طور خودکار دامنه را در صورتی که در آن مشخص شده است تعیین کند نام ارائهکننده زمینه برای Nginx پیکربندی یا نام ارائهکننده و ServerAlias برای آپاچی. اگر مشخص نشده باشد، برنامه به شما اطلاع می دهد و از شما می خواهد که نام دامنه را به صورت دستی وارد کنید. سپس، ابزار از شما می‌پرسد که آیا تغییر مسیر درخواست‌ها از پروتکل HTTP به پروتکل HTTPS فعال شود یا خیر. برای تنظیم تغییر مسیر خودکار، باید گزینه دوم را انتخاب کنید:

تغییر مسیر درخواست ها از HTTP به HTTPS

پس از مدتی Certbot شما را از کسب موفقیت آمیز گواهی برای دامنه مشخص شده مطلع می کند. از این نقطه به بعد، تمام اتصالات ورودی از پورت 80 به 443 هدایت می شوند. این ابزار دایرکتوری هایی را نشان می دهد که در آنها می توانید تمام داده های گواهی و جزئیات حساب Let's Encrypt را پیدا کنید:

صدور موفقیت آمیز گواهی Certbot

این پیام همچنین مدت اعتبار گواهی به دست آمده و گزینه های مهم برای مدیریت تمام گواهی های فعال را مشخص می کند:

  1. قطعا. این گزینه برای دریافت یا به روز رسانی گواهی بدون پیکربندی وب سرور خودکار استفاده می شود. Certbot فقط گواهی را درخواست یا به روز می کند اما هیچ تغییر خودکاری در پیکربندی سرور ایجاد نمی کند. قبلاً از این گزینه برای دریافت گواهی بدون اتصال به وب سرور استفاده می کردیم.
  2. تجدید کردن برای تمدید خودکار کلیه گواهی هایی که از طریق Certbot به دست آمده اند و در مدت اعتبار آنها هستند استفاده می شود. این برنامه همه گواهینامه ها را بررسی می کند و اگر هر یک از آنها ظرف 30 روز یا کمتر منقضی شود، به طور خودکار تمدید می شود.

در ادامه در دستورالعمل، نحوه راه اندازی تمدید خودکار گواهینامه ها بدون دخالت کاربر هر سه ماه یکبار بحث خواهیم کرد.

تمدید خودکار گواهی در Certbot

برای دبیان/اوبونتو

هنگام استفاده از این سیستم عامل ها، Certbot به طور خودکار یک اسکریپت را برای تمدید خودکار گواهی های نصب شده به لیست وظایف اضافه می کند. با دستور زیر می توانید عملکرد اسکریپت را بررسی کنید:

systemctl status certbot.timer
بررسی وضعیت سرویس certbot.timer

پاسخ وضعیت سرویس و همچنین دایرکتوری حاوی فایل پیکربندی را نمایش می دهد. شما می توانید این را با استفاده از هر ویرایشگر متنی باز کنید. اگر با ویرایشگرهای متن در لینوکس تجربه ندارید، توصیه می کنیم با آن آشنا شوید نمای کلی ما از محبوب ترین راه حل ها در این مورد از نانو استفاده خواهیم کرد:

nano /lib/systemd/system/certbot.timer
مشاهده پیکربندی certbot.timer

تمام پارامترهای مهم برجسته شده اند:

  1. برنامه نشان می دهد که این سرویس دو بار در روز در ساعت 00:00 و 12:00 اجرا می شود.
  2. مقدار دوم نشان دهنده تاخیر تصادفی در چند ثانیه است که به شروع تایمر اضافه می شود. در این حالت 43,200 ثانیه (12 ساعت) است که پرتاب را تصادفی تر می کند و بار را پخش می کند.
  3. این پارامتر تضمین می کند که اگر قرار بود تایمر در حین خاموش شدن سیستم اجرا شود، بلافاصله پس از راه اندازی فعال می شود.

همچنین می توانید یک بررسی اجباری تمدید گواهی را با دستور زیر اجرا کنید:

certbot renew --dry-run

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

برای CentOS، Fedora و دیگران

روند فعال کردن به‌روزرسانی‌های خودکار در سیستم‌های خانواده Red Hat کمی متفاوت است. برخلاف Debian/Ubuntu، برای CentOS و سایر سیستم‌ها، باید به صورت دستی یک کار را به زمان‌بندی اضافه کنید. برای این کار از cron را ابزار:

crontab -e

سپس در فایلی که باز می شود خط زیر را اضافه کنید:

0 12 * * * /usr/bin/certbot renew --quiet

بیایید آرگومان های اصلی دستور را بشکنیم:

  1. زمان اجرا در این حالت، دستور به طور خودکار در ساعت 12:00 هر روز اجرا می شود.
  2. فرمان تمدید گواهینامه های SSL/TLS با استفاده از Certbot؛
  3. La --ساکت پرچم خروجی را سرکوب می‌کند و فرآیند را مخفی‌تر می‌کند و در گزارش‌ها یا نمایش سیستم کمتر مداخله می‌کند.

پس از افزودن دستور، باید تغییرات را در فایل ذخیره کنید.

درست مانند دبیان/اوبونتو، می‌توانید یک بررسی اجباری از تمدید گواهی را نیز آغاز کنید:

certbot renew --dry-run

نتیجه اجرای موفقیت آمیز دستور به صورت زیر است:

نتیجه بررسی موفقیت آمیز فرمان تجدید

نتیجه

ما روند جامع نصب و پیکربندی Certbot در سرور لینوکس را بررسی کرده ایم. با پیروی از دستورالعمل‌های ارائه شده، می‌توانید با موفقیت گواهی SSL/TLS را از Let's Encrypt دریافت کنید، آن را روی سرور وب خود نصب کنید و تمدید خودکار را پیکربندی کنید تا از محافظت مداوم و افزایش اعتماد به منبع وب خود اطمینان حاصل کنید. با Certbot به راحتی می توانید یک محیط مطمئن و امن برای کاربران ایجاد کنید.

❮ مقاله قبلی کاهش بار سرور
مقاله بعدی ❯ مدیران بسته لینوکس

VPS را از ما بخواهید

ما همیشه آماده پاسخگویی به سوالات شما در هر ساعت از شبانه روز هستیم.