نصب گواهینامه SSL Let’s Encrypt در لینوکس

چرا Let’s Encrypt ؟

Let’s Encrypt یک سرویس امنیتی است که توسط چندین شرکت بزرگ فناوری اطلاعات مانند Google، Facebook، Cisco و Hewlett Packard Enterprise پشتیبانی می شود. این سرویس گواهینامه SSL رایگان را ارائه می دهد. با استفاده از SSL (Secure Socket Layer) یک اتصال ایمن را در هنگام بازدید از وب سایت خاص تضمین می کند. این تضمین می کند که در حالی که گشت و گذار، اتصال بین وب سایت و کاربر رمزگذاری شده است.

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

چگونه کار می کند؟

هدف Let’s Encrypt و پروتکل ACME این است که بتوانیم یک سرور HTTPS را راه اندازی کنیم و آن را به صورت خودکار یک گواهینامه معتبر مرورگر بدون مداخله انسانی به دست آوریماین کار با اجرای یک عامل مدیریت گواهینامه در وب سرور انجام می شود.

برای درک چگونگی کار این فنآوری، اجازه دهید از طریق راه اندازی https://example.com/ با یک عامل مدیریت گواهی که از Let’s Encrypt پشتیبانی می کند برویم.

دو مرحله برای این روند وجود دارداول، عامل به Let’s Encrypt CA می گوید سرور وب یک دامنه را کنترل می کندسپس، عامل می تواند درخواست، تمدید و لغو گواهی ها برای آن دامنه کند.

اعتبار دامنه

Let’s Encrypt سرور مدیر را با کلید عمومی شناسایی می کنداولین بار که نرم افزار عامل با Let’s Encrypt تعامل می کند، یک جفت کلید جدید تولید می کند و به Let’s Encrypt اجازه می دهد که سرور یک یا چند دامنه را کنترل کنداین شبیه به فرآیند Let’s Encrypt CA ایجاد یک حساب کاربری و اضافه کردن دامنه به آن حساب است.

برای شروع این فرایند، عامل درخواست Let’s Encrypt CA  را برای انجام این کار به منظور اثبات آن که example.com را کنترل می کند، می فرستد. Let’s Encrypt CA به نام دامنه ای که درخواست شده نگاه می کند و یک یا چند مجموعه از چالش ها را بررسی می کند. این ها راه های مختلفی است که عامل می تواند کنترل دامنه را اثبات کند. به عنوان مثال CA ممکن است عامل را انتخاب کند:

  • ارائه یک رکورد DNS تحت example.com یا

  • ارائه یک منبع HTTP تحت URI شناخته شده در https://example.com/

همراه با چالش ها، Let’s Encrypt باید با جفت کلید خصوصی خود امضا کند تا ثابت کند که آن جفت کلید را کنترل می کند.

 

نرم افزار عامل یک مجموعه از چالش های ارائه شده را تکمیل می کند. بگذارید بگوییم قادر به انجام کار دوم در بالا است: یک فایل در یک مسیر مشخص در سایت https://example.com ایجاد می کند. عامل فعلی ارائه شده را با کلید خصوصی خود امضا می کند. هنگامی که عامل این مراحل را تکمیل کرده است، Let’s Encrypt CA را مطلع می کند که آماده تکمیل اعتبار است.

سپس، کار Let’s Encrypt CA برای بررسی چالش ها راضی است. Let’s Encrypt CA تایید امضا در مقصود فعلی است و تلاش می کند فایل را از سرور وب دانلود کند و اطمینان حاصل کند که محتوای مورد انتظار آن را داشته باشد.

 

اگر امضای overce non-valid معتبر است و چالش ها بررسی می شود، سپس عامل شناسایی شده توسط کلید عمومی مجاز است و برای مدیریت گواهی برای example.com مجاز باشد. ما با جفت کلیدی تماس داریم که عامل از “جفت کلید مجاز” برای مثال دامنه .com استفاده کرد.

صدور گواهینامه و لغو گواهینامه

هنگامی که عامل دارای یک کلید مجاز است، درخواست، تجدید و لغو گواهی ساده است – فقط پیام های مدیریت گواهی ارسال کنید و آنها را با جفت کلید مجاز وارد کنید.

برای به دست آوردن یک گواهینامه برای دامنه، عامل یک امضای گواهی PKCS # 10 را درخواست می کند که با استفاده از یک کلید عمومی مشخص، گواهی را برای مثال دامنه .com صادر می کند. طبق معمول، CSR یک امضا را با کلید خصوصی مربوط به کلید عمومی CSR درج می کند. عامل همچنین کل CSR را با کلید مجاز برای example.com را امضا می کند به طوری که Let’s Encrypt CA می داند که مجاز است.

زمانی که Let’s Encrypt CA درخواست را دریافت می کند، هر دو امضا را تأیید می کند. اگر همه چیز خوب پیش برود، یک گواهی برای example.com با کلید عمومی از CSR صادر می کند و آن را به عامل باز می گرداند.

لغو کار به این صورت است که عامل یک درخواست لغو را با جفت کلید مجاز برای example.com امضا می کند و Let’s Encrypt CA تأیید می کند که درخواست مجاز است. اگر چنین است، اطلاعات لغو را به کانال های لغو عادی (به عنوان مثال OCSP) منتشر می کند، به طوری که احزاب مانند مرورگرها می توانند بدانند که نباید گواهی لغو شده پذیرفته شوند.

نصب Let’s Encrypt :

۱. آخرین نسخه کنترل Git  را در نصب کنید:

apt-get install git

۲. آخرین نسخه نرم افزار Let’s Encrypt دانلود و نصب کنید:

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto

هر بار که از دستور letsencrypt-auto استفاده شود، به صورت خودکار به‌روزرسانی نیز انجام می‌شود.

در حالت پیش فرض نصب اتوماتیک letsencrypt-auto پیشنهاد شده اما می توان به صورت دستی براساس وب سرور انجام دهید:

./letsencrypt-auto certonly –standalone
./letsencrypt-auto –apache

۳. برای دریافت تایید و ثبت مشخصات ایمیل را وارد کنید:

۴. پس از تایید موافقت نامه نام دامنه خود را وارد کنید هماره با پسوند www و بدون پسوند www

همه چیز به موفقیت پیش برود با پیام تبریک رو به رو خواهید شد و فایل های گواهینامه SSL شما شامل cert.pem، chain.pem، fullchain.pem و privkey.pem در مسیر /etc/letsencrypt/live قرار دارد.

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-07-23. 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

این فایل ها به راحتی می توانید در وب سرور استفاده کنید و همچون وضعیت SSL دامین خود بسنجید:

https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

موفق باشید.

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

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