چگونه سایت وردپرسی خود را در برابر حملات پیاپی هکرها محافظت کنیم؟

نویسنده : سید ایوب کوکبی ۲۷ دی ۱۳۹۶

چگونه سایت وردپرسی خود را در برابر حملات پیاپی هکرها محافظت کنیم؟

بدون شک وردپرس یکی از مشهور ترین سیستم‌های مدیریت محتوا (CMS) است طوری که بر اساس تخمین‌ها از هر ۶ سایت یکی وردپرسی است. این استقبال بی‌نظیر باعث شده تا وردپرس به مکانی محبوب برای هکرها تبدیل شود. این افراد معمولا از ضعف‌های امنیتی موجود که بخش عمده آن مربوط به پلاگین‌های ضعیف و غیرامن نصب شده روی وردپرس است برای نفوذ و حمله به سایت استفاده می‌کنند. این حملات در رایجترین شکل آن ممکن است از نوع dDos یا طبق تعریف ویکی‌پدیا «حمله منع سرویس» (من که می‌گویم «حمله فلج کردن سرویس») باشد؛ ممکن است به ارسال انبوهی از اسپم‌ها ختم شود و یا ممکن است به ایجاد پاره‌ای از مسائل و مشکلات در سرورهایی که سایت‌های خطرناکی بر روی آن میزبانی می‌شود منجر شود.

با این وجود، هر گونه نقص امنیتی، ناشی از کم‌کاری، بدکاری یا سهل‌انگاری شما است که اصطلاحا به آن «bad practice» گفته می‌شود. امکان وقوع سهل‌انگاری‌ها از همان مراحل نصب وردپرس وجود دارد تا مراقبت و نگهداری از وردپرس (بله وردپرس هم نیاز به نگهداری دارد!). گاهی اوقات از سوی ادمین‌ها سوالاتی مطرح می‌شود که «ای بابا؛ این که چند ساله مثل ساعت کار می‌کرد؛ الان چش شده چرا کار نمیکنه!»، پاسخ این سوال در درون خود سوال نهفته است. خب معلوم است وقتی سایت خود را بدون لحاظ کردن نکات امنیتی و بدون مراقبت‌های دوره‌ای چندین سال (با این اوضاع حتی چند ماه!) به حال خود رها کرده‌اید خودتان دارید با صدای بلند به هکرها می‌گویید: «خانه کسی نیست؛ بفرمایید داخل». این کار دیر یا زود منجر به حوادث ناخوشایندی خواهد شد.

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

ترفندهای امنیتی وردپرس

۱- نام پیش فرض اکانت ادمین را تغییر دهید.

در طی مراحل نصب وردپرس این اختیار به شما داده می‌شود که برای حساب کاربری ادمین، نام دلخواهی انتخاب کنید. خیلی از افراد اهمیتی به این مرحله نداده و نام پیش‌فرض ادمین را تغیین نمی‌دهند و همین کار فرصتی در اختیار هکرها قرار می‌دهد تا با اسکریپت‌های خودکار و با اسامی پیش فرض wp-admin, Admin, administrator, Administrator, root, Rootusername و نظایر آن شانس خود را برای دستیابی به آدرس پنل ادمین امتحان کنند. سعی کنید نام اکانت ادمین را کلمه‌ای منحصر به فرد در نظر بگیرید تا با این نقشه شوم مقابله کنید.

بخوانید  50 پرسش و پاسخ متداول درباره وردپرس ( قسمت دوم )

۲- گذرواژه مستحکم و پیچیده‌ای انتخاب کنید.

ناگفته پیداست که استفاده از یک رمز پیچیده، کار ربات‌های مهاجم خودکار را تا حد زیادی سخت و لااقل زمان‌بر می‌کند. یک رمز عبور ایمن و استاندارد بایستی ترکیبی از حروف بزرگ و کوچک، اعداد و کاراکترهای خاص به طول ۱۰ کاراکتر و بیشتر باشد. مثلا ۵ رمز عبور مشهور در این حملات که به موفقیت ختم شده‌اند عبارتند از: admin, 123456, 111111, 666666, 12345678. یک رمز خوب معمولا به راحتی به خاطر سپرده نمی‌شود و گاهی اوقات نیاز پیدا می‌کنید که آن را جایی بنویسید.

۳- تغییر نام مستعار WP

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

۴- تهیه نسخه پشتیبان به صورت مرتب

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

۵- تغییر پیشوند پیش‌فرض دیتابیس

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

۶- تا حد امکان تعداد پلاگین‌ها، افزونه و تم‌های استفاده شده را کاهش دهید.

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

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

بخوانید  سایز گراواتار را در وردپرس تغییر دهید

۷- حذف شماره و اطلاعات نسخه وردپرس

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

// complete version removal
function complete_version_removal() {
return ‘’;
}
add_filter(‘the_generator’, ‘complete_version_removal’);

۸- عضویت کاربران را غیر فعال کنید.

اگر صاحب سایت یا وبلاگی هستید که تنها خودتان ادمین آن هستید و نویسنده دیگری هم ندارد لزومی به عضویت کاربران نیست. بنابراین با غیرفعال کردن این قابلیت در پنل وردپرس (از مسیر: اعضاء / هر کسی می‌تواند عضو شود) جلوی تهدیدات احتمالی خرابکارها را بگیرید. حتی برای امنیت بیشتر می‌توانید فایل wp-register.php را کاملا حذف کنید یا فقط تغییر نام داده تا در آینده از آن استفاده کنید.

۹- محافظت از فایل Wp-config.php

این فایل قلب سایت وردپرسی شماست. برای ممانعت از هر نوع دسترسی غیر مجاز کدهای زیر را به فایل htaccess. واقع در هاست اضافه کنید:

 order allow,deny
 deny from all 

کد بالا باعث می‌شود تا دسترسی به این فایل تنها از طریق پنل هاست و ftp میسر باشد. راه‌های دیگر که امنیت کمتری دارند یکی ارسال فایل به فولدر مادر است یعنی مثلا اگر وردپرس را در فولدر /public_html/ نصب کرده باشید باید فایل wp-config.php را به فولدر هوم منتقل کنید؛ و دیگری تغییر مجوزهای خواندن/نوشتن فایل به ۰۶۰۰ برای جلوگیری از اعمال تغییرات است.

۱۰- مسدود کردن دسترسی به فولدر include

برای ایمنی بیشتر توصیه می‌کنیم فولدر wp-includes را نیز از دسترس افراد بیگانه دور نگه دارید. برای این کار کدهای زیر را به فایل htaccess. واقع در ادمین هاست خود، اضافه کنید:

RewriteEngine On
 RewriteBase /
 RewriteRule ^wp-admin/includes/ — [F,L]
 RewriteRule !^wp-includes/ — [S=3]
 RewriteRule ^wp-includes/[^/]+\.php$ — [F,L]
 RewriteRule ^wp-includes/js/tinymce/langs/.+\.php — [F,L]
 RewriteRule ^wp-includes/theme-compat/ — [F,L]

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

۱۱- فعال کردن لاگین امن SSL

اگر وب‌سایت شما از گواهینامه SSL برخوردار است با اضافه کردن کدهای زیر به فایل config.php می‌توانید از آدرس امن برای ارسال داده‌ها و دسترسی به لینک‌ها استفاده کنید.

//SSL for common user login
 define(‘FORCE_SSL_LOGIN’, true);
 //SSL for admin login
 define(‘FORCE_SSL_ADMIN’, true);

۱۲- حذف فایل readme و دیگر فایل‌های غیر ضروری

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

بخوانید  اضافه کردن نوار پیشرفت خواندن در وردپرس

 

و چند نصیحت دوستانه برای استفاده ایمن از وردپرس

 

۱- همواره وردپرس و پلاگین‌های نصب شده را به‌روز نگه دارید.

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

ترفندهای امنیتی وردپرس

۲- مراقب امنیت داخلی هم باشید.

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

۳- پلاگین‌ها و تم‌های وردپرس را از مکانی امن دانلود کنید.

تا حد امکان سعی کنید افزونه‌ها را از داخل پنل ادمین سایت (بخش افزونه‌ها) و یا وب‌سایت رسمی وردپرس جستجو و نصب کنید. بسیاری از سایت‌های ارائه دهنده افزونه و پوسته‌های رایگان وردپرس مخرب بوده و با هدف آلوده کردن سیستم و اعمال مجرمانه ساخته شده‌اند. اینکه تا امروز برای شما اتفاقی نیفتاده دلیل نمی‌شود به کار خود ادامه دهید. بالاخره روزی این سهل‌انگاری گریبان شما را خواهد گرفت.

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

سید ایوب کوکبی

0 دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *