غیرفعال کردن XMLRPC وردپرس یکی از اقدامات امنیتی مهم برای مدیران سایتهای وردپرسی است. XML-RPC که زمانی بهطور پیشفرض غیرفعال بود، در نسخههای جدید وردپرس مجدداً فعال شده و متأسفانه امکان غیرفعالسازی آن از طریق پیشخوان وردپرس وجود ندارد. این موضوع میتواند سایت شما را در معرض حملات امنیتی متعددی قرار دهد. در این مقاله جامع، به بررسی دلایل غیرفعالسازی XMLRPC، روشهای مختلف انجام این کار و نکات فنی مرتبط با آن میپردازیم.
XML-RPC چیست و چرا باید آن را غیرفعال کرد؟
XML-RPC (پروتکل فراخوانی از راه دور مبتنی بر XML) یک پروتکل ارتباطی است که امکان تعامل با وردپرس از راهدور را فراهم میکند. این فناوری در گذشته برای انتشار محتوا از طریق ابزارهایی مانند Windows Live Writer یا اپلیکیشنهای موبایل استفاده میشد.
مهمترین خطرات XML-RPC در وردپرس
حملات Brute Force: هکرها میتوانند از XMLRPC برای حملات brute force بهصورت انبوه استفاده کنند.
حملات DDoS: فایل `xmlrpc.php` میتواند هدف حملات Distributed Denial of Service (DDoS) قرار گیرد.
سوءاستفاده از Pingback: مهاجمان از ویژگی pingback برای حملات انعکاسی (Reflection Attacks) استفاده میکنند.
با توجه به این تهدیدات، غیرفعال کردن XMLRPC وردپرس یک اقدام ضروری برای افزایش امنیت سایت است.
مقاله پیشنهادی: بلاک کردن ip در سی پنل
روشهای غیرفعال کردن XMLRPC وردپرس
در ادامه، بهترین و مؤثرترین روشهای غیرفعالسازی XML-RPC را بررسی میکنیم.
- غیرفعال کردن XMLRPC از طریق فایل functions.php
یکی از مطمئنترین روشها، اضافه کردن کد زیر به فایل `functions.php` قالب فعال است:
php
// غیرفعال کردن XML-RPC در وردپرس
add_filter(‘xmlrpc_enabled’, ‘__return_false’);
// حذف هدر X-Pingback برای افزایش امنیت
function remove_x_pingback($headers) {
unset($headers[‘X-Pingback’]);
return $headers;
}
add_filter(‘wp_headers’, ‘remove_x_pingback’);
مزایا:
– عدم نیاز به نصب افزونههای اضافی
– اجرای سریع و بدون تأثیر بر عملکرد سایت
- مسدود کردن دسترسی به `xmlrpc.php` از طریق .htaccess
اگر از سرور آپاچی استفاده میکنید، میتوانید با اضافه کردن کد زیر به فایل `.htaccess`، دسترسی به XML-RPC را مسدود کنید:
“`apache
# مسدود کردن XML-RPC در وردپرس
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
نکته: این روش برای سرورهای Nginx کاربرد ندارد و باید از روشهای مخصوص Nginx استفاده کرد.
- غیرفعال کردن XMLRPC با استفاده از افزونهها
اگر تمایلی به ویرایش فایلهای وردپرس ندارید، میتوانید از افزونههای زیر استفاده کنید:
Disable XML-RPC: این افزونه بهسادگی XML-RPC را غیرفعال میکند.
XML-RPC Pingback Disabler: علاوه بر غیرفعالسازی XML-RPC، حملات Pingback را نیز مسدود میکند.
- غیرفعال کردن XMLRPC در سطح سرور (Apache/Nginx)
برای سرورهای آپاچی:
اگر دسترسی روت دارید، میتوانید فایل `httpd.conf` را ویرایش کنید:
“`apache
<FilesMatch “^(xmlrpc\.php|wp-trackback\.php)”>
Order Deny,Allow
Deny from all
</FilesMatch>
برای سرورهای Nginx:
در فایل کانفیگ Nginx، بلوک زیر را اضافه کنید:
“`nginx
location = /xmlrpc.php {
deny all;
return 403;
}
مزیت این روش:
– مسدودسازی کامل XML-RPC برای تمام سایتهای روی سرور
– کاهش قابلتوجه حملات DDoS و Brute Force
آیا غیرفعال کردن XMLRPC بر عملکرد سایت تأثیر میگذارد؟
خیر! غیرفعالسازی XML-RPC هیچ تأثیر منفی بر عملکرد عادی سایت ندارد، مگر اینکه از ابزارهای خاصی مانند اپلیکیشنهای موبایل وردپرس یا Jetpack استفاده کنید. در این صورت، باید روشهای جایگزین مانند **استفاده از REST API** را در نظر بگیرید.
نتیجهگیری
چرا غیرفعال کردن XMLRPC ضروری است؟
غیرفعال کردن XMLRPC در وردپرس یک اقدام پیشگیرانه برای مقابله با حملات امنیتی رایج است. با استفاده از روشهای ارائهشده در این مقاله، میتوانید امنیت سایت خود را بهطور چشمگیری افزایش دهید.
نظرت در مورد مقاله شاه چیه؟
میانگین امتیاز 0 / 5. تعداد آراء 0






