گواهینامه SSL/TLS مجّانی برای همه
امروز در جریان یک خبر خوشحال کننده قرار گرفتم. اگر تا پیش از این میخواستیم یک گواهینامه SSL/TLS معتبر برای استفاده از پروتکل HTTPS برای وبسایتمان تهیه کنیم باید یک گواهینامه میخریدیم. دیگر نیازی به اینکار نیست.
وضعیت قبلی: دلالی گواهینامه معتبر
برای خرید یک گواهینامه ساده باید تقریبا ده دلار خرج کرد، حالا کمی کمتر یا بیشتر. اینکار هم هزینه دارد هم دردسر. باید یک واسطه پیدا کرد که روش پرداخت ما را قبول کند، یا از شرکتهای واسط دیگر استفاده کرد. تازه در نهایت سادهترین نوع گواهینامه گیر آدم میآید. اگر بخواهیم برای یک زیردامنه هم از گواهینامهمان استفاده کنیم باید که هزینه بیشتری پرداخت کرد. همینطور که نیاز به گواهینامه تغییر میکند باید دائم هزینه کنیم. بدتر از همه اینها اینست که امنیت وب تبدیل به یک کسب و کار شده است و این اصلا چیز خوبی نیست. امنیت باید در وب به صورت پیشفرض وجود داشته باشد، آنهم برای همه، نه به شرط پول خرج کردن.
امنیت باید در وب به صورت پیشفرض وجود داشته باشد، آنهم برای همه، نه به شرط پول خرج کردن
البته ما همچنان میتوانسیتم گواهینامههای به اصطلاح Self Signed تولید کنیم اما موقع باز کردن وبسایت همیشه مرورگر یک پیام هشدار مبنی بر ناشناخته بودن گواهینامه نمایش میداد که این هم چیز خوبی نبود.
وضعیت فعلی: گواهینامه معتبر برای همه
حالا مدتی است که یک Certificate Authority (CA)
جدید بوجود آمده است. نامهای شناخته شدهای پشت این حرکت هستند، مثل Mozilla. نام این CA جدید Letsencrypt است. این CA به ما امکان تولید گواهینامههای معتبر توسط خودمان را میدهد. این CA الان مدتی است که وارد فاز بتا شده است و از یک جنبش به یک واقعیت تبدیل شده است. برای تولید یک گواهینامه معتبر کافیست دستوراتی که در سایت آنها آمده است دنبال کنیم.
روش تولید یک گواهینامه
این CA به ما یک برنامه به نام letsencrypt-auto
میدهد که به کمک آن گواهینامههای معتبر ۹۰ روزه تولید میکنیم. این برنامه کمکی علاوه بر این میتواند وب سرور آپاچی و به صورت آزمایشی nginx را به طور خودکار بروز کند. باید به ترتیب کارهای زیر را روی سرور وب انجام داد (به نقل از خود سایت).
ابتدا برنامه را از روی گیتهاب دریافت و اجرا میکنیم تا نیازمندیهایش را نصب کند:
$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto --help
اگر آپاچی داریم دستورش این است:
./letsencrypt-auto --apache
اگر هم سرور دیگری داریم و فقط فایلهای گواهینامه را میخواهیم روش کار اینست:
./letsencrypt-auto certonly --webroot -w /var/www/example -d example.com -d www.example.com
برای من برنامه فایلها را تولید کرد و در آدرس /etc/letsencrypt/live
کپی کرد. برای تجدید گواهینامه (که این هم مجانی است!):
./letsencrypt-auto certonly --keep-until-expiring --webroot -w /var/www/example.com -d example.com,www.example.com
دستورات بیشتری در صفحه راهنمای پروژه جهت مطالعه وجود دارد.
وضعیت آینده: تولید خودکار گواهینامه
صفحه کلاینت این پروژه روی گیتهاب تابحال بیش از ۱۱۷۰۰ ستاره خورده است. همین کافیست که ببینیم این پروژه بسیار مورد توجهی است. پروژه هم بیش از ۵۰۰۰ کامیت و ۱۴۷ مشارکتکننده دارد. همه اینها یعنی که این پروژه را از نظر دور نکنیم. به گفته خودشان بزودی نسخهای منتشر خواهند کرد که هم سرورهای وب بیشتری را پشتیبانی میکند و هم فرآیند تولید گواهینامه را به طور خودکار چند وقت یکبار انجام میدهد و نیازی به مداخله کاربر نیست.
من همین امروز برای سه تا وبسایت گواهینامه معتبر ساختم و از شر گواهینامههای Self Signed خلاص شدم :)
سلام! من می تونم برای سایتم تو سی پانل قسمت SSL/TLS Status گواهینامه های رایگان 3 ماهه بگیرم؟
سلام، یکبار اینکار رو انجام دادم. حدسم اینه که دسترسی روت به سرور نداری. باید فایلهای گواهینامه رو بسازی و بعد اونها رو توی بخش گواهینامهها توی سیپنل کپی کنی. هر سه ماه هم خودت باید اینکار رو تکرار کنی. این مقاله من قدیمی شده، برو به سایت سرتبات و مطالب رو بخون. راه حل رو پیدا میکنی.
سلام مجدد… من با سرویس سایت sslforfree به راحتی تونستم ssl رایگان برای فروشگاه ام بگیرم… ممنون
واقعاً دستتون درد نکنه !!
دیگه مشتری کم مونده بود شرکتو رو سرمون خراب کنه که با این آموزش شما جون سالم ب در بردیم
سپاس بیکران از شما
سلام من این کارو قبلن انجام دادم ولی الان ای پی سرور عوض شده چکار کنم ؟
من جواب قبلیم رو پاک کردم چون اشتباه بود.
طبق چیزی که توی فروم Let’s Encrypt خوندم نیازی نیست شما کاری انجام بدی. مادامی که نام دامنه عوض نشده باشه اعتبار سرتیفیکیت به قوت خودش باقیه!
باسلام و احترام، لطفا در صورت امکان توضیحات شفاف و آسانتری بفرمائید.. بنده هم می خواستم این روشو یاد بگیرم ولی خیلی گیج کننده بود احساس کردم… باتشکر
سلام من بعد از تمام این کارها مشکل داشتم بعد از کلی گشتن بالاخره فهمیدم فایروال روی پورت 443 بسته هست بد نیست این چند خط رو هم برای اونهایی که مشکل من رو دارند بنویسی: firewall-cmd –permanent –zone=public –add-port=443/tcp firewall-cmd –permanent –zone=public –add-port=443/udp firewall-cmd –reload ممنون