بعد از آپدیت مرورگرهای گوگل کروم و فایرفاکس در چند ماه گذشته، اقداماتی از سمت این دو مرورگر برای بالا بردن امنیت سایت صورت گرفت. به این صورت که اگر هر سایتی که از SSL استفاده نمیکند و سایت فاقد پروتکل امن HTTPS است، عبارت ایمن نبودن سایت مورد نظر در آدرس بار مرورگر نمایش داده شود.
در واقع مرورگرهای اینترنتی سعی کردهاند که به این روش، استفاده از پروتکل امن HTTPS را برای آدرس دهی در صفحات سایت به یک کار توصیه شده تبدیل کنند تا دادههایی که بین بازدیدکننده و سایت رد و بدل میشود، در یک محیط امن صورت گیرد. بنابراین در این مقاله قصد داریم به نحوه نصب SSL در وردپرس بپردازیم که به کمک این آموزش می توانید اقدام به سبز کردن HTTPS در وردپرس کرده و دادهها را از طریق پروتکل امن HTTPS رد و بدل کنید.
اگر به آدرس صفحات سایتها دقت کنید پیش از این آدرسها بیشتر به صورت HTTP بودند که در این حالت دادهها بر روی این پروتکل که مخفف شده عبارت Hyper Text Transfer Protocol بر روی پورت 80 قابل دسترسی بودند.
در این پروتکل دادهها به صورت یک استاندارد ساده و به صورت کاملا متنی رد و بدل میشود که به سادگی و به دلیل اینکه هیچ گونه رمزنگاری روی آنها صورت نمیگیرد به راحتی از سمت شرکت ارائه دهنده اینترنت قابل شنود و خواندن هستند.
به عنوان مثال اگر کلمه عبور خود را که بر روی این پروتکل استفاده میشود به یک سرور دیگر منتقل کنید توسط نرمافزاهایی که سرویس دهنده اینترنت میتواند از آن استفاده کند قابل مشاهده هستند. بنابراین همین مسئله باعث میشود تا برای اطلاعاتی نظیر نامهای کاربری، کلمات عبور، حسابهای بانکی و… مشکلات جدی و امنیتی در صورت عدم دقت کافی به وجود آید. همین دلیل باعث شده است که عدم استفاده از این پروتکل در درگاههای بانکی ضروری است و اگر در اخبار روزانهای که در خصوص لو رفتن اطلاعات حساب بانکی و خصوصی افراد منتشر میشود دقت کنید، معمولا همه این دادهها در بستر HTTP رد و بدل شده است.
اینجاست که SSL وارد عمل شده و با رمزنگاری که روی بستر HTTPS که مخفف عبارت Hyper Text Transfer Protocol Secure است و در پورت 443 رد و بدل میشود، از این گونه مشکلات جلوگیری خواهد شد. SSL مخفف عبارت Socket Secure Layer میباشد که در صورت استفاده از SSL در وردپرس یا هر سایت دیگری پردازش دادهها در بستر HTTPS به صورت کدگذاری شده در یک محیط امن رد و بدل میشوند. به همین دلیل قابلیت شنود توسط سایرین وجود نخواهد داشت.
پیش از این استفاده از SSL صرفا برای شرکتها و سایتهایی فراهم بود که اقدام به خرید SSL از شرکتهای ارائه دهنده میکردند. اما امروزه با سرمایه گذاری شرکتهای امنیتی نظیر سیسکو و شرکتهایی مثل گوگل و فایرفاکس این بستر فراهم شده است که بتوانید از گواهینامههای امنیتی به صورت رایگان استفاده کنید که در این بین گواهینامه امنیتی let's encrypt محبوبترین گواهینامهای است که به صورت رایگان در دسترس قرار گرفته و در تمامی سایتها از آن استفاده میشود.
SSL یکی از پروتکلهای استاندارد برای انتقال دادهها بین سرویس دهنده(Server) و سرویس گیرنده(Client) به صورت رمزنگاری شده است. رمزنگاری اطلاعات در SSL به این صورت است که پس از برقراری ارتباط با پروتکل امن SSL دادهها توسط دو کلید رمزنگاری میشوند، کلید عمومی در این بین برای کاربران شخص سوم(بازدیدکنندگان یک سایت) قابل دسترسی است اما کلید خصوصی صرفا برای ارسال کننده و دریافت کننده داده قابل مشاهده خواهد بود.
گواهینامههای امنیتی SSL انواع مختلفی دارند که هر کدام با شرایط و قیمت مختلفی توسط ارائه دهنده ssl صادر میشوند. اگر بخواهیم به صورت کلی انواع آن را بررسی کنیم به سه دسته زیر تقسیم بندی میشوند.
در خرید SSL دقت کنید که هیچ محدودیتی برای تهیه SSL از نوع DV وجود ندارد. اما گواهینامههای امنیتی OV و EV به دلیل نیاز به ارائه مدارک حقوقی و سازمانی تنها به اشخاص حقوقی اعطا میشود. همچنین برای تهیه SSL EV نیاز به ارسال مدارک حقوقی خواهید داشت. گواهینامههای دیجیتال DV و OV به دو صورت Standard و WildCard SSL صادر میشوند.
گواهینامههای امنیتی از نوع Standard به این صورت هستند که امکان استفاده از آنها صرفا روی دامنه اصلی یا ساب دامنه قرار دارد. اما در گواهینامههای امنیتی که از WildCard پشتیبانی میکنند استفاده از آنها روی یک ساب دامین محدود نبوده و میتوانید در هر تعداد ساب دامنه که برای دامنه مورد نظر میسازید از آن استفاده کنید. برای همین است که SSL هایی که از ولید کارت پشتیبانی میکنند دارای قیمت بالاتر هستند.
نکاتی که قبل از خرید SSL باید به آنها توجه کنید
در EV SSL هم امکان استفاده صرفا روی نام دامنه فراهم است و به صورت WildCard ارائه نخواهد شد. بنابراین در صورتی که دارای ساب دامنه در سایت خود باشید، باید به صورت جداگانه یک گواهینامه امنیتی دیگر نیز تهیه کنید.
نصب SSL میتواند از شنود و ردگیری دادهها که بین کاربران رد و بدل میشود جلوگیری کند. بنابراین اصلیترین مزیت استفاده از پروتکل امن HTTPS افزایش امنیت سایت خواهد بود.
از آنجایی که نصب SSL به عنوان یکی از فاکتورهای سئو گوگل شناخته شده است و گوگل برای سایتهایی که از HTTPS استفاده میکنند امتیاز بیشتری در نظر گرفته، بنابراین استفاده از آن میتواند روی سئو سایت نیز تاثیر بسیار خوبی داشته باشد. این مسئله با نمایش دادن سایت غیر ایمن در سایتهایی که از HTTP استفاده میکنند بیشتر خود را نمایان میکند.
سومین مزیت استفاده از پروتکل امن SSL نیز امکان گرفتن نماد اعتماد الکترونیکی دو ستاره است.
اما به نظر شما آیا استفاده از SSL میتواند معایبی هم داشته باشد؟ قطعا در حالت کلی پاسخ منفی است و نمیتوان گفت که اصلا عیبی هم داشته باشد. اما برای ما کاربران ایرانی گاهی اوقات ارتباط بین سایت در این پروتکل دچار مشکل شده و با کندی سرعت در سایتهای استفاده کننده مواجه میشویم. البته این کندی سرعت فقط در حالتی رخ میدهد که ما از اینترنت ایران استفاده میکنیم، پس نگران این موضوع نباشید که موتورهای جستجو نیز همین حالت را داشته باشند.
همانطور که در بخش ابتدایی مقاله معرفی شد شرکتهای بزرگ اینترنتی به منظور بالا بردن سطح امنیت و حفظ حریم خصوصی سرمایه گذاری برای ارائه SSL رایگان را انجام دادهاند که به معرفی سه نوع SSL رایگان میپردازیم.
1- Let’s Encrypt
این گواهینامه که به عنوان پر استفادهترین SSL شناخته شده است، توسط گروه پژوهشی به نام ISRG ایجاد شده است که شرکتهای بزرگی نظیر فایرفاکس، گوگل، سیسکو، دیتاسنتر OVH و… در به وجود آمدن آن نقش دارند.
استفاده از این SSL کاملا رایگان بوده و در هاستهای Cpanel نیز هر سه ماه یکبار به صورت خودکار تمدید میشود. از مزیتهای این ssl هم امکان استفاده برای دامنههای IR است.
2- SSL For Free
این نوع SSL کلید خصوصی را با استفاده از یک API تحت وب توسط مرورگر ایجاد میکند. سپس اگر مرورگر شما از این API پشتیبانی کند بعد از اینکه برای یک بار ایجاد شد اطلاعات از روی مرورگر پاک خواهد شد و از این پس امکان استفاده از آن به صورتی که کلیدها به شکل OpenSSL در سرور سایت تولید شوند صورت میگیرد.
3- CloudFlare
SSL رایگان کلودفلر به صورت اشتراکی برای چندین دامنه صادر میشود. روند تمدید آن نیز به صورت یکساله است که پس از گذشت هر سال به صورت خودکار تمدید خواهد شد و تا دو سال میتوانید از SSL رایگان کلودفلر در کنار سایر خدمات امنیتی که ارائه میدهد استفاده کنید.
تنها اشکالی که دارد عدم امکان استفاده در دامنه IR. به دلیل تحریم است. اما اگر از دامنه بین المللی استفاده میکنید محدودیتی در استفاده از آن ندارید.
برای اینکه بتوانید از SSL استفاده کنید، قبل از هر چیزی نیاز به خرید SSL دارید که برای این کار میتوانید از شرکتهای هاستینگ اقدام کنید. بسته به نوع SSL که استفاده خواهید کرد، قیمت آن نیز متفاوت خواهد بود. نکتهای که در خرید SSL باید به آن توجه کنید این است که اولا گواهینامه امنیتی خریداری شده در صورت استفاده از دامنه IR. قابلیت پشتیبانی از این دامنه را داشته باشد، ثانیا اگر دارای چند ساب دامنه هستید، پشتیبانی از ولید کارد در آن وجود داشته باشد.
پس از خرید SSL نیز باید آن را روی هاست خود نصب کرده باشید تا در سیستمهای سایت ساز مانند وردپرس امکان نصب SSL در وردپرس را داشته باشید. معمولا از هر جایی که SSL را خریداری میکنید، نصب به صورت رایگان نیز قابل انجام است. اما اگر تمایلی به این کار ندارید یا بایت نصب آن هزینهای از شما دریافت میشود، میتوانید از مقاله آموزش نصب ssl در cpanel استفاده کرده و خودتان اقدام به نصب SSL بر روی هاست سی پنل بکنید.
قبل از شروع مراحل نصب SSL در وردپرس، برای اینکه از نصب صحیح SSL مطمئن شوید، کافی است آدرس سایت خود را به صورت دستی با پروتکل امن HTTPS به صورت https://site.com در مرورگر خود باز کنید. در صورتی که خطایی در مرورگر نمایش داده نشد، به این معنی است که SSL به درستی در هاست نصب شده و کافی است تنظیماتی که برای تغییر http به https در وردپرس وجود دارد را انجام دهید. حال در ادامه به معرفی کلیه مراحلی که باید برای نصب SSL دنبال کنید میپردازم.
اولین کاری که باید انجام دهید این است که ساختار آدرس در وردپرس را از http به https تبدیل کنید. یعنی لینکهایی مانند برچسب، دسته بندی، مطالب، آدرس تصاویر و… که از این پس در وردپرس ساخته میشوند باید روی بستر HTTPS باشد. بنابراین لازم است تنظیمات وردپرس را تغییر داده و ساختار آدرس را از HTTP به HTTPS تغییر دهید. برای این کار دو راه دارید. راه اول به سادگی از طریق صفحه تنظیمات خود وردپرس قابل انجام است و راه دوم در حالتی است که به تنظیمات وردپرس دسترسی نداشته باشید که در این حالت باید از دیتابیس اقدام کنید.
روش اول: تغییر آدرسهای وردپرس از تنظیمات
در این روش ابتدا با استفاده از نام کاربری و رمز عبور خود وارد پیشخوان وردپرس شده و به مسیر تنظیمات> عمومی مراجعه کنید. سپس مشابه تصویر زیر دو فیلد نشانی وردپرس (URL) و نشانی سایت (URL) را که به صورت ://http هستند را به ://https تغییر داده و برای ذخیره کردن تنظیمات روی دکمه ذخیره تغییرات که در انتهای صفحه قرار دارد کلیک کنید.
روش دوم: تغییر آدرسهای وردپرس از طریق دیتابیس
در این روش برای تغییر دادن آدرسها نیاز است که به phpmyadmin هاست وارد شوید. این روش زمانی مناسب است که شما دسترسی به پیشخوان وردپرس برای انجام تغییرات را نداشته باشید که در این صورت تنها راه ممکن استفاده از دیتابیس است.
برای این منظور وارد هاست خود شوید. سپس روی phpmyadmin کلیک کنید تا به تنظیمات پایگاه داده وردپرس هدایت شوید. حال مشابه تصویر پس از انتخاب دیتابیسی که برای سایت ساخته شده است، روی جدول wp_options کلیک کنید تا دادههای مربوط به این جدول در سمت راست نمایش داده شوند.
در صورتی که هنگام نصب وردپرس به جای _wp از پیشوند دلخواه دیگری استفاده میکنید، نام این جدول طبق پیشوند سفارشی ساخته شده است. به عنوان نمونه اگر از پیشوند _st استفاده کردید نام این جدول به صورت st_options خواهد بود.
بعد از اینکه روی این جدول کلیک کردید و ستون سمت راست نمایش داده شد در ابتدای این جداول دو گزینه با نامهای siteurl و home قرار دارد که همان آدرس سایت هستند و برای اینکه ساختار آدرس تغییر داده شود باید آنها را از حالت HTTP به HTTPS تغییر دهید.
بنابراین روی دکمه EDIT که برای هر ردیف siteurl و home قرار دارد کلیک کنید تا به صفحه ویرایش آنها هدایت شوید. وقتی به صفحه ویرایش هدایت شدید مشابه تصویر زیر در فیلد Option_value آدرس سایت را به صورت http مشاهده میکنید که باید آن را تغییر دهید.
بنابراین کافی است یک S به آن اضافه کرده و آدرس را از حالت http://site.com به https://site.com تغییر داده و در نهایت روی دکمه Go کلیک کنید تا تنظیمات ذخیره شوند. این کار را باید برای هر دو ردیف siteurl و home که در بخش wp_options قرار دارد انجام دهید.
با انجام دادن این کار حالا ساختار آدرس وردپرس در سایت شما به صورت HTTPS تغییر یافته و هر آدرسی که برای فایلها و دادههای جدید تولید شود بر روی بستر HTTPS خواهد بود. علاوه بر این آدرسهای قبلی در دیتابیس نیز اصلاح شده و نیازی به تغییر دادن آدرسها ندارید.
برای اینکه امکان استفاده از SSL در پیشخوان وردپرس هم فراهم باشد و دادههای مدیریت وردپرس هم روی بستر HTTPS صورت گیرد، باید از طریق ویرایش فایل wp-config.php این امکان را فراهم کنید.
برای این منظور وارد هاست خود شده و روی File Manager کلیک کنید تا به محیط مدیریت فایل در هاست هدایت شوید. سپس به مسیر public_html مراجعه کرده و به دنبال فایلی با نام wp-config.php در مسیری که وردپرس را نصب کردهاید باشید. بعد از اینکه این فایل را پیدا کردید روی آن راست کلیک کرده و گزینه Edit را انتخاب کنید تا صفحه ویرایش فایل باز شده و کدهای زیر را درست در بالای خط /* That’s all, stop editing! Happy blogging. */ در آن قرار دهید.
define(‘FORCE_SSL_LOGIN’, true);
define(‘FORCE_SSL_ADMIN’, true);
بعد از کلیک روی دکمه Save فایل کانفیگ وردپرس آپدیت شده و امکان استفاده از SSL در پیشخوان وردپرس نیز فراهم خواهد شد. حالا از این پس هرگاه وارد پیشخوان وردپرس هم شوید درست مشابه آدرس صفحه اصلی سایت آدرسها با HTTPS شروع خواهند شد. رمز و نام کاربری که برای ورود به وردپرس نیز استفاده میکنید کد شده و از سمت شرکت ارائه دهنده اینترنت یا هر شخص دیگری قابل مشاهده نخواهد بود.
با انجام دو مرحله قبل SSL در وردپرس فعال شده و سایت شما از طریق پروتکل امن HTTPS در دسترس خواهد بود. اما چون پیش از این از پروتکل http استفاده شده است آدرسها در موتورهای جستجو به این شکل ایندکس شده است که لازم است با ریدایرکت کردن آدرس از http به https اعتباری که برای صفحات سایت در گوگل ثبت شده است را به ساختار جدید منتقل کنید. همچنین برای جلوگیری از اینکه آدرسها در گوگل هم با http و هم با https ایندکس نشوند لازم است که این ریدایرکت را به صورت 301 انجام دهید.
یعنی وقتی کاربری که به آدرس سایت بدون SSL مراجعه کرد به صورت خودکار به آدرس سایت که حالا SSL روی آن نصب شده است هدایت شود. برای این منظور باید فایل htaccess. موجود در هاست را ویرایش کنید.
وارد هاست خود شده و روی File Manager کلیک کنید. سپس به مسیر public_html رفته و فایل htaccess. را پیدا کنید. از آنجایی که که فایلهایی که نام آنها با نقطه آغاز میشود، مخفی هستند برای مشاهده این فایل در هاست سی پنل لازم است روی گزینه Settings که در بالای صفحه قرار دارد کلیک کرده و پس از انتخاب تیک گزینه Show Hidden Files (dotfiles) روی دکمه Save کلیک کنید.
حال پس از نمایش فایل روی آن راست کلیک کرده و گزینه Edit را برای ویرایش انتخاب کنید. بعد از اینکه صفحه ویرایش فایل باز شد کدهای زیر را در اولین خط از این فایل قرار داده و فایل را ذخیره کنید.
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
دقت کنید که، کدهای بالا درست در بالای خط BEGIN WordPress # قرار بگیرند. چرا که در برخی موارد به دلیل قرار گرفتن این کدها در انتهای فایل ریدایرکت صورت نگرفته و کاربران همچنان از طریق HTTP به سایت دسترسی خواهند داشت. حالا برای اطمینان از کارکرد صحیح کدها، آدرس سایت خود را با http:// باز کنید. در صورتی که به آدرس با https:// هدایت شدید همه چیز به درستی انجام گرفته است. در غیر این صورت باید فایل htaccess. را بررسی کنید.
تا اینجای کار مراحل نصب ssl در وردپرس به اتمام رسیده است و نیاز به انجام دادن هیچ کار دیگری ندارید. اما گاها در برخی از سایتها به دلیل استفاده از آدرس فایلها به صورت مستقیم گاها این مشکل پیش میآید که آیکون قفل SSL نمایش داده نشد و به جای آن یک آیکون ! با رنگ خاکستری نمایش داده میشود. آدرس سایت در این حالت هم روی https قرار دارد. اما چون در https باید کلیه ادرسهای داده شده در صفحات به فایلها با https باشند که نماد قفل نمایش داده شده و سایت در حالت ایمن باشد، باید این مشکل را برطرف کنید.
برای حل مشکل نمایش دادن قفل سبز رنگ در SSL وردپرس بهترین راهکار استفاده از افزونه است که با استفاده از این افزونه میتوانید کاری کنید که نماد قفل سبز رنگ در کل آدرسهای سایت نمایش داده شود.
مزیتی که استفاده از افزونه دارد در این است که کلیه آدرسها را در صفحات سایت به https تبدیل میکند که اگر در یک صفحه خاصی اشتباها آدرس به صورت http وجود داشته باشد مشکل برطرف شده و همواره دادهها در محیط امنی رد و بدل میشوند.
این افزونه نام Really Simple SSL در مخزن وردپرس به ثبت رسیده و تاکنون موفق شده است بیش از 2 میلیون نصب فعال و کسب امتیاز 4.9 را ازآن خود کند که با استفاده از این افزونه میتواند مشکل سبز نشدن SSL در وردپرس را حل کنید.
بعد از نصب و فعال سازی این افزونه مشابه تصویر زیر به منوی تنظیمات> SSL در پیشخوان وردپرس رفته و پس از کلیک روی تب settings گزینههای تنظیمات را مطابق تصویر فعال کرده و روی دکمه Save که در انتهای صفحه قرار دارد کلیک کنید.
با انجام این کار مشکل نمایش ندادن قفل سبز رنگ در وردپرس حل شده و آدرسهایی که پیش از این بدون قفل سبز رنگ نمایش داده میشد به همراه قفل سبز رنگ در دسترس خواهند بود. از این پس سایت وردپرسی شما به صورت کامل بر روی پروتکل امن HTTPS به صورت رمزنگاری شده در دسترس بوده و بعد از مدتی تاثیر آن را نیز بر سئو سایت مشاهده خواهید کرد.
در این مقاله سعی کردیم به معرفی تمام مراحلی که باید به کمک آن اقدام به نصب SSL در وردپرس بکنید بپردازیم. همچنین به معرفی انواع SSL و مقایسه انواع گواهینامههای امنیتی پرداختیم که متناسب با آن میتوانید گواهینامه امنیتی مناسب را برای دامنه و سایت خود خریداری کنید.
تمامی حقوق مادی و معنوی این سایت متعق به سایت قیاس (مقایسه هاستینگ ها) می باشد.