وب سایت ها شامل رمزگذاری SSL/TLS برای دامنه آن برای جذب بازدید کنندگان است. در این مقاله استفاده از ابزار Certbot برای به دست آوردن گواهینامه های TLS/SSL برای NGINX توضیح داده شده است.
بررسی اجمالی
هر وب سایتی که به دنبال جذب بازدید کنندگان باشد ، باید شامل رمزگذاری TLS/SSL برای دامنه آن باشد. گواهینامه های رایگان SSL اطمینان حاصل می کنند که بین سرور وب شما دوست دارید رمزگذاری و مرورگرهای برنامه را ایمن کنید. بیایید رمزگذاری یک مجوز مجوز رایگان ، خودکار و باز است که به شما امکان می دهد چنین محافظتی را برای NGINX SSL Letsencrypt تنظیم کنید. بیایید گواهینامه های SSL رایگان را رمزگذاری کنیم توسط همه مرورگرهای اصلی و برای 90 روز آینده از تاریخ انتشار معتبر است. این پست وبلاگ ساده ترین روش برای رمزگذاری و امنیت NGINX در اجرای سرور وب در اوبونتو 20.04 / 18.04 را با به دست آوردن گواهینامه های NGINX HTTPS با استفاده از ابزار NGINX CERTBOT و تنظیم گواهینامه های خود برای تجدید خودکار آن توضیح می دهد. بیایید تنظیمات Ubuntu nginx را شروع و راه اندازی کنیم.
- وابستگی ها و پیش نیازها
- نصب ابزار Certbot
- تأیید پیکربندی nginx
- اجازه دادن https از طریق فایروال
- دریافت گواهینامه SSL
- نتیجه
اولین چیزها اول: وابستگی ها و پیش نیازها
برای پیروی از این مقاله ، برای نصب برنامه های کاربردی letsencrypt ubuntu nginx ، نیاز به وابستگی ها و پیش نیازها دارید:
- یک کاربر غیر ریشه یا ریشه در دستگاه های محلی/از راه دور.
- سیستمی که اوبونتو 20.04 یا اوبونتو 18.04 را اجرا می کند
- دسترسی به یک ترمینال خط فرمان
- امتیازات سودو یا ریشه در دستگاه های محلی/از راه دور
- nginx نصب و تنظیم شده است
- یک نام دامنه ثبت شده با اشاره به IP عمومی
- یک سرور سرور برای آن نام دامنه پیکربندی شده است
- فایروال برای پذیرش اتصالات در درگاه های 80 و 443 پیکربندی شده است.
مرحله 1 - نصب Certbot
مرحله اول برای تأمین NGINX و رمزگذاری Nginx با Let’s Encrypt نصب بسته بندی NGINX CERTBOT کاملاً برجسته و استفاده آسان برای به دست آوردن و تمدید اجازه می دهد تا گواهینامه های SSL را روی سرور خود رمزگذاری کنیم. برای انجام این کار ، با باز کردن یک ترمینال در اوبونتو و به روزرسانی مخزن محلی شروع کنید. Y را تایپ کرده و در صورت درخواست وارد شوید.
sudo apt update
sudo apt install certbot python3-certbot-nginx
اکنون بیایید برخی از تنظیمات پیکربندی امن Nginx را تأیید کنیم.
مرحله 2 - تأیید پیکربندی Nginx
همانطور که در بخش وابستگی ها و پیش نیازها توضیح داده شده است ، شما باید در حال حاضر یک دامنه ثبت شده داشته باشید و Certbot باید بتواند بلوک سرور صحیح NGINX را برای آن دامنه پیدا کند تا به طور خودکار SSL را پیکربندی کند. به عنوان نمونه ، این پست وبلاگ از Domain blog.containerize.com و بلوک سرور برای دامنه خود در /etc/nginx/sites-available/blog.containerize.com با دستورالعمل server_name استفاده می کند. برای تأیید ، فایل پیکربندی دامنه خود را با استفاده از Nano یا ویرایشگر متن مورد علاقه خود باز کنید:
sudo nano /etc/nginx/sites-available/blog.containerize.com
خط دستورالعمل Server_Name موجود را در File /etc/nginx/sites-available/blog.containerize.com پیدا کنید. می بایست شبیه به این باشه:
...
server_name blog.containerize.com www.blog.containerize.com;
...
اکنون نحو پرونده های پیکربندی nginx خود را تأیید کرده و سرور NGINX را بارگیری مجدد کنید تا تنظیمات جدید پیکربندی را بارگیری کنید:
sudo nginx -t
sudo systemctl reload nginx
Certbot Utility اکنون می تواند دستورالعمل صحیح سرور Nginx را برای تأمین امنیت NGINX پیدا کند و آن را به طور خودکار به روز کند. در مرحله بعدی ، اجازه دهید فایروال را به روز کنیم تا امکان ترافیک HTTPS فراهم شود.
مرحله 3 - اجازه دادن HTTPS از طریق فایروال
همانطور که در این مقاله توصیه شده است پیش نیازهای شما باید تنظیمات را تنظیم کنید تا ترافیک HTTPS امکان پذیر باشد. برای اطمینان از فعال و فعال فایروال ، دستور زیر را اجرا کنید:
sudo ufw status
خروجی باید به شما بگوید UFW فعال است و لیستی از قوانین تعیین شده را به شما ارائه می دهد. این فقط نشان می دهد که ترافیک HTTP به سرور وب مجاز است. برای اجازه دادن به ترافیک رمزگذاری شده ، می توانید نمایه nginx https را اضافه کنید یا از NGINX Full استفاده کرده و قانون NGINX HTTP موجود را حذف کنید. با تایپ کردن دستور ، ترافیک nginx https را مجاز کنید:
sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'
قانون HTTPS را که اجازه می دهد تا با تایپ دستور وضعیت UFW ، ترافیک HTTPS را تأیید کنید ، تأیید کنید:
sudo ufw status
در مرحله بعد ، اجازه دهید Certbot را اجرا کنیم و گواهینامه های خود را واکشی کنیم.
مرحله 4 - دریافت گواهینامه SSL
افزونه NGINX برای Certbot از تنظیم مجدد NGINX مراقبت می کند و در صورت لزوم پیکربندی آن را بارگیری مجدد می کند. بنابراین ، فقط شما باید با اجرای دستور زیر گواهینامه هایی را با افزونه Nginx ایجاد کنید:
sudo certbot --nginx -d blog.containerize.com -d www.blog.containerize.com
اگر این اولین بار است که Certbot Utility در حال اجرا است ، Certbot از شما می خواهد تنظیمات HTTPS خود را پیکربندی کنید. از شما خواسته می شود یک آدرس ایمیل وارد کنید و با شرایط خدمات موافقت کنید. پس از ورود به سیستم ، پیکربندی به روز می شود و NGINX برای انتخاب تنظیمات جدید بارگیری مجدد می شود. سرانجام ، Certbot با پیامی به شما می گوید که یک گواهی با موفقیت تولید شده و گواهینامه های شما در کجا ذخیره می شود. گواهینامه های شما بارگیری ، نصب و بارگذاری شده با گواهی NGINX SSL LetSencrypt. سعی کنید وب سایت خود را با استفاده از https: // بارگیری کنید و به نشانگر امنیتی مرورگر خود توجه کنید. باید نشان دهد که سایت به درستی ایمن است ، معمولاً با یک نماد قفل. اگر سرور خود را با استفاده از تست SSL Labs Server تست کنید ، یک درجه A برای NGINX دریافت می کند و LetSencrypt را دریافت می کند. بیایید با آزمایش روند تمدید به پایان برسیم.
مرحله 5-تأیید اعتبار مجدد Certbot
از آنجا که اجازه می دهیم گواهینامه های رمزگذاری شده هر نود (90) روز منقضی شوند و NGINX SSL اجازه می دهد تا کاربران را برای تنظیم کار و تمدید خودکار کرون تشویق کنند. ابتدا پرونده پیکربندی Crontab را برای کاربر فعلی باز کنید:
sudo crontab -e
یک کار CRON را اضافه کنید که دستور Certbot را اجرا کند ، Certbot Disee Nginx در صورت تشخیص گواهی در مدت 30 روز ، گواهی را تمدید می کند. آن را برای اجرای روزانه در یک زمان مشخص به عنوان مثال 05:00 A.M.
sudo certbot renew --dry-run
کار Cron همچنین باید مانند دستور بالا ، ویژگی –quiet را شامل شود. این به NGINX که گواهی SSL را تمدید می کند ، پس از انجام کار ، هیچ گونه خروجی را شامل نمی شود. تمدید گواهینامه خودکار را فعال کنید. پس از اضافه کردن کار Cron ، تغییرات را ذخیره کرده و از پرونده خارج شوید.
نتیجه
در این مقاله ، ما یاد گرفتیم که چگونه NGINX را نصب کنیم و گواهی SSL را نصب کنیم. ما گواهینامه های SSL را برای دامنه شما بارگیری کردیم و NGINX را برای استفاده از این گواهینامه ها پیکربندی کردیم. علاوه بر این ، شما باید Certbot را فعال کنید تا گواهینامه ها را به طور خودکار برای SSL Nginx letsencrypt تمدید کند. در آموزش های آینده ما ، ما در مورد موضوعات جالب تر در مورد چگونگی تأمین امنیت یک سرور وب با فناوری امنیتی استاندارد که امکان ارتباط رمزگذاری شده بین یک مرورگر وب و یک سرور وب را فراهم می کند ، بحث خواهیم کرد. _ شما می توانید در توییتر ، LinkedIn و صفحه Facebook ما به ما بپیوندید. از چه پروتکل رمزنگاری برای ارائه امنیت ارتباطات از طریق شبکه رایانه استفاده می کنید؟ اگر سوالی دارید ، لطفاً با شما در تماس باشید.
کاوش کنید
ممکن است پیوندهای مربوط به زیر را برای نظارت بر عملکرد سرور و اطمینان از قابلیت اطمینان و امنیت آن پیدا کنید: