امنیت وردپرس

بهترین چک لیست امنیت وردپرس

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

در چنین وضعیتی کافی است کاربرانتان بدانند که سایت شما یک بار مورد حمله هکرها قرار گرفته است، امکان دارد برای خرید کردن یا دریافت سایر خدمات دیگر به وب سایت شما اعتماد نکنند.

اگر سایت شما یکی از دارایی‌های با ارزش برایتان محسوب می‌شود، پس باید امنیت وردپرس شما نیز برایتان در اولویت باشد. در این مطلب که به آموزش افزایش امنیت وردپرس می‌پردازد ما ۱۰ راهکار ساده و عملی به شما خواهیم نشان خواهیم داد که برای تأمین امنیت وردپرس خود از آن‌ها استفاده کنید.

امنیت وردپرس

قدم اول : حفاظت از پنل مدیریت

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

1- محافظت از پوشته wp-admin توسط فایل htaccess.

یکی از بهترین روش های محافظت از فایل wp-admin محدود کردن آن به یک IP است. اگر شما نویسنده های متعددی در وبسایتتان ندارید و تقریبا یک IP پایدار دارید میتوانید قطعه کد زیر را در فایل htaccess ساتتان اضافه کنید تا ورود به وب سایت فقط برای IP شما میسر باشد.

<Files wp-login.php>
order deny,allow
Deny from all
allow from IP
</Files>

در کد بالا بجای کلمه IP در خط چهارم مقدار IP عددی خود را وارد کنید برای مثال : 192.168.1.1

توجه : قبل از ویرایش فایل htaccess حتما از آن بک آپ تهیه کنید.

نکته : چنانچه IP شما تغییر کرد به راحتی میتوانید با ویرایش دوباره فایل htaccess آی پی جدیدتان را به سایت معرفی کنید.

2- پیاده سازی پروتکل SSL برای امنیت وردپرس

SSL یا Secure Socket Layer راه حلی جهت برقراری ارتباطات ایمن میان یک سرویس دهنده و یک سرویس گیرنده است که توسط شرکت Netscape ارایه شده است. در واقع SSL پروتکلی است که پایین تر از لایه کاربرد (لایه ۴ از مدل TCP/IP) و بالاتر از لایه انتقال (لایه سوم از مدل TCP/IP) قرار می گیرد.

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

امنیت وردپرس

3 – بروزرسانی وردپرس به آخرین نسخه

تیم وردپرس همیشه سعی می کند با بروز رسانی های این سیستم مدیریت محتوا امکانات جدیدی ارائه دهد و امنیت هسته وردپرس را افزایش دهد پس همیشه سعی کنید برای افزایش امنیت وردپرس همیشه آن را بروز رسانی کنید و از آخرین نسخه ارائه شده استفاده کنید.

4 – اسکن سایت از نظر ویروس و نقض امنیت وردپرس

شما باید عادت کنید که همواره برای بررسی بهتر امنیت وردپرس خود بصورت دوره ای وب سایت خود را اسکن نمائید. این کار اکثرا از طریق پنل مدیریت هاست و یا افزونه های وردپرسی انجام می شود.

5 – نصب افزونه برای بررسی تغییرات فایل ها

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

قدم دوم : حفاظت از صفحه ورود

صفحه ورود پیشفرض وردپرس برای بسیاری از هکر ها آشنا است. تقریبا همه آنها میدانند که با اضافه کردن wp-admin/ به ادامه آدرس سایت شما، میتوانند صفحه ورود به وب سایت شما را مشاهده و به آن نفوذ کنند. پس برای حفاظت از صفحه ورود و افزایش امنیت وردپرس اقدامات زیر را انجام دهید:

  1. محدود سازی تعداد ورود نا موفق به سیستم
  2.  فعالسازی احراز هویت 2 عاملی
  3. سفارشی سازی پیام های ورود به سیستم
  4. استفاده از رمز عبوری حاوی حروف بزرگ، حروف کوچک، عدد و کاراکتر های خاص
  5. تغییر رمز عبور مدیر کل بصورت ماهانه (بسیار مهم)

قدم سوم : تنظیمات wp-config (تغییر کلید امنیتی)

تا به حال به این نکته توجه کردید که  چگونه وردپرس اعتبار سنجی برای ورود شما به پنل مدیریت را انجام می دهد و امکان ورود را برای شما فراهم می کند؟

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

امنیت وردپرس

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

define(‘AUTH_KEY’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
define(‘NONCE_KEY’, ‘put your unique phrase here’);
define(‘AUTH_SALT’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_SALT’, ‘put your unique phrase here’);
define(‘LOGGED_IN_SALT’, ‘put your unique phrase here’);
define(‘NONCE_SALT’, ‘put your unique phrase here’);

برای تغییر کلید های امنیتی وردپرس کافیه روی این لینک کلیک کرده و کدهایی که در آن قرار داره رو جایگزین کدهایی که مشابه همین نمونه بالا در فایل wp-config.php قرار داره بکنید.

لینک کلید های امنیت وردپرس :

https://api.wordpress.org/secret-key/1.1/salt/

قدم چهارم : امنیت وردپرس در پوسته

امروزه پوسته های بسیاری برای سیستم مدیریت محتوای وردپرس تهیه و منتشر شده اند که اکثر آن ها بصورت پولی هستند و برای استفاده از آن باید لایسنس آن پوسته را تهیه کنید. در این میان افرادی هستند که با دستکاری کردن کد های مربوط به لایسنس این پوسته ها (نال کردن) آن ها را بصورت رایگان منتشر می کنند.

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

برای افزایش امنیت وردپرس سایتتان از طریق پوسته کار های زیر را انجام دهید:

  1. حذف نسخه وردپرس از پوسته
  2. حدف پوسته های استفاده نشده در سایت
  3. بروز رسانی مداوم پوسته
  4. تهیه و استفاده از پوسته فقط از منابع معتبر

قدم پنجم : امنیت وردپرس در افزونه ها

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

  1. بروزرسانی افزونه ها بصورت مداوم
  2. جایگزینی افزونه های جدید با افزونه های قدیمی
  3. تحقیق در باره افزونه قبل از نصب و استفاده از آن
  4. حذف افزونه های بلا استفاده
  5. به هیچ وجه از افزونه های نال شده استفاده نکنید

قدم ششم : امنیت پایگاه داده (دیتابیس)

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

امنیت وردپرس

حفظ امنیت پایگاه داده برای هر شرکت و سازمانی ضروری است. در ادامه روش هایی را توضیح می دهیم که به شما برای افزایش امنیت پایگاه داده وردپرس کمک می کند.

  1. داشتن برنامه هفتگی برای تهیه نسخه پشتیبان (Backup) از پایگاه داده
  2. تغییر پیشوند جداول وردپرس از _wp به یک نام دیگر
  3. استفاده از رمز عبوری حاوی حروف بزرگ، حروف کوچک، عدد و کاراکتر های خاص

قدم هفتم : غیر فعال کردن REST API در وردپرس

REST یک API تحت وب است که با استفاده از آن میتوانید به سادگی دستورات خود را در قالب فراخوانی های ساده ی HTML ارسال کرده و پاسخ آنها را دریافت کنید. وجود REST API در وردپرس به شما اجازه میدهد که در قالب ریکوئست های GET به سادگی اطلاعات دلخواهتان را از وردپرس دریافت کنید.

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

اول اینکه فعال بودن این API ممکن است اجرای حملات DDos را بر روی شما آسان تر کند. (هرچند این احتمال پایین است ولی به هر حال باید آن را در نظر گرفت) و دوم اینکه وقتی به چیزی نیازی ندارید، دلیلی ندارد آن را فعال نگه دارید. (همانطور که قبلا با هم غیر فعال کردن XML-RPC را یاد گرفتیم) پس اگر از این امکان استفاده نمیکنید، منطقی است که همین حالا دست به کار شده و آن را غیر فعال کنید.

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

add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');

به همین سادگی! و اما در روش دوم کافی است افزونه ی DisableJSON API را دریافت کرده و بر روی سایت خود نصب کنید. این افزونه پس از فعال سازی بی نیاز از هر نوع تنظیم اضافی، خودش REST API را غیر فعال خواهد کرد.

و در آخر

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

موفق باشید.

چه امتیازی به این مقاله می‌دهید؟

از رای

بدون امتیاز


نوید سیفی
نوید سیفی عاشق کد و کدنویسی

پست های مشابه

دیدگاه و پرسش

هنوز دیدگاهی ثبت‌نشده
اکسپلوریت • کدنویسی حرفه ای و بدون دردسر
ما هر روز کلی مطالب آموزشی جالب در اینستاگراممون منتشر می‌کنیم! مشاهده پست های اینستاگرام