SSL چیست؟ چرا نیاز به استفاده از گواهینامه SSL در وب سایت خود داریم؟
در این نوشته ضمن بررسی کامل گواهینامه SSL نحوه نصب و فعال سازی آن روی سایت های وردپرسی را نیز مورد بررسی قرار خواهیم داد.
SSL چیست و چگونه کار میکند؟
SSL مخفف Secure Sockets Layer به معنای لایه سوکت های ایمن است و در واقع تکنولوژی استانداردی برای ایمن کردن اتصالات در فضای اینترنت است تا داده های حساسی که بین سیستم ها رد و بدل میشوند امنیت کامل داشته باشند و مجرمان اینترنتی نتوانند این اطلاعات را مشاهده یا دستکاری کنند.
سیستم هایی که در فضای اینترنت در حال رد و بدل کردن اطلاعات هستند میتوانند سرور و کلاینت باشند ( مثل زمانی که کاربر مشغول خرید از یک فروشگاه اینترنتی است ) و یا سرور و سرور باشند ( به طور مثال اپلیکیشن هایی که اطلاعات شخصی را در خود جا داده اند)
به طور مثال تصور کنید که مشغول خرید از یک فروشگاه اینترنتی هستید که به درگاه پرداخت بانک متصل میشوید ، اگر امنیت اتصال شما با سرور به درستی برقرار نباشد و اطلاعات حساب بانکی شما در میانه راه توسط هکرها مشاهده و دزدیده شود چه چیزی در انتظار شماست؟
اما SSL چگونه کار میکند؟
زمانی که شما مشغول مشاهده یک وب سایت هستید اطلاعات بین مرورگر شما و سرور در حال جا به جا شدن هستند . این اطلاعات به شکل متن جا به جا میشوند و در صورتی که این متن به شکل ایمن ارسال نشده باشد هکر ها میتوانند با انجام حملاتی مثل Man in the middle اطلاعات را بدزدند ، یا آن را تغییر دهند.
نحوه عملکرد SSL به این شکل است که اطلاعاتی که بین دو سیستم در حال رد و بدل شدن هستند را از طریق رمز گذاری غیر قابل خواندن میکند و به همین دلیل هکرها در طول مسیر نمیتوانند به این اطلاعات دسترسی داشته باشند ، آن ها را ببینند و یا دستکاری کنند.
در واقع زمانی که کاربر وب سایتی که با SSL ایمن شده را باز میکند یک اتصال یا Connection امن از طریق فرآیندی با نام SSL Handshake بین مرورگر و وب سرور ایجاد میشود . در ایجاد این اتصال از سه کلید استفاده میشود : کلید عمومی ، کلید خصوصی ، کلید نشست . هر چیزی که با کلید عمومی رمزگذاری شده باشد با کلید خصوصی قابلیت رمزگشایی دارد و برعکس . به این شیوه اطلاعات یه هیچ عنوان در میانه راه قابل دزدیده شدن نیستند.
زمانی که وب سایتی با استفاده از SSL ایمن شده باشد در ابتدای آدرس آن عبارت HTTPS ظاهر میشود که مختفف Hyper Text Transfer Protocol Secure است و در واقع S آخر آن به جهت ایمن شدن سایت با استفاده از SSL اضافه شده است.
در این وب سایت ها در مرورگرهای متفاوت میتوان با زدن روی علامت قفل کنار سایت ، اطلاعات جزئی تری درباره نوع گواهینامه ، مالک سایت و … به دست آورد.
تاثیر SSL روی سئو سایت
امنیت یکی از فاکتورهای گوگل برای رتبه دهی سایت هاست و گوگل بخشی را در سرچ کنسول خود به شناسایی و رفع مشکلات امنیتی وب سایت ها اختصاص داده است.
به طور کلی از سال 2014 گوگل اعلام کرد که برای سایت هایی که از SSL استفاده میکنند امتیازاتی قائل میشود ، این به این معناست که در صورتی که وب سایت شما از گواهینامه SSL استفاده کرده باشد در شرایط برابر با سایتی که این گواهینامه را ندارد ، رتبه بالاتری کسب خواهد کرد و شرایط بهتری از نظر سئو تجربه میکند.
این تاثیر به شکلی نیست که سایت هایی که از SSL استفاده میکنند در گوگل به رتبه های برتر نرسند ولی توصیه ما به شما این است که حتما این گواهینامه را روی وب سایت خود فعال کنید.
نصب و فعال سازی SSL روی سایت وردپرس
برای نصب SSL روی سایت وردپرس باید مراحل زیر را طی کنید :
1.نصب SSL رایگان یا پولی در هاست
در اولین قدم شما باید اقدام به تهیه یک گواهینامه SSL نمایید و آن را روی دامنه خود نصب کنید. اکثر شرکت های هاستینگ ایرانی اقدام به ارائه SSL های رایگان روی پلن هاست های خود مینمایند.
در صورتی که قصد استفاده از این گواهینامه ها دارید در تماس با شرکت هاستینگ خود از آن ها تقاضا کنید که این گواهینامه را برای دامنه مدنظر شما نصب کنند.
در صورتی که قصد استفاده از SSL های پولی را دارید باید از طریق کنترل پنل هاست خود اقدام به نصب گواهینامه مدنظر نمایید.
2.ویرایش آدرس های وردپرس
بعد از نصب SSL باید آدرس های سایت را تغییر دهیم تا از این به بعد به جای http:// سایت با https:// باز شود .
برای انجام دادن اینکار از دو طریق میتوان اقدام کرد :
1.تغییر آدرس از طریق پیشخوان وردپرس
برای انجام دادن این کار از طریق پیشخوان وردپرس ، وارد بخش تنظیمات-> همگانی شوید . دو فیلد نشانی وردپرس (URL) و نشانی سایت (URL) برای آدرس سایت و نشانی که وردپرس در آن نصب است مورد استفاده قرار میگیرند و این دو فیلد باید تغییر کنند.
این دو آدرس در صورتی که SSL روی سایت شما نصب نشده باشد با http:// شروع میشوند که باید آن را به https:// تغییر دهید . پس از تغییر روی گزینه ذخیره تغییرات کلیک کنید تا تغییرات ذخیره شود.
در نظر داشته باشید که در این حالت ممکن است از به شکل اتوماتیک حساب ادمین خارج شوید و نیاز به ورود مجدد داشته باشید.
2.تغییر آدرس از طریق دیتابیس
برای تغییر آدرس از طریق دیتابیس ، وارد کنترل پنل هاست خود شوید و از آنجا به phpMyAdmin مراجعه کنید . دیتابیس وب سایت مدنظر را انتخاب کنید و در جدول wp_options به دنبال گزینه home و siteurl بگردید.(دو گزینه اول به صورت پیش فرض مشخص کننده این دو مورد هستند)
با کلیک روی Edit کنار هر فیلد میتوانید مقادیر فیلدها آن ها را ویرایش کنید .در این مرحله http:// را به https:// تغییر دهید و در ادامه در انتهای صفحه روی Go بزنید.
3.ویرایش فایل htaccess
قدم بعدی ریدایرکت کردن آدرس هایی که با http:// لود میشوند به آدرس های جدید ( با https://) است. زمانی که شما SSL روی سایت خود نصب میکنید در واقع آدرس سایت شما از http://site.com به https://site.com تغییر پیدا میکند ، که این دو آدرس از نظر گوگل دو سایت مجزا هستند .
به همین جهت برای اطمینان از اینکه تغییر آدرس به شکل صحیح توسط گوگل دیده شود و هر دو آدرس از نظر گوگل یک آدرس در نظر گرفته شوند و علاوه بر این برای اینکه کاربران اگر آدرس قدیمی را وارد کردند به شکل اتوماتیک به آدرس جدید هدایت شوند باید آدرس های قدیمی را با ریدایرکت 301 به آدرس های جدید ریدایرکت کنیم.
برای انجام دادن این کار کافی هست که کد زیر رو توی فایل .htaccess سایت مدنظرتان وارد کنید
<IfModule mod_rewrite.c> RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule>
دقت کنید که کدهای بالا قبل از عبارت # BEGIN WordPress قرار بگیرند تا مشکلی از جهت عملکرد این بخش و بخش های دیگر به وجود نیاید.
4.ویرایش فایل wp-config.php
در مرحله آخر باید با اضافه کردن یه سری کدها به فایل wp-config.php صفحه پیشخوان و صفحه ورود سایت وردپرس را ایمن میکنیم.
برای اینکار کافی هست که وارد هاست شده و از طریق فایل منیجر فایل wp-config.php را باز کنیم و آن را در محل مناسبی (مثلا زیر خط /* That’s all, stop editing! Happy blogging. */ ) قرار دهیم.
define(‘FORCE_SSL_LOGIN’, true); define(‘FORCE_SSL_ADMIN’, true);
پس از انجام دادن این کار ، پیشخوان و صفحه ورود سایت وردپرس شما نیز ایمن شده و داده ها در این صفحات هم با امنیت بالا جا به جا خواهند شد.
5.رفع مشکل عدم نمایش آیکون SSL در وردپرس
یکی از مشکلاتی که بعد از نصب SSL برای کاربران سایت های وردپرسی به وجود می آید این است آیکون SSL در وب سایت آن ها به درستی نمایش داده نمیشود و پیغامی تحت این عنوان به آن ها نمایش داده میشود : ” parts of this page are not secure (such as images)”
نکته مهمی که پس از نصب SSL روی سایت های وردپرسی باید در نظر بگیرید این است که کل آدرس ها و لینک های سایت از http:// به https:// تغییر کنند ، در غیر این صورت پیغام فوق همواره به شما نمایش داده خواهد شد.
برای انجام دادن اینکار دو روش وجود دارد :
1.استفاده از افزونه Really Simple SSL
افزونه Really Simple SSL را از مخزن وردپرس نصب و روی سایت خود نصب کنید.
پس از نصب از پیشخوان وردپرس خود به مسیر تنظیمات->SSL بروید و مطابق تصویر زیر گزینه Active SSL را بزنید.
2.جایگزینی آدرس ها از طریق دیتابیس
راه حل دیگری که برای این کار وجود دارد جایگزینی آدرس ها از طریق دیتابیس است ، برای انجام دادن این کار دو روش وجود دارد :
یکی استفاده از کوئری های SQL در phpMyAdmin
و روش دوم استفاده از افزونه برای جایگزینی آدرس ها در دیتابیس
راه حل دوم ساده تر و راحت تر است ، برای اینکار شما میتوانید از افزونه Better Search and Replace استفاده کنید و آدرس قدیمی سایت را با آدرس جدید جایگزین کنید.
حتما قبل از انجام هرگونه تغییرات از دیتابیس خود بک آپ تهیه کنید