در این مقاله می خواهیم آموزش صفر تا صد دریافت ، نصب SSL بر روی iis و در ویندوز سرورهای 2012 R2/2016/2019 را با شما به اشتراک بگذاریم.
اما پیش از آن به توضیح درباره پروتکل های SSL و ACME می پردازیم و نیز مراحل دریافت ssl رایگان از سایت https://www.sslforfree.com/ را به شما آموزش می دهیم .
و در پایان نیز چگونگی redirect کردن http به https را به صورت مرحله به مرحله به شما آموزش خواهیم داد.
SSL چیست ؟
SSL(Secure Sockets Layer) یک پروتکل امنیتی است که ارتباط رمز گذاری شده بین سرور وب و مرورگر وب ایجاد می کند و و تضمین می کند که تمام داده های منتقل شده بین آن ها محرمانه باقی می ماند.
حتماً در مراجعه به بعضی وبسایت ها دیده اید که یک علامت قفل در نوار آدرس، در کنار آدرس سایت وجود دارد ، این این علامت به این معنی است که وبسایت مورد نظر توسط SSL ایمن شده است .
سایت شما باید SSL داشته باشد به خصوص اگر از سایت خود برای پردازش معاملات مالی استفاده می کنیم. این شما را از سوء استفاده و نفوذ به اطلاعات محافظت می کند و همچنین دلیل خوبی برای بازدید کنندگانی است که به اطلاعات خود حساس هستند.
داشتن SSL برروی دامنه همچنین رتبه بندی شما را در گوگل بهتر می کند.
شرکت های مختلفی هستند که SSL را بصورت رایگان ارائه میدهند. ازجمله می توان به Let’s Encrypt ،ZeroSSL ، ssl for free ، Cloudflare و .. اشاره کرد.
در ادامه با ما همراه باشید تا نحوه نصب ssl در ویندوز و بر روی وب سرور iis را به شما آموزش دهیم.
پروتکل ACME
پروتکل ACME ( Automatic Certificate Management Environment) یک پروتکل ارتباطی برای خودکار کردن ارتباط بین CA ها (ارائه دهندگان گواهی دیجیتال) و وب سرورهای کاربر آن ها است.
این سرویس توسط گروه تحقیقاتی امنیت اینترنت (ISRG) برای سرویس Let’s Encrypt آن ها ارائه شده است. درحال حاضر نیز مورد تایید و استفاده توسط بسیاری از ارائه دهندگان CA می باشد .
این پروتکل با RFC8555 در سال 2019 استاندارد و ثبت شده است و تاکنون ورژن 1 و 2 آن نیز ارائه شده است.
رایگان بودن و اتوماتیک بودن از مزیت های مهم این سرویس بشمار می آید .درواقع با نصب و اجرا بر روی وب سرور بصورت خودکار میتواند گواهی دیجیتال را تمدید نماید.
از ویژگی های خوب این پروتکل آسان تر کردن نصب let’s encrpt در iis ویندوز می باشد و همچنین agent آن مراحل تمدید و renew کردن ssl در ویندوز را بصورت خودکار انجام می دهد.
نحوه کار ACME
نحوه عملکرد پروتکل با نصب یک agent مدیریت گواهینامه بر روی یک وب سرور مشخص می باشد .سازمان یا دامنه در ابتدا توسط این agent اعتبارسنجی میشود و سپس می تواند درخواست صدور تمدید و یا ابطال گواهینامه ها را ارسال و مدیریت کند.
نحوه عملکرد به این شکل هست که agent یک جفت کلید تولید و و آنها را با به اشتراک میگذارد . در فرآیند اعتبار سنجی زمانی که اعتبار سنجی به پایان رسید و agent به عنوان صاحب جفت کلید تایید شد میتواند از کلید خود برای امضای دیجیتالی CSR هایی که تولید و ارسال میشود استفاده کند و بدین ترتیب پروسه encrypt دامنه را انجام می دهد.
دریافت مجوز ssl رایگان برای دامنه
شرکت های ارائه دهنده مجوز رایگان خودکار و open source که توسط گروه تحقیقاتی امنیت اینترنت خارجی اداره می شود.
گواهینامههای رایگان که به مدت 90 روز اعتبار دارند برای دامنه شما صادر می کنند که این گواهینامه ها به راحتی توسط همه مرورگرهای اصلی مانند Google Chrome ، Fire Fox ، Internet Explorer و … قابل شناسایی و به رسمیت شناخته میشود .
برای تنظیم ssl در ویندوز ابتدا میبایست از طریق یکی از سایت های ارائه دهنده ssl مانند let’s Encrypt ، ZeroSSL ، SSL F or Free و … برای دامنه خود ssl دریافت نمایید.
این آموزش قصد داریم چگونگی دریافت ssl رایگان ازسایت ssl for free را به شما آموزش دهیم.
ابتدا وارد سایت https://www.sslforfree.com/ شوید و در باکس مربوط به دامنه نام دامنه خود را وارد نمایید.
در مرحله بعد در صورتی که در در سایت رجیستر نکرده باشید مطابق تصویر زیر می بایست ابتدا ثبت نام نموده و ایمیل و پسوردی برای حساب خود وارد نمایید.
در مرحله بعد مطابق تصویر زیر آدرس دامنه خود را که وارد کرده اید در box زیر همانطور که مشاهده می کنید آدرس دامنه به تنهایی(e.com) و همچنین با www در مقابل باکس قرار داده شده است بدین معنا که ssl بر روی این ادرس ها از دامنه شما فعال می باشد .
مرحله بعدی validity را نشان میدهد که 90 روز اعتبار به صورت رایگان به شما داده میشود پس اجازه بدهید روی همین گزینه پیشفرض بماند و سپس Next Step را بزنید.
در مرحله بعد CSR and Contact می باشد ، بگذارید بر روی پیشفرض Auto-Generate CSR باشد و سپس next step را بزنید.
در مرحله بعدی کانفیگ و امکانات گواهینامه را می بایست انتخاب کنید که به صورت پیش فرض Free و رایگان انتخاب شده است . در صورتی که امکانات اضافه تری بخواهید می توانید با پرداخت هزینه آنها را بر روی دامنه فعال کنید .
در این مرحله می بایست روش تایید دامنه را مشخص کنید که سه روش پیشنهادی ارسال ایمیل، DNS (ثبت TXT Record در DNS Server) ، و یا آپلود فایلHTTP در دامنه می باشد .
راحت ترین روش ارسال ایمیل به یکی از آدرس های ایمیل دامنه می باشد پس این روش را انتخاب نمایید و Next Step را انتخاب نمایید .
سپس مطابق تصویر زیر گزینه Verify Domain را انتخاب نمایید تا ایمیل تایید برای شما ارسال گردد.
سپس به ایمیل خود مراجعه نموده و مرحله تایید دامنه را تکمیل نمایید.
بعد از اتمام verification دامنه شما issued شده و مورد تایید است و سپس فایل های certificate برای دانلود در دسترس شما قرار داده می شود و میتوانید برای نصب بر روی وب سرور خود آن ها را دانلود نمایید.
همچنین شما میتوانید با استفاده از سرورهای مجازی وب سرورIIS و دیگر وب سرورهای به روز و پرکاربرد و سایر سرویس های دیگر خود را نیز بر روی سرور مجازی خود راه اندازی نمایید.
آموزش نصب ssl بر روی iis با استفاده از ACME
برای این کار نیاز به استفاده از API خود let’s encrypt به نام Automated Certificate Management Environment (ACME) داریم .که از لینک زیر قابل دانلود است :
github.com/PKISharp/win-acme/releases
پس از وارد شدن به لینک بالا مطابق تصویر نسخه ای که هایلایت شده است را (با توجه به 64/32 بیتی ویندوزتان) دانلود نمایید.در زمان نوشتن این مقاله آخرین ورژن 2.0.10.444 می باشد.
سپس فایل زیپ دانلود شده را به مسیر نصب iis منتقل کرده و سپس آن را extract کنید . سپس فایل wacs.exe را اجرا کنید .
در پنجره باز شده که در زیر تصویر آن را مشاهده میکنید میبایست حرف N را وارد نمایید(Create new certificates (simple for IIS). )
در مرحله بعد لیست وبسایت هایی که در iis دارید به شما نمایش داده میشود که میبایست سایت مورد نظر خود را انتخاب کنید (ممکن است چند سایت نصب کرده باشید ) که در اینجا سایت e.com میباشد پس عدد 1 را برای تایید آن وارد میکنیم:
در مرحله بعد میبایست یک ایمیل برای دریافت نوتیفیکیشن های مربوط به renew شدن certificate و … وارد نماییم:
و در مرحله آخر هم با زدن yes مراحل نصب پایان می یابد .
بدین ترتیب بصورت خودکار certification بر روی ویندوز شما نصب و فعال میگردد:
علاوه بر این ACME وظیفه زمانبندی را نیز اضافه میکند که گواهی SSL را به صورت خودکار برای شما تمدید می کند
Redirect از http به https
پس از نصب ssl در وب سرور iis آخرین مرحله انجام تنظیمات مربوط به URL Rewrite می باشد.
حال که https را برای وبسایت خود فعال کرده اید. کاربران برای وارد شدن به سایت بهمراه ssl میبایست حتما آدرس سایت را به همراه پیشوند https:// وارد نمایند در غیر اینصورت بصورت پیشفرض با http و پورت 80 وارد سایت خواهند شد.
برای جلوگیری از این مساله و وارد شدن با پورت 443 بصورت خودکار میبایست مراحل زیر را انجام دهید.
ابتدا باید فایل web.config را در که در مسیر روت فایل های iis میباشد تغییر بدهید.بدین صورت که آن را با استفاده از یک ویرایشگر مانند notepad باز کرده و کد زیر را جایگزین محتوای آن نمایید:
ایجاد فایل web.config
نکته : در صورتیکه فایل web.config وجود نداشته باشد میبایست آن را ایجاد نمایید(ابتدا یک فایل notepad ساخته و کد زیر را درآن کپی نمایید. و سپس بصورت دستی پسوند آن را به .config تغییر دهید.)
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to HTTPS" enabled="false" stopProcessing="true">
<match url="(.*)" />
<conditions><add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
توجه داشته باشید که در حین مراحل گفته شده iis manager میبایست بسته باشد.
در مرحله بعد وارد iis manager شده و در منوی وب سایت مورد نظر میبایست URL Rewrite قابل مشاهده باشد و در صورتیکه iis شما این ماژول را نداشته باشد میبایست ابتدا آن را دانلود و نصب نمایید تا به iis اضافه گردد.سپس وارد آن شوید :
همانطور که مشاهده میکنید یک رول ایجاد شده است که از منوی سمت راست میبایست گزینه enable rule را انتخاب نمایید.
حال کاربران با وارد کردن ادرس سایت بصورت خودکار از طریق https به وبسایت شما متصل میشوند.
اگر قصد خرید سرور مجازی لینوکس و یا ویندوز برای وب سایت خود و یا پیاده سازی سرویس های مختلف را دارید ، از سرویس ها و پلن های متنوع میزبان اول دیدن نمایید.
سوالات متداول
SSL(Secure Sockets Layer) یک پروتکل امنیتی است که ارتباط رمز گذاری شده بین سرور وب و مرورگر وب ایجاد می کند و و تضمین می کند که تمام داده های منتقل شده بین آن ها محرمانه باقی می ماند.
ابتدا ssl را از سایت هایی مانند https://letsencrypt.org دریافت کرده و سپس API به نام ACME را دانلود نمایید . این agent کانفیگ ssl در iis را برای شما انجام خواهد داد که مراحل ساده نصب در آموزش بالا بطور کامل توضیح داده شده است.
از سایت هایی مانند https://www.sslforfree.com/ ، https://letsencrypt.org/ ، https://www.cloudflare.com/ ، https://zerossl.com/ و … امکان دریافت ssl رایگان وجود دارد.