SSL چیست؟
SSL مخفف سه کلمه Secure Socket Layer به معنی «لایه اتصال امن» و یک پروتکل (مجموعهای از قوانین) جهت برقراری ارتباطات ایمن میان سرویس دهنده و سرویس گیرنده در اینترنت است.
از این پروتکل برای امن کردن پروتکلهای نا امن مانند HTTP ،LDAP ،IMAP و … استفاده میشود. بر این اساس یک سری الگوریتمهای رمزنگاری بر روی دادههای خام که قرار است از یک کانال ارتباطی غیر امن مانند اینترنت عبور کنند، اعمال میشود و محرمانه ماندن دادهها را در طول انتقال از این کانال تضمین میکند.
SSL یک فناوری امنیتی استاندارد برای برقراری یک ارتباط رمزگذاری شده بین یک سرور و یک مرورگر است. این ارتباطِ امن، محرمانه باقی ماندن تمامی دادههایی که بین سرور و مرورگر تبادل میشوند را تضمین میکند.
مثلا فرض کنید هنگامیکه وارد صفحهای میشوید که شامل یک فرم است، بعد از آنکه فرم مذکور را تکمیل کردید و دکمه ارسال را کلیک کردید، اگر آن سایت گواهینامه SSL نداشته باشد همهی اطلاعاتی که در فرم مذکور وارد کردهاید توسط هکرها قابل مشاهده خواهد بود.
اما هنگامیکه از وبسایتی بازدید میکنید که روی آن SSL نصب شده باشد (با SSL رمزگذاری شده)، مرورگر شما گواهینامه SSL را بررسی میکند و یک ارتباط واقعاً امن را بین مرورگر شما و سرور میزبان سایت برقرار میکند. در این حالت هیچکس به جز شما و وبسایتی که در حال ارسال اطلاعاتتان در آن هستید، نمیتواند به آنچه که در مرورگر خود تایپ میکنید دسترسی داشته باشد یا آن اطلاعات را به نحوی مشاهده کند. در حال حاضر برخلاف گذشته، سرعت این ارتباط بالا هست و حتی از برخی از وبسایتهای بدون SSL نیز سریعتر است.
بنابراین تمام کاری که یک کاربر برای امن نمودن ارتباط خود میبایست انجام بدهد این است که از وبسایتهایی استفاده کند که آدرس آنها با https:// شروع میشود و گواهینامه SSL معتبر دارند. از این طریق، ارتباط کاربر با سرور رمزگذاری شده و امنیت کامل پیدا میکند.
به بیان دیگر شرکتی که صلاحیت صدور و اعطاء گواهی های دیجیتال SSL را دارد، برای هر کدام از دو طرفی (کاربر و میزبان) که قرار است ارتباطات میان شبکهای امن داشته باشند، گواهیهای مخصوص سرویس دهنده و سرویس گیرنده را صادر میکند و با مکانیزم های احراز هویت خاص خود، هویت هر کدام از طرفین را برای طرف مقابل تأیید میکند.
ملزومات ارتباط بر پایه SSL
برای داشتن ارتباطات امن مبتنی بر SSL عموماً به دو نوع گواهی دیجیتال SSL، یکی برای سرویس دهنده و دیگری برای سرویس گیرنده و یک مرکز صدور و اعطای گواهینامه دیجیتال (Certificate authorities) نیاز است. وظیفه CA این است که هویتِ طرفینِ ارتباط، آدرسها و تاریخ انقضای گواهینامه را بداند و براساس آن ها هویتها را تعیین نماید.
SSL چگونه کار می کند؟
SSL در اصل پروتکلی است که در آن ارتباطات بوسیله یک کلید، رمزگذاری (Encryption) می شوند. زمانی که قرار است یکسری اطلاعات را به صورت اس اس ال به یک سایت که سرور (server) اش گواهی نامه SSL دارد (در آدرس سایت https است) ارسال شود. ابتدا باید از یک کلید به عنوان یک قالب برای به رمز در آوردن اطلاعات بین سرویس گیرنده (کاربر) و سرویس دهنده (سرور) استفاده شود. برای ایجاد این کلید نیاز به چند مرحله هماهنگی به صورت زیر است.
1. وقتی یک سرور بخواهد پروتکل اSSL را فعال کند. ابتدا یک کلید عمومی (Public Key) می سازد.
2. سپس کلید عمومی را به همراه یک درخواست گواهی نامه SSL (کُد CSR) به یکی از صادرکنندگان این گواهی نامه ها مثل Glob SSL میفرستد.
3. Glob SSL نیز ابتدا مشخصات و میزان قابل اعتماد بودن و امنیت سرور را ارزیابی کرده و کلید عمومی را مجددا رمزگذاری می کند و برای سرور می فرستد تا در انتقال اطلاعات خود از آن استفاده کند. به این کلید جدید کلید امنیتی (private key) می گویند.
4. حال هر زمان که کاربر بخواهد از طریق پروتکل SSL به این سایت دسترسی داشته باشد، ابتدا کامپیوتر سرویس گیرنده (کاربر) یک کلید عمومی برای سرور می فرستد (هر کامپیوتری کلید مخصوص به خود را دارد).
5. سرور نیز این کلید عمومی را با کلید امنیتی خود ادغام کرده و از آن کلید جدیدی می سازد. سپس آن را به کامپیوتر کاربر می فرستد.
6. از این به بعد همهی اطلاعاتی که بین کاربر و سرور تبادل می شوند با این کلید جدید رمزگذاری میشوند.
تا اینجا با مراحل کار کردن SSL آشنا شدیم.
چگونه می توان مطمئن شد، یک سایت از SSL استفاده می کند؟
این مورد ساده اما بسیار مهم است. برای این کار ابتدا وارد سایت مورد نظر شوید. زمانی که صفحه به طور کامل بارگزاری (load) شد، به ابتدای آدرس آن نگاه کنید. می بایست به جای http حروف https نوشته شده باشد (منظور از حرف s در پایان http عبارت secure است). البته در این حالت یک علامت قفل هم در مرورگر دیده می شود. جای این قفل در مرورگرهای مختلف متفاوت است. در فایرفاکس و اینترنت اکسپلورر در پایین و سمت راست صفحه، در نوار وضعیت (status bar) و در مرورگرهای سافاری، کروم و اپرا در سمت راست آدرس دیده می شود.
نکته جالب در خصوص این قفل کوچک این است که با دو بار کلیک کردن بر روی آن، میتوانید مشخصات کامل گواهی SSL سایت مورد نظرتان را ببینید. مهمترین نکته در خصوص این اطلاعات تاریخ خرید و انقضای این گواهینامه است که باید به آن توجه داشته باشید.
حتی اگر اطلاعات چندان مهمی را تبادل نمی کنید، پیشنهاد میکنیم که از SSL استفاده کنید.
مزایای SSL
- حفاظت از اطلاعات
- تائید هویت کاربر
- SSL پیشنیاز اصلی دریافت نماد اعتماد دوستاره است
- ایجاد حس اطمینان به کاربر
- بهبود رتبه شما در نتایج موتورهای جستجو
گواهی SSL شامل چه اطلاعاتی میباشد؟
- نام دامنهای که گواهینامه SSL برای آن صادر شده است.
- برای چه شخصی یا سازمانی صادر شده است.
- کدام سازمان گواهینامه آن را صادر کرده است.
- تاریخ صدور گواهینامه
- تاریخ انقضاء گواهینامه
- کلید عمومی
نصب SSL بر روی Adobe Connect
به دلیل افزایش تقاضا برای برگزاری کلاسها بصورت آنلاین و مجازی، برگزار نمودن کنفرانسهای تحت وب، وبینارها و آموزش مهارتها از راه دور، لازم است از یک سیستم جامع برای مدیریت و برقراری این سرویسها استفاده شود. به وسیله سیستم وب کنفرانس Adobe Connect، معنای حقیقی ارتباط مجازی و کلاس آنلاین بصورت تصویری و محاورهای شکل میگیرد. Adobe Connect یک نرم افزار آموزشی تحت وب می باشد. با توجه به این که امروزه این تکنولوژی جایگزین آموزش سنتی شده است، نرم افزار Adobe Connect به عنوان یکی از بهترینهای پلت فرمهای آموزشی به شمار میرود.
جهت نصب SSL بر روی URL ادوب کانکت، نیاز است ابتدا یک گواهینامه SSL تهیه نمائید، البته با توجه به اینکه دامین و یا سابدامین مورد استفادهی شما دامنهی ir هست یا بینالمللی، میبایست یکی از گواهینامههای Certum و یا GlobSSL را تهیه نمائید، البته در این میان ارائه دهندگان گواهینامهی SSL نیز هستند که SSL رایگان 90 روزه ارائه میکنند، از جملهی این ارائه دهندگان میتوان به Let’s encrypt و ZeroSSL اشاره نمود.
در این آموزش ما برای Secure نمودن یا فعّالسازی گواهینامه SSL بر روی URL ادوب کانکت از گواهینامه ZeroSSL استفاده کردهایم.
ایجاد SSL Certificates
ابتدا وارد سایت zerossl.com میشویم و مطابق با تصویر زیر بر روی Get Free SSL کلیک میکنیم.
نیاز است که در سایت zerossl.com ثبت نام کنیم، مطابق با تصویر زیر فیلدهای مورد نیاز جهت ثبت نام را وارد میکنیم.
پس از ثبت نام و ورود به سایت، روی دکمهی New Certificate کلیک نمائید.
در فیلد Enter Domain نام دامنه (یا URL ادوب کانکت بدون //:http ) را وارد نمائید. پس از درج آن مشاهده مینمائید که تیک سبز رنگ روبروی نام دامنه نمایان میشود، سپس روی دکمهی Next Step کلیک میکنیم.
در این مرحله Day Certificate 90 را انتخاب نموده و روی Next Step کلیک میکنیم.
در صورتیکه از قبل CSR و Private Key ایجاد نموده بودید آن را در ادامه import نمائید ولی ما در این بخش، از Auto-Generate CSR استفاده میکنیم، با زدن این گزینه، یک CSR بصورت اتوماتیک ساخته شده و Private Key به همراه Certificateها به ما ارائه میشود.
در حالیکه SSL Free در حالت Selected است، روی Next Step کلیک میکنیم
در این بخش یک روش Verification برای تائید SSL انتخاب میکنیم، سه مرحله پیش رو داریم :
- verify از طریق ایمیل : یک ایمیل به آدرس [email protected] ارسال میشود که میبایست طبق دستورالعمل اعلام شده در ایمیل، verification code ایمیل شده را در لینکی که در ایمیل ارسال شده قرار دهید.
- Verify از طریق DNS : یک Cname Record به شما ارائه میگردد و میبایست در DNS Server دامنه مورد نظر آن را ایجاد نمائید.
- Verify از طریق HTTP File : یک مسیر مشخص شده به ما ارائه میشود که میبایست در مسیر اصلی سایت ایجاد گردد و سپس یک txt file در آن مسیر ایجاد شود.
در اینجا ما از روش verify ایمیل استفاده میکنیم.
پس از انجام مراحل Verification ایمیل، با صفحهای مطابق با تصویر زیر مشاهده میکنیم
مشاهده میکنیم که SSL ایجاد شد و از طریق دکمهی Download Certificate اقدام به دانلود Certificateها میکنیم.
فایل زیپ دانلود شده را باز میکنیم، مشاهده میکنیم که سه فایل Certificate.crt ، ca_bubdle.crt و private.key در فایل مذکور generate شده و به ما ارائه شده است.
نصب Certificate بر روی Adobe Connect
جهت نصب SSL بر روی adobe connect به یک پیشنیاز به نام STunnel نیاز داریم. در STunnel ما SSL خود را که از یک شرکت تهیه کرده ایم را وارد میکنیم و سپس با استفاده از تنظیماتی که adobe connect مقرر کرده است آن را تکمیل میکنیم. جهت دانلود Stunnel از این لینک اقدام میکنیم.
مراحل نصب Stunnel آغاز میشود، در اولین مرحله دکمهی I Agree را کلیک میکنیم.
گزینهی Install for anyone using this computer را انتخاب و سپس روی Next کلیک میکنیم.
در این مرحله بدون اعمال هیچ گونه تغییری روی Next کلیک میکنیم.
در این قسمت مسیر نصب Stunnel را مشخص میکنیم، در اینجا ما مسیر را در داخل فولدر Connect مربوط با Adobe connect انتخاب کردهایم.
مراحل نصب Stunnel آغاز شده است، در این مرحله یک پنجره باز میشود که میبایست اطلاعاتی همچون علامت اختصاری کشور، نام شهر، و نام FQDN ای که برای adobe connect در نظر گرفتهایم را وارد کنیم.
نصب اکنون به اتمام رسیده و روی Finish کلیک میکنیم.
وارد مسیر نصب Stunnel میشویم و یک فولدر به نام Certs ایجاد میکنیم.
اکنون Certificateهای دانلود شده در مرحلهی قبل را در فولدر Certs اکسترکت میکنیم.
اکنون نیاز است تغییرات جزئی در Certificateها اعمال کنیم، بدین منظور ابتدا دو فایل Certificate.crt و ca_bubdle.crt را با برنامهی ++ notepad باز میکنیم، Certificate درون فایل ca_bubdle.crt را کامل کپی کرده و در انتهای فایل Certificate.crt قرار میدهیم و سپس Certificate.crt را save میکنیم.
سپس به فولدر Certs برگشته، و فایل Certificate.crt را به Certificate.pem تغییر نام میدهیم.
اکنون وارد مسیر C:\Connect\Stunnel\config شده و فایل stunnel.conf را ویرایش میکنیم، در انتهای فایل stunnel.conf این قطعه کُد را قرار میدهیم:
[https-vip]
accept = 192.168.0.1:443
connect = 127.0.0.1:8443cert = C:\Connect\Stunnel\Certs\certificate.pemkey = C:\Connect\Stunnel\Certs\private.keyciphers = TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES2
[acts]accept = 192.168.0.1:6443connect = 127.0.0.1:9002
cert = C:\Connect\Stunnel\Certs\certificate.pemkey = C:\Connect\Stunnel\Certs\private.keyciphers = ALL:!AECDH:!ADH:!LOW:!EXP:!MD5:@STRENGTH
در نظر داشته باشید که آیپیای که مقابل accept قرار میدهید آیپی سروری است که adobe coonect روی آن نصب شده است و در بخشهای cert و key میبایست نام Certificate.pem و مسیر آن و نام private.key و مسیر آن را قرار میدهیم و فایل را save میکنیم.
اکنون به مسیر C:\Connect\10.8.0 رفته و فایل custom.ini را ویرایش میکنیم، قطعه کُد زیر را در انتهای فایل custom.ini قرار داده و فایل را save میکنیم.
ADMIN_PROTOCOL=https://
SSL_ONLY=yes
RTMP_SEQUENCE=rtmp://external-host:1935/?rtmp://localhost:8506/
ACTS_PROTOCOL=wss:6443
HTTP_AUTH_HEADER=11040
اکنون به مسیر C:\Connect\10.8.0\appserv\conf میرویم و فایل server.xml را ویرایش میکنیم، در این فایل لازم نیست کُدی اضافه کنیم ولی میبایست چند خط کُد را Uncomment کنیم _از حالت Comment خارج کنیم)
<Executor name=”httpsThreadPool”
namePrefix=”https-8443-”
maxThreads=”350″
minSpareThreads=”25″/>
و
<Connector port=”8443″ protocol=”HTTP/1.1″
executor=”httpsThreadPool”
enableLookups=”false”
acceptCount=”250″
connectionTimeout=”20000″
SSLEnabled=”false”
scheme=”https”
secure=”true”
proxyPort=”443″
URIEncoding=”utf-8″
relaxedQueryChars=”{}|<>"”/>
مجدداً تاکید میکنم نیازی به اضافه نمودن کُدهای فوق به فایل server.xml نیست تنها نیاز است علامت –!> و<– را از سطر اول و آخر حذف کنیم و فایل server.xml را save میکنیم.
مرحلهی آخر این است که باید سرویس Stunnel را نصب کنیم، بدین منظور cmd سرور را باز میکنیم و به مسیر C:\Connect\Stunnel\bin میرویم و سپس کامند stunnel.exe -install را اجرا میکنیم.
مطابق با تصویر زیر مشاهده میکنیم که سرویس stunnel نصب شده است.
اکنون بخش services سرور را باز میکنیم مشاهده میکنیم که یک سرویس با نام Stunnel TLS wrapper اضافه شده و در حالت Stop قرار دارد، روی سرویس راست کلیک کرده و آن را Start میکنیم.
پس از start شدن سرویس، نیاز است سرور را یک بار ریبوت کنیم، پس از ریبوت سرور و لود شدن سرویسهای adobe connect مشاهده میکنیم که URL ادوب کانکت در مرورگر بصورت secure نمایش داده میشود.