اکثر گواهی های Let’s Encrypt با استفاده از اعتبار HTTP صادر می شوند که امکان نصب آسان گواهینامه ها در یک سرور مجازی واحد را نیز می دهد. با این حال ، اعتبار سنجی HTTP همیشه برای صدور گواهی ها برای استفاده در وب سایت های دارای بار بالانس شده مناسب نیست و همچنین نمی توان از آن برای صدور گواهی های wildcard استفاده کرد.
اعتبار سنجی DNS اجازه می دهد تا درخواست های صدور گواهی با استفاده از سوابق DNS تأیید شود ، نه اینکه با ارائه محتوا از طریق HTTP انجام شود. این بدان معناست که می توان گواهی هایی را به طور همزمان برای خوشه ای از سرور مجازی های وب در حال اجرا در ورای متعادل کننده بار ، یا برای سیستمی که به طور مستقیم از طریق اینترنت قابل دسترسی نیست ، صادر کرد. گواهینامه های Wildcard نیز با استفاده از اعتبار سنجی DNS پشتیبانی می شوند.
از ابزار acme-dns-certbot برای اتصال Certbot به سرور مجازی DNS شخص ثالث استفاده می شود که در آن می توانید سوابق اعتبار سنجی گواهینامه را هنگام درخواست مجوز به طور خودکار از طریق API تنظیم کنید. مزیت این امر این است که شما نیازی به ادغام Certbot به طور مستقیم با حساب ارائه دهنده DNS خود ندارید ، و همچنین نیازی به دسترسی نامحدود به تنظیمات کامل DNS نیست ، که به امنیت بیشتر منجر میشود.
نواحی DNG مشخص شده به منظور تغییر مسیر جستجوی سوابق تأیید گواهی برای سرویس DNS شخص ثالث مورد استفاده قرار می گیرند ، بنابراین پس از اتمام ستاپ اولیه ، می توانید بدون نیاز به انجام هرگونه اعتبارسنجی دستی ، به همان تعداد گواهینامه درخواست کنید.
یکی دیگر از مزیت های مهم acme-dns-certbot این است که می توان از آن برای صدور گواهینامه برای سرور مجازی های جداگانه ای استفاده کرد که ممکن است در ورای بالانسر قرار داشته باشند ، یا در غیر این صورت مستقیماً از طریق HTTP قابل دسترسی نباشند. اعتبار سنجی گواهی HTTP معمول در این موارد قابل استفاده نیست ، مگر اینکه فایل های اعتبار سنجی را روی هر سرور مجازی تنظیم کنید. همچنین اگر می خواهید گواهینامه ای برای سرور مجازی هایی که از طریق اینترنت قابل دسترسی نیستند ، مانند سیستم داخلی یا محیط مرحله سازی ، صادر کنید ، ابزار Acme-dns-certbot مفید خواهد بود.
در این آموزش ، از قلاب acme-dns-certbot برای Certbot برای صدور گواهی رمزگذاری رمزگذاری با استفاده از اعتبار سنجی DNS استفاده می کنید.
پیش نیازها
برای تکمیل این آموزش ، به موارد زیر نیاز دارید:
سرور مجازی Ubuntu 18.04 که با دنبال کردن راه اندازی اولیه سرور مجازی با اوبونتو 18.04 تنظیم شده باشد ، و شامل یک کاربر غیر ریشه sudo باشد.
• نام دامنه ای که می توانید برای آن گواهی TLS دریافت کنید ، از جمله امکان اضافه کردن سوابق DNS. در این مثال خاص ، ما از your-domain و subdomain.your-domain و همچنین *.your-domain برای یک گواهی wildcard استفاده خواهیم کرد. با این وجود در صورت لزوم می توان آن را برای دامنه ها، زیر دامنه ها یا wildcard های دیگر تنظیم کرد.
پس از آماده شدن ، به عنوان کاربر غیر ریشه خود وارد سرور مجازی شوید.
مرحله 1 – نصب Certbot
در این مرحله Certbot را نصب خواهید کرد ، این برنامه برای صدور و مدیریت گواهی های Let’s Encrypt استفاده می شود.
Certbot در مخازن رسمی اوبونتو Apt موجود است ، اما در عوض توصیه می شود از مخزن نگهداری شده توسط توسعه دهندگان Certbot استفاده کنید ، زیرا همیشه به روزترین نسخه نرم افزار را دارد.
با اضافه کردن مخزن Certbot شروع کنید:
⦁ $ sudo apt-add-repository ppa:certbot/certbot

برای قبول اعلان و افزودن مخزن جدید به سیستم خود ، باید ENTER را فشار دهید.
سپس ، بسته Certbot را نصب کنید:
⦁ $ sudo apt install certbot

پس از اتمام نصب ، می توانید بررسی کنید که Certbot با موفقیت نصب شده است:
⦁ $ certbot –version

خروجی چیزی شبیه به این خواهد بود:
Output
certbot 0.31.0

در این مرحله Certbot را نصب کردید. در مرحله بعد قلاب acme-dns-certbot را دانلود و نصب خواهید کرد.
مرحله 2 – نصب acme-dns-certbot
اکنون که برنامه پایه Certbot نصب شده است ، می توانید Acme-dns-certbot را دانلود و نصب کنید ، که این امکان را به Certbot می دهد که در حالت اعتبار سنجی DNS کار کند.
با دانلود نسخه ای از اسکریپت شروع کنید:
⦁ $ wget https://github.com/joohoi/acme-dns-certbot-joohoi/raw/master/acme-dns-auth.py

پس از اتمام دانلود ، اسکریپت را به صورت قابل اجرا علامت گذاری کنید:
⦁ $ chmod +x acme-dns-auth.py

سپس ، با استفاده از ویرایشگر متن مورد علاقه خود ، فایل را ویرایش کرده و خط اول را تنظیم کنید تا مجبور شود از پایتون 3 استفاده کند:
⦁ $ nano acme-dns-auth.py

یک عدد 3 به انتهای خط اول اضافه کنید:
acme-dns-certbot.py
#!/usr/bin/env python3
. . .
این کار به این منظور انجام میشود که اطمینان حاصل شود اسكریپت به جای پایتون نسخه 2 ، از جدیدترین نسخه پشتیبانی شده پایتون 3 استفاده می كند .
پس از تکمیل ، فایل را ذخیره کنید و ببندید.
سرانجام ، اسکریپت را در دیرکتوری Let’s Encrypt قرار دهید تا Certbot بتواند آن را لود کند:
⦁ $ sudo mv acme-dns-auth.py /etc/letsencrypt/

در این مرحله قلاب acme-dns-certbot را دانلود و نصب کردید. در مرحله بعد ، می توانید مراحل تنظیم را شروع کرده و به سمت صدور اولین گواهی خود بروید.
مرحله 3 – تنظیم acme-dns-certbot
برای شروع استفاده از acme-dns-certbot ، باید یک مجموعه مراحل اولیه تنظیم را انجام دهید و حداقل یک گواهی صادر کنید.
با اجرای Certbot شروع کنید تا مجبور شود با استفاده از اعتبار DNS صدور گواهی صادر کند. با این کار اسکریپت acme-dns-certbot اجرا می شود و روند تنظیم اولیه را شروع می کند:
⦁ $ sudo certbot certonly –manual –manual-auth-hook /etc/letsencrypt/acme-dns-auth.py –preferred-challenges dns –debug-challenges -d \*.your-domain -d your-domain

شما برای غیرفعال کردن همه ویژگی های خودکار ادغام Certbot از آرگومان – manual استفاده می کنید. در این حالت به جای نصب خودکار آن بر روی یک سرویس ، فقط یک گواهی خام صادر می کنید.
Certbot را برای استفاده از قلاب acme-dns-certbot از طریق آرگومان –manual-auth-hookپیکربندی می کنید . شما ارگومان –preferred-challenges را اجرا می کنید تا Certbot به اعتبار DNS ارجحیت دهد.
همچنین باید قبل از تلاش برای صدور گواهی ، به Certbot بگویید که مکث کند ، که این کار را با آرگومان –debug-challenges انجام می دهد. این امر به شما امکان می دهد تا رکوردهای DNS CNAME مورد نیاز Acme-dns-certbot را تنظیم کنید ، که بعداً در این مرحله تحت پوشش قرار می گیرد. بدون آرگومان –debug-challenges ، Certbot متوقف نمی شود ، بنابراین دیگر وقتی برای تغییر DNS نخواهید داشت.
به یاد داشته باشید که هر یک از نامهای دامنه مورد نظر را با استفاده از آرگومانهای -d جایگزین کنید. اگر می خواهید یک مجوز Wildcard صادر کنید ، حتما از ستاره (*) با یک بک اسلش (\) فاصله ایجاد کنید.
پس از پیروی از مراحل استاندارد Certbot ، در نهایت پیامی شبیه به پیام زیر به شما نشان داده میشود:
Output

Output from acme-dns-auth.py:
Please add the following CNAME record to your main DNS zone:
_acme-challenge.your-domain CNAME a15ce5b2-f170-4c91-97bf-09a5764a88f6.auth.acme-dns.io.

Waiting for verification…

باید رکورد مورد نیاز DNS CNAME را به پیکربندی DNS برای دامنه خود اضافه کنید. این امر کنترل زیر دامنه _acme-challenge را به سرویس ACME DNS واگذار می کند ، که به Acme-dns-certbot اجازه می دهد تا سوابق DNS مورد نیاز را برای تأیید درخواست گواهی تنظیم کند.
اگر از vpsgol به عنوان ارائه دهنده DNS خود استفاده می کنید ، می توانید رکورد DNS را در کنترل پنل خود تنظیم کنید:

توصیه می شود TTL (time-to-live) را روی حدود 300 ثانیه تنظیم کنید تا اطمینان حاصل شود که هرگونه تغییر در رکورد به سرعت منتشر می شود.
پس از تنظیم کورد DNS ، مجدداً به Certbot برگردید و ENTER را بزنید تا درخواست گواهی را تأیید کنید و مراحل صدور را انجام دهید.
این کار چند ثانیه طول می کشد ، و سپس می توانید پیامی را مشاهده کنید که گواهی صادر شده است:
Output

Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/your-domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/your-domain/privkey.pem

شما برای اولین بار acme-dns-certbot را اجرا کرده اید ، کرودهای DNS لازم را تنظیم کرده و یک گواهی را با موفقیت صادر کرده اید. در مرحله بعد تمدید خودکار گواهی خود را انجام می دهید.
مرحله 4 – استفاده از acme-dns-certbot
در این مرحله آخر ، از Acme-dns-certbot برای صدور گواهینامه های بیشتر و تمدید گواهینامه های موجود استفاده خواهید کرد.
در مرحله اول ، اکنون که حداقل یک گواهی را با استفاده از acme-dns-certbot صادر کرده اید ، می توانید بدون نیاز به اضافه کردن یک رکورد DNS CNAME ، همچنان به صدور گواهینامه برای همین نامهای DNS ادامه دهید. با این حال ، اگر مایل به اخذ گواهی برای یک زیر دامنه متفاوت یا نام دامنه کاملاً جدید هستید ، از شما خواسته می شود یک رکورد CNAME دیگر اضافه کنید.
به عنوان مثال ، شما می توانید یک مجوز wildcard مستقل دیگری بدون تأیید صحت مجدد صادر کنید:
⦁ $ sudo certbot certonly –manual –manual-auth-hook /etc/letsencrypt/acme-dns-auth.py –preferred-challenges dns –debug-challenges -d \*.your-domain

با این حال ، اگر می خواهید برای صدور گواهینامه برای یک زیر دامنه تلاش کنید ، از شما خواسته می شود یک رکورد CNAME برای زیر دامنه اضافه کنید:
⦁ $ sudo certbot certonly –manual –manual-auth-hook /etc/letsencrypt/acme-dns-auth.py –preferred-challenges dns –debug-challenges -d subdomain.your-domain

با این کار خروجی شبیه به ستاپ اولیه ای که در مرحله 3 انجام دادید نشان داده می شود:
Output

Please add the following CNAME record to your main DNS zone:
_acme-challenge.subdomain.your-domain CNAME 8450fb54-8e01-4bfe-961a-424befd05088.auth.acme-dns.io.

Waiting for verification…

اکنون که می توانید از Acme-dns-certbot برای صدور گواهینامه ها استفاده کنید ، خوب است که فرآیند تجدید را نیز در نظر بگیرید.
پس از پایان اعتبار گواهینامه های شما ، Certbot می تواند به طور خودکار آنها را برای شما تمدید کند:
⦁ $ sudo certbot renew

فرایند تجدید می تواند بدون تعامل با کاربر ، کار را انجام دهد ، و تمام گزینه های پیکربندی را که در هنگام راه اندازی اولیه مشخص کرده اید ، به خاطر خواهد آورد.
برای آزمایش اینکه این تمدید برقرار است، بدون نیاز به انتظار تا تاریخ انقضای بعدی ، می توانید یک dry run انجام دهید. این کار روند تجدید را بدون ایجاد هیچگونه تغییر واقعی در پیکربندی تان ، شبیه سازی می کند.
شما می توانید با استفاده از دستور تمدید استاندارد یک dry run را شروع کنید ، اما با آرگومان –dry-run :
⦁ $ sudo certbot renew –dry-run

این چیزی شبیه به خروجی زیر را خواهد داشت ، که اطمینان می دهد که روند تمدید به درستی کار می کند:
Output

Cert not due for renewal, but simulating renewal for dry run
Plugins selected: Authenticator manual, Installer None
Renewing an existing certificate
Performing the following challenges:
dns-01 challenge for your-domain
dns-01 challenge for your-domain
Waiting for verification…
Cleaning up challenges

در این مرحله آخر ، مجوز دیگری صادر کردید و سپس فرایند تمدید خودکار را در داخل Certbot آزمایش کردید.
نتیجه
در این مقاله به منظور صدور گواهینامه ها با استفاده از اعتبار DNS ، Certbot را با Acme-dns-certbot تنظیم کرده اید. این کار امکان استفاده از گواهینامه های wildcard و همچنین مدیریت دارایی های زیادی از سرور مجازی های وب مجزا را که ممکن است در ورای یک بالانسر بار قرار داشته باشند ، ممکن می کند.
برای بروزرسانی های اسکریپت ، مراقب مخزن acme-dns-certbot باشید ، زیرا همیشه اجرای آخرین نسخه پشتیبانی شده توصیه می شود.
اگر علاقه مند به کسب اطلاعات بیشتر در مورد acme-dns-certbot هستید ، میتوانید مستندات مربوط به پروژه acme-dns را که عنصر سمت سرور مجازی Acme-dns-certbot است ، مرور کنید:
acme-dns on GitHub
نرم افزار acme-dns همچنین می تواند هاست خود باشد که اگر در محیط های با امنیت بالا یا پیچیده کار می کنید ، می تواند مفید واقع شود.
از طرف دیگر ، می توانید با بررسی بخش مربوط به مطالب رسمی RFC که شامل نحوه کار روند می باشد ، جزئیات فنی اعتبارسنجی ACME DNS را جستجو کنید.

 

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

چگونه به Ubuntu 20.04 Focal Fossa ارتقا دهید

نحوه ایجاد نماها (Views) برای توسعه وب Django

نصب Mount NFS در اوبونتو 20.04

نحوه توسعه برنامه ها در Kubernetes با Okteto

نصب و پیکربندی Laravel با Nginx در اوبونتو 20.04

نحوه تنظیم Jupyter Notebook با پایتون در Ubuntu 20.04

نصب Jitsi Meet در Debian 10

نصب و پیکربندی Nextcloud در اوبونتو 20.04

نصب و پیکربندی Ansible در اوبونتو 20.04

مقدمه ای بر مدیریت پیکربندی با Ansible

نحوه نصب R روی اوبونتو 20.04

ارائه برنامه های Flask با uWSGI و Nginx در اوبونتو 18.04

نصب و پیکربندی Postfix در اوبونتو 20.04

ارائه برنامه های Flask با Gunicorn و Nginx اوبونتو 20

ایمن کردن Nginx با Let’s Encrypt در Ubuntu 20.04

تنظیم پلتفرم Cloud IDE کد سرور در اوبونتو 20

کسب یک گواهی اعتبار سنجی DNS با Acme-dns-certbot در اوبونتو 18.04

نصب و ایمن سازی Grafana در اوبونتو 20.04

نحوه نصب Git در Ubuntu 20.04

 

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

برچسب‌ها:, ,