جلوگیری از حملات XML-RPC در وردپرس

جلوگیری از حملات XML-RPC در وردپرس

سر فصل های این مقاله :

جلوگیری از حملات XML-RPC در وردپرس

یکی از حملاتی که خیلی وقت‌ها سایت‌های وردپرسی رو درگیر می‌کنه، حمله به فایل معروف xmlrpc.php هست. این فایل توی پوشه اصلی وردپرس قرار داره و اگر دسترسی بهش محدود نشه، می‌تونه راه نفوذی برای مهاجم‌ها باشه. با جلوگیری از حملات XML-RPC در وردپرس، می‌تونیم یه قدم بزرگ برای بالا بردن امنیت سایت برداریم.

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

مثلاً فرض کنید یه نفر وارد دیتاسنتر بشه و هارد سرور شما رو بدزده! خب این دیگه ربطی به وردپرس نداره، مشکل از امنیت دیتاسنتره که باید بررسی و تقویت بشه.

بذار از بحث‌های قبلی بگذریم و مستقیم بریم سراغ اصل ماجرا. وردپرس یه پروتکل ارتباطی داره به اسم XML-RPC که برای اجرای از راه دور توابع سایت استفاده می‌شه. یعنی چی؟ یعنی یه سایت دیگه یا یه اپلیکیشن می‌تونه از بیرون، با استفاده از این پروتکل، به توابع قالب یا افزونه‌های سایت شما دسترسی پیدا کنه و اون‌ها رو اجرا کنه.

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

همچنین آموزش خالی کردن کش DNS را در ویندوز، لینوکس و مک خالی کنیم؟ را در این صفحه مشاهده کنید.

XML-RPC دقیقاً چیه؟

بذار از بحث‌های قبلی بگذریم و مستقیم بریم سراغ اصل ماجرا. وردپرس یه پروتکل ارتباطی داره به اسم XML-RPC که برای اجرای از راه دور توابع سایت استفاده می‌شه. یعنی چی؟ یعنی یه سایت دیگه یا یه اپلیکیشن می‌تونه از بیرون، با استفاده از این پروتکل، به توابع قالب یا افزونه‌های سایت شما دسترسی پیدا کنه و اون‌ها رو اجرا کنه.

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

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

XML-RPC چیست

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

بررسی دقیق خطاها، مخصوصاً زمانی که سایت خطای دیتابیس می‌ده

خواندن درخواست‌هایی مثل POST /xmlrpc.php HTTP/1.0 داخل لاگ‌های وب‌سرور

همچنین مقاله DNS چیست و چگونه کار می‌کند؟ را در این صفحه مطالعه کنید.

نحوه جلوگیری از حملات XML-RPC در وردپرس

برای جلوگیری از حملات XML-RPC در وردپرس، بهترین راه اینه که مستقیم از طریق فایل .htaccess این قابلیت رو ببندیم.

برای این کار:

وارد File Manager هاست بشید

به مسیر public_html برید

فایل .htaccess رو باز و ویرایش کنید

حالا در ابتدای فایل، این کد رو قرار بدید:

<files xmlrpc.php>
order allow,deny
deny from all
</files>

و تمام! به همین سادگی دسترسی به فایل xmlrpc.php کاملاً بسته می‌شه و دیگه هیچ هکری نمی‌تونه از این مسیر وارد سایتتون بشه.

اگر از NGINX استفاده می‌کنید
خیلی از دوستان از وب‌سرور NGINX استفاده می‌کنن، و اگر شما هم جزو اون‌ها هستید، احتمالاً روی یک سرور اختصاصی یا نیمه‌اختصاصی کار می‌کنید—که واقعاً جای تبریک داره. برای بستن دسترسی به XML-RPC در NGINX، باید فایل /etc/nginx/nginx.conf رو باز کنید و کد زیر رو داخل بخش server{} قرار بدید:

location = /ahura/xmlrpc.php {
deny all;
access_log off;
log_not_found off;
return 403;
}

به همین سادگی! از این لحظه به بعد، فایل xmlrpc.php روی سرور NGINX شما کاملاً مسدود می‌شه.

✅ چطور مطمئن بشیم XML-RPC بسته شده؟
خیلی راحت! کافیه توی مرورگر آدرس زیر رو باز کنید:

filmamooz.com/xmlrpc.php

اگر با خطای 403 یا 404 روبه‌رو شدید، یعنی دسترسی به این فایل بسته شده. حالا همین تست رو با دامنه خودتون انجام بدید. اگر نتیجه مشابه بود، یعنی تنظیمات رو درست انجام دادید و XML-RPC روی سایت شما هم غیرفعال شده.

موفق و سربلند باشید .

دیدگاهتان را بنویسید

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