آذرسیس

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

NGINX نرم افزاری متن باز است، این نرم افزار از طرف کاربران برای سرویس دهی وب، پروکسی معکوس، ذخیره سازی، ثبات بارگیری، پخش رسانه و موارد دیگر استفاده می شود.

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

همچنین Let’s Encrypt نیز یک مرجع مجوز رایگان و خودکار (CA) است و در راستای منافع عمومی اجرا می شود، این سرویس ارائه شده توسط گروه تحقیقاتی امنیت اینترنت (ISRG) است که به کاربران مجوزهای دیجیتالی می دهد.

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

  • با امتیازات Sudo به عنوان کاربری غیر روت وارد شوید و یک فایروال راه اندازی کنید.
  • حال که شما می خواهید Nginx را روی AlmaLinux نصب کنید، باید بلوک های سرور Nginx را راه اندازی نمایید.
  • باید یک نام دامنه ثبت شده داشته باشید.

اکنون می توانیم با خیال راحت به سراغ مراحل ایمن سازی Nginx با Let’s Encrypt برویم، از این که در این موضوع هم آذرسیس را انتخاب کرده اید به خود می بالیم.

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

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

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

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

نصب Certbot Let’s Encrypt Client

دستور زیر را برای اضافه کردن مخزن 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

مجوز SSL برای Let’s Encrypt 

در اینجا شما یک امتیاز 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 نهایت استفاده را داشته باشید، هم اکنون کارشناسان ما آماده پاسخگویی به سوالات فنی شما کاربران عزیز هستند.

Share this Post

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

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