XML-RPC چیست؟
XML-RPC پروتکلی در وردپرس (xmlrpc.php) برای ارتباط از راه دور با سایت است. اپلیکیشنهای موبایل وردپرس و Pingback از آن استفاده میکنند. اما هکرها از XML-RPC برای حملات Brute Force و DDoS سوءاستفاده میکنند.
چرا غیرفعال کنیم؟
حملات Brute Force از طریق xmlrpc.php (تست هزاران رمز عبور). حملات DDoS Amplification با Pingback. مصرف بالای منابع سرور.
روش ۱: .htaccess (توصیهشده)
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
روش ۲: افزونه
افزونه Disable XML-RPC نصب و فعال کنید. یککلیکه غیرفعال میشود.
روش ۳: functions.php
add_filter('xmlrpc_enabled', '__return_false');
روش ۴: Nginx
location = /xmlrpc.php {
deny all;
return 403;
}
روش ۵: CSF فایروال
# مسدود کردن دسترسی به xmlrpc.php از همه IP ها
# یا محدود کردن نرخ درخواست
بررسی
آدرس yourdomain.com/xmlrpc.php باز کنید. اگر خطای 403 نمایش دهد، غیرفعال شده.
استثنا
اگر از اپلیکیشن موبایل وردپرس یا Jetpack استفاده میکنید، غیرفعال کردن کامل مشکل ایجاد میکند. در این حالت فقط Pingback غیرفعال کنید:
add_filter('xmlrpc_methods', function($methods) {
unset($methods['pingback.ping']);
return $methods;
});
هاست وردپرس میهن هاستینگ با فایروال CSF که حملات xmlrpc را مسدود میکند.