برای بسیاری از مالکان سایتها، دریافت یک گواهی دیجیتال عذابآور است! فرایند این کار، معمولاً گیجکننده و هزینهبر است، نصب درست آن دارای نکات ظریفی است و بهروزرسانی آن سخت است.
Let’s Encrypt یک مرکز گواهی دیجیتال جدید است که بر پایهی همکاری و بازبودن، بناشده است و به همگان اجازه میدهد که با یک فرایند ساده برای دامنهی خود گواهی سرور پایه بگیرند. برای ایجاد این زیرساخت، شرکتهای Mozilla, Cisco, Akamai, Electronic Frontier Foundation, Identrust و محققین دانشگاه میشیگان تحت عنوان Internet Security Research Group همکاری میکنند.
برای درخواست یک گواهی از Let’s Encrypt یک سرور ابتدا باید به Lets Encrypt اثبات کند که مالک دامنهی موردنظر است. برای این کار، agent نصبشده روی سرور در ابتدا یک زوج کلید میسازد سپس خود را به Let’s Encrypt معرفی میکند و ادعا میکند که مالک دامنهی example.com است و کلید عمومی موردنظر خود را ارسال میکند. Let’s Encrypt پس از دریافت این درخواست یک عملیات challenge-response با سرور انجام دهد و تعدادی challenge برای آن میفرستد. برای مثال از سرور میخواهد تا در یک مسیر خاص یک سند یا فایل با نام مشخص قرار دهد. و یا مقدار nonce ی را با کلید خصوصی متناظر با کلید عمومی ارسالشده در مرحلهی قبل امضا کند.
نرمافزار agent بعد از دیدن این challenge ها کارهای مورد درخواست Let’s Encrypt را انجام میدهد یعنی فایل موردنظر را در مسیر مشخصشده میسازد و nonce دریافتی را با کلید خصوصی ساختهشده، امضا میکند و به سمت Let’s Encrypt ارسال میکند.
Let’s Encrypt با بررسی اقدامات انجامشده مطمئن میشود که سرور واقعاً صاحب دامنه example.com است و همچنین کلید خصوصی را در دست دارد. به این زوج کلید، زوج کلید مجاز گفته میشود.
صدور گواهی
در این مرحله، agent با ساختن یک درخواست صدور گواهی یا CSR از Let’s Encrypt میخواهد که یک گواهی برای سایت https://example.com با کلید عمومی که در CSR قرار داده ایجاد کند و این گواهی را با کلید خصوصی آن کلید عمومی امضا میکند و کل درخواست CSR را با کلید خصوصی زوج کلید مجاز خود امضا میکند. Let’s Encrypt پس از بررسی اعتبار امضا، یک گواهینامه با کلید عمومی مورد درخواست صادر میکند و به agent میفرستد.
برای توضیحات بیشتر میتوانید به وبسایت این پروژه مراجعه کنید، در ادامه مطلب نحوه راه اندازی SSL را بر روی وب سرور آموزش می دهیم.
مرحله اول
آخرین نسخه کنترل ورژن Git را از طریق دستور زیر نصب کنید:
- apt-get install git
مرحله دوم
آخرین نسخه نرم افزار کلاینت Let’s Encrypt را از گیت دانلود و نصب کنید:
- git clone https://github.com/letsencrypt/letsencrypt
- cd letsencrypt
- ./letsencrypt-auto
هر بار که از دستور letsencrypt-auto استفاده شود، به صورت خودکار بهروزرسانی نیز انجام میشود.
نصب اتوماتیک Let’s encrypt در حالت پیش فرض پیشنهاد شده اما روش های دستی و بر اساس وب سرور نیز وجود دارد مانند دو مثال زیر:
- ./letsencrypt-auto certonly –standalone
- ./letsencrypt-auto –apache
در مثال اول فقط سرتیفیکیت ایجاد شده و تنظیمی در وب سرور ایجاد نمی شود و در حالت دوم تنظیمات برای آپاچی نیز انجام خواهد شد.
مرحله سوم
در این قسمت از شما ایمیلی برای تایید و ثبت مشخصات دریافت خواهد شد.
مرحله چهارم
پس از تایید موافقتنامه باید نام دامنه (های) خود را بنویسید، اگر چند دامنه دارید آنها را با اسپیس می توانید جدا کنید. نکته حائز اهمیت این است که اگر میخواهید دامنه شما با پیشوند www نیز گواهی اس اس ال داشته باشد آدرس دامنه خود را در دو حالت وارد کنید.
مرحله پنجم
حالا در مرحله آخر اگر همه چیز با موفقیت پیش برود شما با پیغام تبریک نصب روبرو خواهید شد. و فایل های گواهینامه SSL شما شامل cert.pem، chain.pem، fullchain.pem و privkey.pem در مسیر /etc/letsencrypt/live قرار دارد.
این فایل ها را در تنظیمات SSL/TLS وبسرور خود به راحتی می توانید استفاده کنید. بعد از نصب نیز با استفاده از این وب سایت وضعیت SSL خود را بسنجید. فراموش نکنید که به جای example.com آدرس دامنه خود را وارد کنید.
https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest
همچنین اگر چنانچه تمایل به استفاده از حالت دستی نصب Let’s Encrypt دارید کافیست —manual را جایگزین حالت های دیگر کنید.
نکته: اگر از virtualmin استفاده می کنید، دسترسی فولدر و فایل ها را مطابق کاربر ایجاد شده برای هر سایت، تنظیم کنید.
فیلم آموزش نصب تصویری بر روی سرور:
راهنمای استفاده از Let’s Encrypt در سی پنل:
بعد از نصب Let’s Encrypt برای فعال سازی آن در سی پنل مراحل زیر را انجام دهید:
1- ورود به کنترل پنل هاست خود http://example.com/cpanel
2- به قسمت SECURITY بروید.
3- بر روی آیکن Let’s Encrypt SSL کلیک کنید.
4- در لیست دامنههای خود بروی issue دامنهای که قصد فعال SSL بروی آن دارید کلیک کنید.
5- در صفحه جدید تیک Include را زده و دکمه Issue فشار دهید.
بعد از انجام این مراحل سایت خود را با HTTPS مشاهده نمایید.
منابع: 0web | asis.io | parsish | vpslab | letsencrypt
سلام.
میشه برای دایرکت ادمین هم توضیح بدید.
من یه سرور مجازی دارم. یه دایرکت ادمین. یه ای پی که سه تا هاست رو میزبانی میکنه.
میخوام برای سه تاش اس اس ال رو فعال کنم.
اما نمی دونم جطوری
سلام
فکر میکنم این بتونه شما رو کمک کنه
https://raymii.org/s/articles/Lets_Encrypt_Directadmin_Now_Built_In.html
واقعا ممنون. مشکلم حل شد.
حالا مسئله بعدیم اینکه https رو چطور روی url سایت هام اعمال کنم که از این به بعد هر کی دامین رو وارد میکنه با https سایت باز بشه.
راستی وب سرورم هم انجنیکس هست.
مدت زمان این گواهینامه ها 90 روز هست راهی برای تمدید اتوماتیک هست ؟
و چطوری با Cpanel که دارای پلاگین Let’s Encript نیست این گواهینامه رو نصب کنم ؟
سلام
فکر میکنم این بتونه کمک کنه
https://community.letsencrypt.org/t/how-to-automatically-renew-certificates/4393