SSL چیست ؟ (به زبان ساده و راهنمای نصب)
حتما تا الان در مورد اینکه ssl چیست مطالب زیادی شنیده اید و میدانید که اس اس ال چقدر میتواند در وبسایت شما مفید باشد ولی اینکه دقیقا بدانیم چیست و چطور میتوان آن را دریافت و نصب کرد موضوع کامل صحبت امروز ماست.
مطلب SSL چیست ؟ (به زبان ساده و راهنمای نصب) در تاریخ دهم دی ماه بازنویسی و کامل بروزرسانی شد
ssl چیست
بگذارید قبل از اینکه از نظر فنی و ساختاری بدانیم ssl چیست بیاییم در مورد کاربرد نمایشی آن که دقیقا کجا باید ssl را ببینیم صحبت کنیم.
اگر دقت کنید زمانی که یک سایت معمولی را با 90 درصد مرورگر های معروف دنیا باز میکنید شروع آدرس وبسایت با http که مخفف Hyper Text Transfer Protocol میباشد و کنار آدرس نوشته شده Not Secure
اگر آدرس ما با https شروع شود و کلمه Not Secure تبدیل به یک قفل سبز شود قطعا ssl ما به درستی نصب شده است پس اگر سایتی را میبینید که این ویژگی را دارد مطمئن باشید که ssl در این سایت نصب شده است.
مفهوم ssl چیست
کلمه SSL مخفف Secure Socket Layer به معنای “لایه امن پروتکل” است.
یادتان هست مقاله را با فرق بین http و https شروع کردیم؟ پروتکل دقیقا همین است یعنی هرکجا از پروتکل آدرس صحبت کردیم یعنی همین
شاید برایتان جالب باشد که اگر روال انتقال اطلاعات و ذخیره سازی مخصوصا در وب به صورت معمولی رد و بدل میشد یعنی شما رمز عبورتان 12345 بود به همین صورت سایت از شما دریافت میکرد و منتقل میکرد.
فرض کنیم شما در نقطه A هستید و سایت در نقطه B قرار دارد و شما اطلاعاتی را به سایت ارسال میکنید، در این بین یک هکر میتواند بین دو نقطه قرار گیرد و اطلاعات جابه جا شده را رصد کند.
چون تمامی اطلاعات در حالت http به صورت متن ساده plain text منتقل میشود و هر کسی میتواند آن را بخواند و متوجه شود ولی وقتی https که مخفف Hyper Text Transfer Protocol Secure است معرفی شد حتی سرویس دهنده های اینترنت نیز نمیتوانند اطلاعات مهم شما را استخراج کنند.
اما با پیشرفت امنیت تصمیم بر آن شد که این اطلاعات بین کاربر (Client) و سرور سایت (Server) به صورت حروف و اعداد ناخوانا نمایش داده شوند، اصطلاحا رمزنگاری (Encrypt) میگویند و در مقصد یعنی سایت از این حالت خارج شده و به حالت معمولی رمزگشایی (Decrypt) شوند.
اینطور هر هکری به اطلاعات دست پیدا میکرد با چیز هایی روبه رو میشد که مفهومی نداشت، در یک جلمه SSL یک مسیر رفت و آمد اطلاعات به صورت امن و غیر قابل دسترسی است.
سال ۱۹۹۶ میلادی شرکت Netscape برای نقل و انتقال امن و رمزی اطلاعات ssl را ساخت و اکنون تقریبا تمام مرورگرهای استاندارد دنیا مثل فایر فاکس، اینترنت اکسپلورر، اپرا، گوگل کروم و سافاری از آن پشتیبانی می کنند.
روش دریافت ssl
برای داشتن ssl روی سایت شما دو راه بیشتر ندارید:
- گواهی ssl تهیه کنید
- گواهی ssl رایگان بگیرید
اول باید این نکته را بدانیم که ssl یک ابزار مدت دار شبیه دامنه و هاست است و ما ssl دائمی فعلا نداریم و به صورت گواهی (لایسنس) عرضه میشود یعنی ما یک گواهی ssl را به مدت یک سال تهیه میکنیم و بعد از یک سال میتوانیم مجدد تمدید کنیم.
گواهی ssl در انواع مختلف صادر میشود که شامل:
Let’s Encrypt : معروف به اس اس اس رایگان که به صورت سه ماهه عرضه میشود و کاملا رایگان با قابلیت تمدید است.
standard : به صورت پولی عرضه میشود معمولا هزینه زیادی ندارد و به صورت سالیانه قابل تهیه و تمدید است.
Wildcard : همه گواهی ها امکان نصب روی ساب دامنه مثلا test.maralhost.com را ندارد و این نوع گواهی صرفا جهت پوشش دادن سایت و ساب دامنه ها استفاده میشود.
Organization Validated یا (OV) : در این نوع گواهی نیازمند به ثبت شرکت و ترجمه مدارک هستید و اطلاعات شرکت شما در گواهی نمایش داده میشود و معتبر تر است.
Extended Validation یا (EV) : در این نوع گواهی نیازمند به ثبت شرکت و ترجمه مدارک هستید و اطلاعات شرکت شما در گواهی نمایش داده میشود و به جای قفل سبز اسم شرکت شما به کاربران نمایش داده میشود.
آموزش دریافت ssl
تهیه ssl رایگان
زمانی که قصد تهیه هاستی دارید و میخواهید Let’s Encrypt به صورت تمدید خودکار داشته باشید در مشخصات هاست به ssl رایگان حتما دقت کنید.
اگر هاست شما این مورد را داشت نیاز به کار پیچیده ای نیست روش معرفی در دو کنترل پنل معروف سی پنل و دایرکت ادمین گفته شده است.
نصب ssl رایگان در سی پنل
برای اینکار وارد کنترل سی پنل میشویم از Security روی گزینه SSL/TLS Status کلیک میکنیم.
در صفحه جدید لیست ssl های نصب شده یا دامنه های داخل سایت ها نمایش داده میشود، از طریق تیک کنار اسم دامنه مورد نظر را انتخاب میکنیم و اگر دقت کنید سه دکمه کنار هم داریم که آخرین گزینه آن Run AutoSSL است که روی آن کلیک میکنیم.
یک پروسه در حد یک دقیقه ای فرایند نصب ssl خودکار طول خواهد کشید.
در نهایت دامنه مورد نظر ما اضافه شده و یک قفل سبز کنار آن با تاریخ اتمام و پیامی مبنی بر نصب صحیح نمایش داده خواهد شد.
نصب ssl رایگان در دایرکت ادمین
وارد دایرکت ادمین میشویم از بخش Account Manager روی گزینه SSL Certificates کلیک میکنیم.
در این صفحه ما 5 تب که اشاره به انواع نصب ها دارد را میبینیم ولی روی Free & automatic certificate from Let’s Encrypt کلیک میکنیم.
در این بخش ابتدا آدرس دامنه را وارد میکنیم و با آیتم های Key Size و
در نهایت در تب Paste a pre-generated certificate and key باید اطلاعات ssl + تاریخ انقضا را ببینیم.
اما اگر به هر دلیل نتوانستید از ssl رایگان خودکار استفاده کنید میتوانید از طریق سایت sslforfree اس اس ال کاملا رایگان به صورت سه ماهه دریافت کنید.
وارد این سایت میشویم و آدرس سایتمان را در کادر مربوطه در عکس وارد میکنیم.
پس وارد کردن اسم سایت به مرحله عضویت خواهیم رفت، در سایت عضو میشویم و وارد پنل کاربری میشویم.
بعد از ورود روی گزینه New Certificate کلیک میکنیم.
وارد مراحل نصب میشویم، در این مرحله مجدد اسم سایت را وارد میکنیم و روی Next Step میزنیم.
در این مرحله مدت زمان SSL را انتخاب میکنیم، پیشفرض و رایگان 90 روز قابل انتخاب است و 1 سال پولی عرضه میشود.
در این مرحله پلن های SSL با تمامی امکانات به ما نشان داده میشود که پلن اول رایگان است پیشفرض انتخاب شده ما فقط Next Step را میزنیم.
در این مرحله سه روش تایید اینکه ما واقعا صاحب سایت هستیم به ما داده شده و بهترین روش آن همین روش اول یعنی ارسال ایمیل است.
از لیست یکی از ایمیل هارا انتخاب میکنیم و وارد ایمیل سایت میشویم و با لینک تایید مالکیت ما تایید میشود.
بلافاصله در مرحله بعد با زدن Verify Domain بررسی میکند اگر تایید کرده باشیم فایل های ssl را به ما میدهد که اگر سوال برایتان پیش آمد که فایل ssl چیست باید بگوییم که در مرحله بعد مفصل توضیح دادیم.
خرید ssl
شاید برایتان سوال شود که فرق پولی و رایگان بودن در ssl چیست ؟ خیلی فرق آنچنانی ندارند ولی ssl پولی در نسخه های سازمانی فرق بیشتری دارد و اینکه ssl رایگان را هر سه ماه باید تمدید کنید که شاید باید هر سه ماه به فکر باشید.
فرایند ssl های پولی به صورت دستی انجام میشود.
به شما بعد از طی کردن تمامی مراحل خرید 3 فایل به اسم های certificate.crt , ca_bundle.crt , private.key داده میشود که محتوا هر کدام شامل یک سری کد است.
برای نصب در سی پنل به پنل اصلی بر میگردیم و روی گزینه SSL/TLS کلیک میکنیم.
در این صفحه روی گزینه Manage SSL sites کلیک میکنیم.
در انتهای این صفحه دامنه را انتخاب میکنیم محتویات فایل های داده شده را به دقیقا به ترتیب اسم جایگذاری میکنیم.
در دایرکت ادمین نیز تقریبا پروسه به همین شکل است به همان بخش SSL Certificates که در مرحله رایگان بر میگردیم و در تب ها روی Paste a pre-generated certificate and key کلیک میکنیم.
اینجا نیز محتویات فایل هارا درج میکنیم، فقط نکته ای که اینجا وجود دارد این است که ما 3 فایل داریم ولی اینجا دو بخش برای وارد کردن اطلاعات داریم.
محتویات certificate.crt و ca_bundle.crt را در بخش آخر پشت سر هم وارد میکنیم.
منقضی شدن ssl
دقت کنید که اگر ssl سایت تمام شود باید سریعا آن را تمدید کنید چون در غیر این صورت سایت شما ناامن تشخصیص داده میشود و کاربران سایت با خطای زیر مواجه میشوند.
نصب ssl در سایت
لازم است قبل از انجام هر کاری از سایت خودتان یک نسخه پشتیبان (بک آپ) تهیه کنید تا در صورت نصب ناقص بتوانید سایت را به حالت اول برگردانید.
سایت وردپرسی
در سایت وردپرسی چندین راه وجود دارد که مفصل همه روش هارا توضیح میدهیم.
لازمه این بخش نصب درست گواهی ssl در کنترل پنل هاست که در مراحل قبل توضیح داده شده است.
وردپرس از نظر ssl به دو بخش مدیریت سایت و بخش نمایشی سایت تقسیم میشود، اولین کاری که شما باید بکنید این است که در بخش مدیریت سایت ssl را فعال کنید برای این مورد وارد بخش فایل های سایت پوشه public_html میشوید و فایل wp-config.php را باز میکنید.
در خط بالایی That’s all, stop editing کد زیر را درج کنید.
define('FORCE_SSL_ADMIN', true);
حتما دقت کنید که در انتهای کد علامت ; درج شده باشد.
بعد از این مرحله وارد بخش مدیریت سایتتان شوید و از منو سمت راست گزینه تنظیمات -> عمومی را بزنید.
نشانی وردپرس (URL) و نشانی سایت (URL) که با http شروع شده اند را با https کنید و صفحه را ذخیره کنید.
طبیعی است که وردپرس بعد از ذخیره شدن شما را از حساب کاربریتان خارج میکند.
مجدد لاگین کنید بسته به قالب و افزونه هایی که استفاده کرده اید ممکن است در این مرحله بسیاری از بخش های وبسایت را با قفل سبز و https درست مشاهده کنید با برعکس
برای نصب کامل بدون مشکل به بخش افزونه ها -> افزودن میرویم و افزونه Really Simple SSL را نصب میکنیم.
این افزونه به صورت خودکار همه چیز را شناسایی میکند و پس از نصب به منوی تنظیمات گزینه ssl منتقل میشود.
در بخش اول افزونه اطلاعات کلی اینکه ssl ما نصب است یا گواهی را شناسایی میکند یا خیر را میبینیم ولی اصل کار ما در تب دوم است.
وقتی ما ssl را فعال میکنیم ممکن است افزونه های غیر استاندارد در سایت ما نصب باشد و برخی صفحات با مشکل مواجه شوند و اصطلاحا ما به خطای mixed content برخورد میکنیم اولین گزینه یعنی تأیید کننده محتوای مختلف را برای همین مورد فعال میکنیم.
وقتی ما سایتمان را از http به https منتقل کردیم طبیعتا ربات های گوگل و بسیاری از ابزار ها و کاربران با همان آدرس http قبلی مواجه میشوند برای همین نیاز است ما از خاصیت ریدایرکت که همان منتقل کردن کاربران است استفاده کنیم.
پسوند 301 بیشتر برای ربات های گوگل استفاده میشوند که ما به آنها میفهمانیم صفحات سایت ما آدرسش عوض شده است.
هر گزینه دیگری که داریم کاملا به سایت ما برمیگردد مثلا اگر روش اول برای خطا های mixed content جواب نداد ما از گزینه از روش جایگزین برای رفع محتوای مختلط استفاده کنید استفاده میکنیم، ولی اگر سایت ما پیچیدگی خاصی ندارد فعال کرد همین گزینه هایی که گفتیم کفایت میکند.
حالا با ورود به سایت و رفرش شاهد قفل سبز و https خواهید بود.
ریدایرکت 301 دستی
اگر به هر دلیل نخواستید افزونه ssl نصب کنید یا اصلا سایتتان وردپرسی نیست و مشکل ریدایرکت داشتید میتوانید اینکار را به صورت دستی انجام دهید فقط به این صورت که وارد فایل منیجر هاست میشوید و داخل پوشه public_html فایل htaccess. باز کنید و کد زیر را در این فایل درج کنید.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
تست ssl
بعد از اینکه همه کار هارا انجام دادیم حالا وقت تست کردن و فهمیدن این است که ssl ما کاملا درست نصب شده یا نه برای همین وارد سایت ssllabs میشویم و جلوی گزینه Hostname آدرس سایتمان را وارد میکنیم.
شروع میکند و از سرور های مختلف سراسر دنیا سایت مارا بررسی میکند و به ssl سایت ما امتیاز میدهد اگر اینجا رتبه A یا نهایتا B دریافت کنیم یعنی کارمان را خوب انجام داده ایم.
نصب و سئو
برای اینکه مشکلی از نظر سئو نداشته باشید باید به ابزار هایی مثل سرچ کنسول آدرس جدید سایتتان را معرفی کنید و مجدد سایت جدید را معرفی کنید.
برای اینکار وارد search console میشویم و لیست سایت های ما که سرچ کنسول دارند را باز میکنیم و روی Add property کلیک میکنیم.
مجدد سایتمان را اینبار با آدرس https وارد میکنیم و تمام تایید هارا انجام میدهیم.
جمع بندی
ما مفصل در مورد اینکه ssl چیست صحبت کردیم و روش های تهیه و نصب آن را هم یاد گرفتیم ولی نکته ای که حتما باید رعایت کنیم این است که نسخه پشتیبان را فراموش نکنیم و با تغییر تمامی ابزار های متصل به سایت مخصوصا ابزار های سئو از آسیب های سئو جلوگیری کنیم.