جشنواره نوروزی سون لرن

آشنایی با راهکارهای افزایش امنیت در وردپرس - قسمت دوم

دسته بندی: وردپرس
زمان مطالعه: 11 دقیقه
۲۹ اسفند ۱۳۹۸

وردپرس، پلتفرمی رایگان و امن است که طی سال‌ها توسط صدها برنامه‌نویس خبره، بارها مورد بررسی و اصلاح قرار گرفته است. با این وجود وردپرس هنوز هم می‌تواند هک شود؛ البته به دلایلی مانند عدم انجام اقدامات امنیتی از سوی مدیران سایت‌ها و نه به دلیل نا امن بودن این پلتفرم. هک شدن یک سایت‌ وردپرسی می‌تواند به یکباره شهرت و اعتبار یک کسب و کار را از بین برده و منجر به ضررهای جبران ناپذیر مالی شود و گوگل نیز با حذف سایت‌های هک شده از نتایج جست‌وجو، شرایط را برای بازگرداندن اعتبار یک کسب‌کار و جلب اعتماد مجدد مشتریان سخت‌تر می‌کند؛  این دلایل برخی از دلایلی هستند که نشان می‌دهند مدیران کسب و کارهای اینترنتی باید ارتقاء امنیت سایت خود را در اولویت قرار دهند. در صورت عدم رعایت راهکارهای ایمنی و هک شدن وب‌سایت شما، هکرها می‌تواند داده‌های محرمانه‌ی کاربران را به سرقت برده، از منابع سرور شما برای ارسال ایمیل‌های اسپم استفاده کند و یا با نصب بدافزارها و قرار دادن کدهای مخرب، از حضور کاربران در وب‌سایت شما سوء استفاده کند. در قسمت اول مقاله‌ی آشنایی با راهکارهای افزایش امنیت در وردپرس با برخی از اقداماتی که می‌توانیم در جهت ارتقاء امنیت وب‌سایت‌های وردپرسی انجام دهیم، آشنا شدیم؛ در بخش دوم این مقاله برخی دیگر از اقداماتی که می‌توانید در جهت بهبود امنیت سایت خود انجام دهید را به شما معرفی خواهیم کرد، با ما همراه باشید.

فهرست محتوای این مقاله

غیر فعال کردن گزینه‌ی ویرایشگر در پنل مدیریت

گزینه‌ی ویرایشگر کدها در پنل مدیریت وردپرس این امکان را به شما می‌دهد تا بدون نیاز به وارد شدن به صفحه‌ی مدیریت هاست و از طریق پنل مدیریت سایت خود، کدهای قالب و افزونه‌ها را ویرایش کنید. شاید در نگاه اول این گزینه، گزینه‌ای کاربردی  به نظر برسد اما یکی از تهدیداتی که وب‌سایت‌های وردپرسی را تهدید می‌کند، ویرایش کدهای قالب توسط افراد غیر مجاز یا سایر مدیران وب‌سایت است. شما می‌توانید با غیر فعال کردن گزینه‌ی ویرایشگر در پنل مدیریت، حتی در صورت هک شدن، از کدهای وب‌سایت خود محافظت کنید.

مسیر دسترسی به ویرایشگر کدهای قالب وردپرس: نمایش / ویرایشگر

مسیر دسترسی به ویرایشگر کدهای افزونه‌های وردپرس: افزونه‌ها / ویرایشگر

اگر برای اولین بار از صفحه‌ی ویرایشگر بازدید کنید، وردپرس به شما هشدار خواهد داد که انجام تغییر در کدها می‌تواند عملکرد سایت شما را مختل کند.

برای غیرفعال کردن ویرایشگر قالب و افزونه‌های وردپرس به صورت زیر عمل می‌کنیم:

فایل wp-config.php موجود در دایرکتوری Public_html را پیدا کنید، روی آن راست کلیک کرده و گزینه edit را انتخاب کنید.

سپس قطعه کد زیر را قبل از عبارت ‘That’s all, stop editing! Happy publishing’ قرار دهید.

define( 'DISALLOW_FILE_EDIT', true );

در نهایت تغییرات را ذخیره کنید.

هم‌چنین می‌توانید قطعه کد زیر را در فایل functions.php خود قرار دهید.

<?php function remove_editor_menu() {
  remove_action('admin_menu', '_add_themes_utility_last', 101);
}
add_action('_admin_menu', 'remove_editor_menu', 1);
?>

روش دیگر غیر فعال کردن گزینه‌ی ویرایشگر استفاده از افزونه‌ی امنیتی Sucuri WordPress است که به شما این امکان را می‌دهد تا بدون نیاز به درگیرشدن با کدنویسی، این قابلیت را تنها با یک کلیک فعال کنید.

ایجاد سوال امنیتی توسط افزونه‌ی Captcha

سوالات امنیتی در وب‌سایت‌های وردپرسی با استفاده از افزونه‌های ساخت Captcha به منظور جلوگیری از حملات خودکار ربات‌ها، ایجاد می‌شوند. در این گونه حملات، ربات‌ها به صورت همزمان تعداد زیادی کامنت شامل لینک‌های تبلیغاتی یا عضو به سایت شما اضافه می‌کنند و با این روش باعث ایجاد اخلال در وب‌سایت شما می‌شوند. یکی از محبوب‌ترین روش‌هایی که برای جلوگیری از ورود ربات‌ها به سایت به کار می‌رود، استفاده از افزونه‌های ساخت Captcha است. کپچا می‌تواند شامل سوالات امنیتی، سوالات ریاضی یا تصویری از اعداد و حروف مخدوش باشد. برخی از افزونه‌های رایج برای ساخت Captcha عبارتند از:

افزونه‌ی وردپرس reCaptcha by BestWebSoft

این افزونه با بیش از  200 هزار نصب فعال از یکی محبوب‌ترین افزونه‌های ساخت کپچا است. این افزونه یک راه حل امنیتی موثر است که از فرم‌های وب سایت وردپرس شما در برابر ورود هرزنامه و ربات‌های مخرب محافظت می‌کند، در حالی که به افراد واقعی اجازه می‌دهد تا با سهولت از آن عبور کنند. شما می‌توانید از این افزونه برای ورود به صفحات مدیریت سیستم، ثبت نام کاربران جدید، بازیابی رمز عبور فراموش شده، فرم نظرات، فرم‌های تماس و... استفاده کنید.

برای افزودن کپچا به سایت وردپرس خود، ابتدا افزونه‌ی reCaptcha by BestWebSoft را دانلود و نصب کنید. سپس تب جدید Google Captcha که به داشبورد وردپرس شما اضافه شده است را باز کنید. در زیر گزینه‌ی تنظیمات، می‌توانید کلیدهای API Google خود را وارد کنید تا سایت شما به ویژگی reCAPTCHA متصل شود. برای دریافت این کلیدها ابتدا باید سایت خود را در کنسول Google ثبت کنید، سپس کلید‌ها را copy کرده و در افزونه paste و ذخیره کنید. پس از آن می‌توانید دکمه‌ی Test reCAPTCHA را انتخاب کنید تا مطمئن شوید که این ویژگی به درستی کار می‌کند.

همانند تصویر زیر می‌توانید فرم‌هایی که می‌خواهید reCAPTCHA را روی آن‌ها فعال کنید، انتخاب کنید.

captcha in wordpress

در نسخه‌ی پرمیوم این افزونه می‌توانید ریکپچا را به فرم‌هایی که با استفاده از افزونه‌هایی مانند Contact Form 7 و bbPress ایجاد شده‌اند نیز اضافه کنید.

کپچا از دید یک کاربر می‌تواند اندکی آزار دهنده به نظر برسد (به ویژه اگر ضعیف اجرا شود). با این حال شما می‌توانید با استفاده از گزینه‌های شخصی‌سازی این افزونه، از مزایای کپچا بدون این که روی تجربه‌ی کاربر تاثیر منفی بگذارد، بهره‌مند شوید و یک لایه‌ی امنیتی کارآمد به سایت خود اضافه کنید.

افزونه‌ی وردپرس WordPress ReCaptcha Integration

افزونه‌ی WordPress ReCaptcha Integration با بیش از 20 هزار نصب  فعال و سازگاری با افزونه‌هایی از جمله bbPress، BuddyPress، WooCommerce (فقط فرم‌های پرداخت، ثبت نام، ورود به سیستم و تنظیم مجدد رمز عبور)، WP Multisite، Ninja Forms، cformsII و... توانسته است محبوبیت خوبی به دست آورد. برای فعال‌سازی این افزونه نیز می‌بایست جهت دریافت کلید، وب‌سایت خود را در کنسول گوگل ثبت کرده باشید.

security in wp

تغییر لقب مدیر از طریق دیتابیس

در بخش اول مقاله راهکارهای افزایش امنیت در وردپرس، افزونه‌ای را به شما معرفی کردیم که با کمک آن می‌توانید لقب مدیر سایت خود را تغییر دهید. اما روش دیگری نیز برای این کار وجود دارد و شما می‌توانید بدون نصب افزونه و از طریق دیتابیس، لقب مدیر را تغییر دهید. در ضمن فراموش نکنید که پیش از انجام این کار یک Backup یا نسخه‌ی پشتیبان از دیتابیس خود تهیه کنید. سپس به صفحه‌ی phpmyadmin سایت خود وارد شوید و در بخش sql قطعه کد زیر را وارد کنید:

UPDATE wp_users SET user_login = 'New' WHERE user_login = 'Old';

توجه داشته باشید که در این قطعه کد به جای New، نام کاربری جدید و به جای Old، نام کاربری قدیمی مدیر را قرار دهید.

روش دوم تغییر نام کاربری از طریق دیتابیس بدین صورت است که پس از وارد شدن به صفحه phpmyadmin، دیتابیس مورد نظر را انتخاب کرده و گزینه wp_users را انتخاب می‌کنید. سپس روی گزینه edit رکورد مربوط به مدیر سایت کلیک کرده و در فیلد مربوط به نام کاربری، نام جدید مورد نظر خود را وارد می‌کنید.

بررسی پروتکل https و نحوه‌ی فعال سازی آن

وب‌سایت‌هایی که از پروتکل HTTPS استفاده می‌کنند، نسبت به وب‌سایت‌هایی که از پروتکل HTTP استفاده می‌کنند، به مراتب امنیت بالاتری دارند؛ زیرا اطلاعاتی که این سایت‌ها با کاربران خود رد و بدل می‌کنند، رمزگذاری شده و امکان سرقت اطلاعات از طریق شنود را از بین می‌برند. استفاده از پروتکل HTTPS علاوه بر مسائل امنیتی، تاثیر زیادی بر ارتقاء رتبه‌ی سئوی سایت شما خواهد گذاشت زیرا موتورهای جست‌وجو به زودی وب‌سایت‌هایی را که از این پروتکل استفاده نمی‌کنند، از نتایج جست‌وجو حذف خواهند کرد. فعال‌سازی این پروتکل مزایای دیگری نیز برای شما به همراه خواهد داشت زیرا قفلی که در کنار نوار آدرس مرورگر قرار دارد، به رنگ سبز در‌آمده و موجب افزایش اعتماد کاربران به وب‌سایت و هم‌چنین افزایش فروش محصولات شما خواهد شد.

پس از خرید SSL (نصب روی هاست توسط شرکت ارائه دهنده‌ی SSL یا توسط خودتان طبق دستورالعمل انجام می‌شود) از منوی تنظیمات پیشخوان سایت، وارد تنظیمات همگانی شده و نشانی وردپرس و سایت خود را از http به https تغییر دهید. برای تغییر سایر لینک‌های سایت می‌توانید از افزونه‌ی Really Simple SSL استفاده کنید. پس از نصب این افزونه از منوی Setting، هر چهار گزینه‌ی موجود را انتخاب کنید. این افزونه پروتکل تمامی لینک‌های موجود در سایت شما را از http به https تبدیل خواهد کرد در نتیجه اگر از لینک یا محتوای سایت دیگری که از Https استفاده نمی‌کند، در سایت خود استفاده کنید، دچار اختلال در سایت خود خواهید شد. برای حل این مشکل می‌توانید از قطعه کد زیر در فایل functions.php قالب سایت استفاده کنید.

function rsssl_exclude_http_url($html) {
  $html = str_replace("https://www.domain.com", "http://www.domain.com", $html);
  return $html;
}
add_filter("rsssl_fixer_output","rsssl_exclude_http_url");

هش گذاری روی نام کاربری و رمز عبور توسط افزونه‌ی chap secure login

افزونه‌ی chap secure login فرآیند رمزگذاری را با استفاده از پروتکل Chap و توسط الگوریتم SHA-256 انجام می‌دهد. این نوع رمزگذاری به ویژه هنگامی مفید است که شما نمی‌توانید از ssl یا سایر پروتکل‌های امن استفاده کنید.

برای نصب افزونه chap secure login کلیک کنید.

تغییر نام و آدرس صفحه‌ی wp- admin و wp-login

به طور پیش فرض برای دسترسی به صفحه‌ی ادمین وردپرس از آدرس yourdomain.com/wp-login.php استفاده می‌شود. هکرها با دسترسی به این صفحه می‌توانند حمله‌ی Brute Force را روی سایت شما اجرا کرده و با امتحان کردن عبارات منطقی مختلف به نام کاربری و رمز عبور مدیر دسترسی پیدا کنند و هر گونه تغییراتی را روی سایت شما انجام دهند. اما استفاده از یک URL منحصر به فرد، دسترسی هکرها به پنل مدیریت وردپرس را دشوارتر خواهد کرد. در ادامه‌ی این مقاله نحوه‌ی ایجاد URL دلخواه برای ورود به WordPress را به صورت گام به گام به شما نشان خواهیم داد.

ابتدا افزونه‌ی WPS Hide Login را دانلود نمایید. این افزونه با بیش از 600 هزار نصب فعال یکی از محبوب‌ترین افزونه‌های امنیتی وردپرس است که با سایر افزونه‌ها از جمله BuddyPress، bbPress، Jetpack، WPS Limit Login، User Switching نیز سازگار است. پس از نصب و فعال‌سازی این افزونه، فیلد جدیدی به داشبورد وردپرس شما افزوده می‌شود که از طریق آن می‌توانید هر دو آدرس yourdomain.com/wp-login.php و yourdomain.com/wp-admin.php را تغییر دهید. در نهایت با ذخیره‌ی تغییرات، دسترسی به صفحه‌ی ادمین از طریق آدرس پیش‌فرض، امکان‌پذیر نخواهد بود و ما به شما توصیه می‌کنیم آدرسی انتخاب کنید که به راحتی بتوانید آن را به خاطر بسپارید.

wp-login

اطمینان از امنیت قالب وردپرس با استفاده از افزونه‌ی Theme Check

برخی هکرها با یافتن رخنه‌های موجود در قالب وب‌سایت‌های وردپرسی، به آن‌ها نفوذ می‌کنند. افزونه‌ی Theme Check یک راه آسان برای تست امنیت قالب سایت شماست. این افزونه با بیش از 70 هزار نصب فعال یکی از محبوب‌ترین افزونه‌های وردپرس است که قالب سایت‌های وردپرسی را با در نظر گرفتن آخرین استانداردهای کدنویسی به صورت خودکار بررسی می‌کند. پس از نصب و فعال‌سازی این افزونه، گزینه‌ای با عنوان Theme Check به فیلد نمایش افزوده می‌شود. با کلیک بر روی این گزینه، صفحه‌ی جدیدی باز می‌شود و شما می‌توانید با انتخاب قالب مورد نظر در فهرست کشویی و کلیک بر روی گزینه‌ی Check it، قالب سایت خود را بررسی کنید. پس از انجام این مرحله، در صورتی که قالب شما مراحل تست را با موفقیت پشت سر بگذارد، به شما اعلام خواهد شد و در غیر این صورت، گزارشی از خطاها را دریافت خواهید کرد. علاوه بر این، به خاطر داشته باشید که هیچ گاه از افزونه‌ها و قالب‌های نال شده استفاده نکنید و همواره اجزای مورد نیاز خود را از فروشندگان معتبر تهیه کنید‌؛ زیرا این گونه افزونه‌ها و قالب‌ها قطعا دارای کدهای مخرب هستند و امنیت سایت و داده‌های شما را به خطر می‌اندازند.

جمع بندی:

وردپرس پلتفرمی رایگان است که ویژگی‌های بی نظیری را در اختیار ما قرار داده است. این ویژگی‌ها سبب شده است تا بسیاری از کسب و کارها ترجیح دهند تجارت الکترونیک خود را در بستر وردپرس توسعه دهند. اما محبوبیت و استفاده روز افزون این پلتفرم سبب شده است تا همواره در معرض تهاجم هکرها قرار گیرد. از زمان اولین ارائه‌ی وردپرس تاکنون، این پلتفرم بارها به روزرسانی شده و تنها هکرهای حرفه‌ای که با کدهای آن آشنایی کامل دارند می‌توانند حفره‌های امنیتی جدید در آن کشف کنند. با این وجود جای نگرانی وجود ندارد و با رعایت نکات و راهکارهای امنیتی ساده‌ای که در بخش اول و دوم این مقاله به شما معرفی کردیم به راحتی می‌توانید امنیت سایت خود را تامین کنید.

اگر از راهکارهای ارائه‌ شده در این مقاله استفاده کردید یا راهکارهای دیگری برای تامین امنیت وبسایت‌های وردپرسی می‌شناسید، از شما تقاضا می‌کنیم تجربیات خود را در بخش نظرات با ما به اشتراک بگذارید.

چه امتیازی به این مقاله می دید؟
نویسنده نازنین گودرزی
زندگی پر از زیبایی است، به آن توجه کن، به زنبور عسل، به کودک کوچک و چهره های خندان دقت کن، باران را نفس بکش و باد را احساس کن، زندگی ات را زندگی کن و برای رویاهایت مبارزه کن.

نظرات کاربران

اولین دیدگاه این پست رو تو بنویس !

ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :