آذرسیس

Lets Encrypt method to secure Nginx on AlmaLinux

NGINX نرم افزار متن بازی که می تواند از طرف کاربران برای سرویس دهی وب، پروکسی معکوس، ذخیره سازی، ثبات بارگیری، پخش رسانه و… استفاده شود. این سرور به صورت پایدار و ایمن ساخته شده است اما این پایداری به اندازه ای است که کاربر بتواند آن را پیکربندی کند، همچنین Nginx به عنوان یک متعادل کننده بار و مبتنی بر نرم افزار Nginx Plus می تواند مقرون به صرفه تر از راه حل های مبتنی بر سخت افزار با قابلیت مشابه باشد. در این میان Let’s Encrypt نیز یک مرجع مجوز رایگان و خودکار (CA) است که در راستای منافع عمومی اجرا می شود. این سرویس ارائه شده توسط گروه تحقیقاتی امنیت اینترنت (ISRG) است که به کاربران مجوزهای دیجیتالی را ارائه می دهد. این روش برای ایمن سازی Nginx در آلمالینوکس استفاده می شود، بیایید مراحل آنرا مورد بررسی قرار دهیم…

مراحل ایمن سازی Nginx با Let’s Encrypt

در این بخش مراحل ایمن سازی را به صورت دقیق به شما آموزش خواهیم داد، سعی کنید تا تمام مراحل را با دقت دنبال کنید زیرا عدم انجام یکی از مراحل باعث می شود مراحل بعدی به طور صحیح اجرا نشود:

پیش نیاز:

ما در این مقاله می خواهیم نحوه ایمن سازی Nginx با Let’s Encrypt در AlmaLinux را به شما آموزش دهیم، اما قبل از آغاز پروسه ایمن سازی از داشتن این پیش نیازها مطمئن شوید:

  • کاربر غیر Root با امتیازات Sudo 
  • راه اندازی و پیکربندی یک فایروال 
  • راه اندازی بلوک های سرور Nginx
  • تهیه یک نام دامنه ثبت شده 

روش Let's Encrypt برای ایمن کردن Nginx در AlmaLinux

مرحله 1: نصب Certbot Let’s Encrypt Client

بسته Certbot در مدیریت بسته DNF به طور پیش فرض قابل دسترس نبوده و برای این کار شما باید به عنوان اولین اقدام مخزن EPEL را فعال کنید.

روش Let's Encrypt برای ایمن کردن Nginx در AlmaLinux

دستور زیر را برای اضافه کردن مخزن EPEL در AlmaLinux اجرا کنید:

sudo dnf install epel-release

اکنون می توانید تمام بسته های Certbot را با دستور زیر نصب کنید:

sudo dnf install certbot python3-certbot-nginx

در این مرحله کلاینت Let’s Encrypt نصب شده است و برای دریافت مجوز ها باید ابتدا تنظیمات فایروال خود را به روز رسانی کنید.

مرحله 2: بروز رسانی تنظیمات فایروال

برای بررسی اینکه در حال حاضر کدام سرویس ها فعال هستند، دستور زیر را اجرا کنید:

sudo firewall-cmd --permanent --list-all

نکته: اگر HTTP و HTTPS در لیست خروجی شما وجود نداشت، دستورات زیر را برای فعال سازی آنها اجرا کنید:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

برای اعمال تغییرات ذکر شده، فایروال را با دستور زیر مجدداً بارگذاری کنید:

sudo firewall-cmd --reload

اکنون پس از طی کردن مراحل بالا شما آماده دریافت مجوز SSL خود هستید.

مرحله 3: دریافت مجوز SSL با Let’s Encrypt

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

نکته: در اینجا نام دامنه ما nginx.your_domain_name است، یعنی شما باید این عبارت را با نام دامنه خود در دستورات جایگزین کنید:

sudo certbot --nginx -d nginx.your_domain_name -d www.nginx.your_domain_name

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

sudo certbot --nginx -d nginx.your_domain_name

در این قسمت از شما خواسته می شود تا آدرس ایمیل خود را وارد کرده و سپس با شرایط خدمات موافقت کنید. در طول فرآیند درخواست مجوز برای اطلاعات دامنه دستور Certbot را بدون هیچ دامنه ای درخواست کنید:

sudo certbot --nginx

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

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

https://www.ssllabs.com/ssltest/analyze.html?d=nginx.your_domain_name

روش Let's Encrypt برای ایمن کردن Nginx در AlmaLinux

در اینجا شما یک امتیاز A از مجوز SSL خود دریافت خواهید کرد که می توانید با استفاده از پیشوند HTTP به وب سایت خود دسترسی پیدا کنید. اکنون باید مجوزها را به صورت دوره ای تمدید کنید تا این تنظیمات به کار خود ادامه دهند. برای انجام این کار لازم است تا مراحل بعدی آموزش را دنبال کنید.

مرحله 4: تنظیم تمدید خودکار مجوزهای SSL

مجوز های Let’s Encrypt به مدت 90 روز معتبر هستند، اما توصیه می شود هر 60 روز یک بار آن ها را تمدید کنید که با دستور زیر می توانید تمدید خودکار Certbot Nginx مجوز های خود را آزمایش کنید:

sudo certbot renew --dry-run

نکته: ایجاد Cron Job که هر هفته یا حتی هر روز اجرا می شود بی خطر است.

برای ویرایش Crontab برای کاربر Root دستور زیر را اجرا کنید:

sudo crontab -e

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

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew --quiet

پس از اتمام کار، فایل را ذخیره کرده و با علامت “:wq” آن را ببندید، اکنون پس از طی این مراحل Nginx شما به وسیله Let’s Encrypt ایمن شده است.

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

سخن آخر

در این آموزش نصب کلاینت Certbot با Let’s Encrypt را به طور کامل شرح دادیم. با دانلود مجوزهای SSL برای دامنه و تنظیم تمدید خودکار مجوز یکی از مهم ترین بخش های این آموزش است. این مجوز ها فقط تا 90 روز اعتبار دارند، شما می توانید برای اطمینان از اینکه Nginx همیشه در امنیت کامل است، سعی کنید هر 60 روز یک بار نسبت به تمدید مجوز خودتان اقدام کنید. امیدواریم از مقاله نحوه ایمن کردن Nginx با Let’s Encrypt در AlmaLinux نهایت استفاده را داشته باشید، هم اکنون کارشناسان ما آماده پاسخگویی به سوالات فنی شما کاربران عزیز هستند…

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

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