Let’s Encrypt یک مجوز صدور گواهینامه (CA) است که روشی آسان برای به دست آوردن و نصب مجوزهای رایگان TLS / SSL فراهم می کند ، از این طریق HTTPS رمزگذاری شده را روی سرور مجازی های وب فعال می کند. در واقع با ارائه یک کلاینت نرم افزاری ، یعنی Certbot ، که سعی در خودکارسازی اکثر مراحل لازم دارد ، فرایند را ساده می کند. در حال حاضر ، کل مراحل اخذ و نصب گواهینامه هم در Apache و هم در Nginx کاملا به صورت اتوماتیک انجام می شود.
در این آموزش از Certbot برای دریافت گواهینامه رایگان SSL برای Apache روی Debian 9 استفاده می کنید و گواهی خود را برای تمدید خودکار تنظیم می کنید.
در این آموزش به جای فایل پیکربندی پیش فرض از یک فایل هاست مجازی Apache جداگانه استفاده خواهد شد. توصیه می کنیم برای هر دامنه فایل های جدید میزبان مجازی Apache ایجاد کنید زیرا این امر به جلوگیری از اشتباهات رایج کمک می کند و فایل های پیش فرض را به عنوان پیکربندی برگشت پذیر حفظ می کند.
پیش نیازها
برای دنبال کردن این آموزش ، به موارد زیر نیاز دارید:
• یک سرور مجازی Debian 9 که با دنبال کردن راهنمای ستاپ اولیه سرور مجازی Debian 9 تنظیم شده و شامل یک کاربر غیر root با امتیازات sudo و فایروال باشد.
• نام دامنه کاملاً ثبت شده. در این آموزش ، از example.com استفاده می شود. می توانید نام دامنه را در Namecheap خریداری کنید ، به صورت رایگان در Freenom دریافت کنید ، یا از ثبت دامنه مورد نظر خود استفاده کنید.
• هر دو فایل DNS زیر که برای سرور مجازی شما تنظیم شده اند. برای انجام این کار ، می توانید دستورالعمل های اضافه کردن دامنه ها و سپس دستورالعمل های ایجاد رکوردهای DNS را دنبال کنید.
o یک رکورد A با example.com که به آدرس IP عمومی سرور مجازی شما اشاره کند.
o یک رکورد A با www.example.com که به آدرس IP عمومی سرور مجازی شما اشاره کند.
• Apache که با دنبال کردن نحوه نصب Apache در Debian 9 نصب شده باشد. مطمئن شوید که یک فایل هاست مجازی برای دامنه خود تنظیم کرده اید. در این آموزش از /etc/apache2/sites-available/example.com.conf به عنوان نمونه استفاده می شود.
مرحله 1 – نصب Certbot
اولین قدم برای استفاده از Let’s Encrypt جهت دریافت گواهینامه SSL ، نصب نرم افزار Certbot در سرور مجازی شماست.
در حال حاضر ، Certbot به طور پیش فرض از مخازن نرم افزار Debian در دسترس نیست. برای دانلود نرم افزار با استفاده از apt ، باید مخازن backport را به فایل Source.list خود اضافه کنید جایی که apt به دنبال منابع بسته میباشد. backport ها بسته هایی از تست دبیان و توزیع های ناپایدار هستند که دوباره کامپایل می شوند بنابراین بدون کتابخانه های جدید در توزیع های دبیان پایدار اجرا می شوند.
برای اضافه کردن مخزن backports ، فایل sources.list را در دیرکتوری / etc / apt / خود باز کنید (یا ایجاد کنید):
$ sudo nano /etc/apt/sources.list

در انتهای فایل خط زیر را اضافه کنید:
/etc/apt/sources.list.d/sources.list
. . .
deb http://ftp.debian.org/debian stretch-backports main

شامل بسته های اصلی می باشد که سازگار با دستورالعمل های نرم افزار رایگان Debian (DFSG) و همچنین مولفه های non-free و contrib هستند که خود یا مطابق DFSG نیستند و یا متعلقاتی در این دسته دارند.
فایل را با زدن CTRL + X ، Y ، سپس enter ، ذخیره کرده و ببندید ، سپس لیست بسته های خود را به روز کنید:
$ sudo apt update

سپس Certbot را با دستور زیر نصب کنید. توجه داشته باشید که گزینه -t به apt میگوید که با جستجوی مخزن backports که اخیراً اضافه کردید به دنبال بسته باشد:
$ sudo apt install python-certbot-apache -t buster-backports

Certbot اکنون آماده استفاده است اما برای اینکه SSL برای Apache پیکربندی شود ، باید تأیید کنیم که Apache به درستی پیکربندی شده است.
مرحله 2 – تنظیم گواهی SSL
Certbot باید بتواند میزبان مجازی صحیح را در پیکربندی Apache شما پیدا کند تا SSL را به صورت خودکار پیکربندی کند. به طور خاص ، این کار را با جستجوی یک دستورالعمل ServerName انجام می دهد که با دامنه ای مطابق است که میخواهید برای آن مجوز بگیرید.
اگر مرحله آموزش میزبان مجازی را در آموزش نصب Apache دنبال کرده باشید ، باید یک بلوک VirtualHost برای دامنه خود در /etc/apache2/sites-available/example.com.conf با دستورالعمل ServerName که قبلاً به طور مناسب تنظیم شده است، داشته باشید.
برای بررسی ، فایل میزبان مجازی را برای دامنه خود با استفاده از nano یا ویرایشگر متن مورد علاقه خود باز کنید:
$ sudo nano /etc/apache2/sites-available/example.com.conf

خط ServerName موجود را پیدا کنید. باید مانند این باشد و نام دامنه شما به جای example.com قرار بگیرد:
/etc/apache2/sites-available/example.com.conf

ServerName example.com;

اگر قبلاً این کار را انجام نداده اید ، دستورالعمل ServerName را به روز کنید تا به نام دامنه شما اشاره کنید. سپس فایل را ذخیره کنید ، از ویرایشگر خود خارج شوید و ترکیب ویرایش های پیکربندی خود را تأیید کنید:
$ sudo apache2ctl configtest

اگر خطایی در دستور وجود نداشته باشد ، این خروجی را مشاهده خواهید کرد:
Output
Syntax OK

اگر خطایی رخ داد ، فایل هاست مجازی را مجدداً باز کنید و هرگونه اشتباه تایپی یا کاراکتر جا افتاده را بررسی کنید. پس از اینکه ترکیب فایل پیکربندی شما صحیح شد ، Apache را مجدد لود کنید تا پیکربندی جدید لود شود:
sudo systemctl reload apache2

Certbot اکنون می تواند بلوک صحیح VirtualHost را پیدا کرده و آن را به روز کند.
در مرحله بعد ، بیایید فایروال را به روز کنیم تا امکان ترافیک HTTPS را بدهیم.
مرحله 3 – اجازه ورود ترافیک HTTPS از طریق فایروال
اگر فایروال ufw را فعال کرده باشید ، همانطور که توسط راهنماهای پیش نیاز توصیه شده است ، برای تنظیم ترافیک HTTPS ، باید تنظیماتی را انجام دهید. خوشبختانه ، وقتی روی Debian نصب شده باشد ، ufw با چند پروفایل بسته بندی می شود که به ساده کردن روند تغییر قوانین فایروال برای ترافیک HTTP و HTTPS کمک می کند.
با تایپ دستور زیر می توانید تنظیم فعلی را مشاهده کنید:
$ sudo ufw status

اگر از مرحله 2 راهنمای ما در مورد چگونگی نصب Apache در Debian 9 استفاده کرده باشید، خروجی دستور اینگونه خواهد بود ، نشان می دهد که فقط ترافیک HTTP به سرور مجازی وب مجاز است:
Output
Status: active

To Action From
— —— —-
OpenSSH ALLOW Anywhere
WWW ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW (v6) ALLOW Anywhere (v6)

برای اجزاه ترافیک HTTPS بیشتر، به پروفایل “WWW Full” مجوز بدهید و بخش اضافی “WWW” را حذف کنید:
$ sudo ufw allow ‘WWW Full’

$ sudo ufw delete allow ‘WWW’

وضعیت شما اکنون باید به این شکل باشد:
$ sudo ufw status

Output
Status: active

To Action From
— —— —-
OpenSSH ALLOW Anywhere
WWW Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW Full (v6) ALLOW Anywhere (v6)

سپس ، بیایید Certbot را اجرا کنیم و گواهینامه هایمان را دریافت کنیم.
مرحله 4 – اخذ گواهینامه SSL
Certbot روشهای مختلفی برای گرفتن گواهینامه های SSL از طریق افزونه ها ارائه می دهد. افزونه Apache از پیکربندی مجدد Apache و لود مجدد تنظیمات در صورت لزوم مراقبت خواهد کرد. برای استفاده از این افزونه ، دستور زیر را تایپ کنید:
$ sudo certbot –apache -d example.com -d www.example.com

این کار Certbot را با افزونه –apache با استفاده از -d برای مشخص کردن نام هایی که معتبر آن هستند اجرا میکند.
اگر اولین بار است که Certbot را اجرا میکنید ، از شما خواسته می شود که آدرس ایمیل را وارد کنید و با شرایط سرویس ها موافقت کنید. بعد از انجام این کار ، certbot با سرور مجازی Let’S Encrypt ارتباط برقرار می کند ، سپس برای تأیید اینکه دامنه مورد نظر خود را کنترل می کنید ، یک چالش اجرا کنید.
اگر موفقیت آمیز باشد ، certbot از شما می پرسد که چگونه می خواهید تنظیمات HTTPS خود را پیکربندی کنید:
Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
——————————————————————————-
1: No redirect – Make no further changes to the webserver configuration.
2: Redirect – Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you’re confident your site works on HTTPS. You can undo this
change by editing your web server’s configuration.
——————————————————————————-
Select the appropriate number [1-2] then [enter] (press ‘c’ to cancel):

گزینه خود را انتخاب کنید و سپس ENTER بزنید. پیکربندی به طور خودکار به روز می شود ، و Apache برای انتخاب تنظیمات جدید مجدد لود می شود. certbot با پیغامی همراه خواهد بود که به شما می گوید روند موفقیت آمیز بوده و گواهی نامه های شما در کجا ذخیره شده است:
Output
IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Your cert will expire on 2018-12-04. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the “certonly” option. To non-interactively renew *all* of
your certificates, run “certbot renew”
– Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
– If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

گواهینامه های شما دانلود ، نصب و لود می شوند. سعی کنید وب سایت خود را با استفاده از https: // مجدد لود کنید و به نشانگر امنیتی مرورگر خود توجه کنید. باید نشان دهد که سایت به طور صحیح ایمن است ، معمولاً با نماد قفل سبز انجام میشود. اگر سرور مجازی خود را با استفاده از SSL Labs Server Test آزمایش کنید ، درجه A دریافت می کند.
بیایید با آزمایش روند تجدید کار را به پایان برسانیم.
مرحله 5 – تأیید تمدید خودکار Certbot
گواهی های Let’s Encrypt فقط برای نود روز اعتبار دارند. این امر برای ترغیب کاربران به اتوماسیون کردن فرایند تجدید گواهینامه میباشد. بسته certbot که نصب کردیم با اضافه کردن یک اسکریپت تجدید به /etc/cron.d از این امر مراقبت می کند. این اسکریپت روزانه دو بار اجرا می شود و به طور خودکار هر مدرکی را که کمتر از سی روز از انقضای آن مانده ، تمدید می کند.
برای آزمایش فرایند تجدید ، می توانید با استفاده از certbot این دستور را اجرا کنید:
$ sudo certbot renew –dry-run

اگر خطایی نمی بینید ، همه تنظیمات انجام شده است. در صورت لزوم ، Certbot گواهی های شما را تمدید کرده و Apache را مجدد لود می کند تا تغییرات را اعمال کند. اگر فرایند تمدید خودکار زمانی از کار نافتد ، Let’s Encrypt پیامی را به ایمیلی که مشخص کرده اید ، ارسال می کند و به شما هشدار می دهید که گواهی شما رو به پایان است.
نتیجه
در این آموزش ، کلاینت let’s Encrypt certbot را نصب کردید ، گواهینامه های SSL را برای دامنه خود دانلود کردید ، Apache را برای استفاده از این گواهینامه ها پیکربندی کرده و تمدید خودکار گواهی نامه را فعال نمودید. اگر سؤال دیگری در مورد استفاده از Certbot دارید ، مراجعه به مطالب مربوطه آنها توصیه میشود.

 

 

نحوه تنظیم برنامه Node.js برای تولید در اوبونتو 20.04

نحوه نصب وردپرس در اوبونتو 20.04 با پشته LAMP

نصب و پیکربندی Postfix به عنوان سرور SMTP به صورت Send-Only در اوبونتو 20.04

نحوه ایجاد یک گواهی SSL خود-امضا شده برای Apache در اوبونتو 20.04

نحوه متمرکز کردن ورود ها با Journald در اوبونتو 20.04

نحوه ایمن کردن Apache با Let’s Encrypt در Debian 9

نحوه نصب و ایمن سازی phpMyAdmin در Debian 9

نصب و پیکربندی Postfix به عنوان سرور SMTP به صورت Send-Only در Debian 9

نحوه نصب و پیکربندی Nextcloud در Debian 901

نحوه تنظیم Jupyter Notebook با پایتون 3 در Debian 9

 

 

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکاخرید سرور مجازی ارزان هلندvpsخرید vps هلندخرید سرور مجازی آمریکاخرید vps فرانسهتست vpsسرور مجازی تستسرور مجازی ویندوزارزانترین vpsخرید وی پی اسvps ارزان – 

 

 

برچسب‌ها: