یکی از روش های هک سایت های وردپرس حملات Brute Force به فایل xmlrpc.php می باشد. در نسخه های جدید wordpress امکان استفاده از xmlrpc بطور پیشفرض فعال است، چرا که این فایل امکان ارسال پست به سایت از راه دور و توسط نرم افزارهای مختلف مثل اپلیکیشن موبایل وردپرس را می دهد.
البته در نسخه های جدید وردپرس باگهای امنیتی این فایل رفع شده اند اما همچنان خرابکاران می توانند درخواست های بسیاری به این فایل از متد post ارسال کنند که باعث بالا رفتن لود سرور و خوابیدن سایت شما شود. یعنی این فایل به نوعی برای حملات DDOS استفاده می شود. بنابراین اگر از امکان ارسال از راه دور مثلا توسط نرم افزار Windows Live Writer یا اپلیکیشن های وردپرس استفاده نمی کنید اصلا نیازی به فعال بودن این امکان در وردپرس ندارید.
کاربران ناشی حتی اقدام به پاک کردن فایل xmlrpc.php می کنند که جلوی این حملات گرفته شود اما این کار تاثیری در رفع حمله ندارد و حمله کننده که با توابع هسته وردپرس سر و کار دارد به کار خود ادامه می دهد. اما شما می توانید به چند روش این حملات را خنثی نمایید.
غیر فعال کردن xmlrpc از طریق وردپرس
برای اینکار باید کد زیر را به فایل Function.php قالب سایت خود اضافه کنید. دقت کنید ممکن است با بروزرسانی یا تعویض قالب لازم باشد که این کد را مجددا داخل فایل مذکور قرار دهید.
1 |
add_filter('xmlrpc_enabled', '__return_false'); |
استفاده از پلاگین Disable XML-RPC
با استفاده از پلاگین Disable XML-RPC می توانید در نسخه های بالاتر از ۳٫۵ وردپرس به راحتی امکان استفاده از این API را غیرفعال نمایید. استفاده از این افزونه روش کارآمدتری نسبت به روش قبل می باشد و با آپدیت های قالب وردپرس و یا تعویض قالب نیاز به اعمال تغییرات مجدد نمی باشد.
جلوگیری از دسترسی به xmlrpc.php توسط فایل htaccess
بهترین و کارآمدترین روش قطع دسترسی خرابکارن به این API و داشتن دسترسی توسط مدیریت سایت است! با استفاده از کدهای فایل htaccess میتوانید دسترسی غریبه ها به فایل xmlrpc.php را مسدود کنید در حالی که برای ip های خودتان دسترسی را آزاد گذاشته اید. کافی است کد زیر را به انتهای فایل htaccess وردپرس خود اضافه کنید:
1 2 3 4 5 |
<FilesMatch "^(xmlrpc\.php)"> Order Deny,Allow Deny from all Allow from 123.123.123.123 </FilesMatch> |
شما می توانید بجای ۱۲۳٫۱۲۳٫۱۲۳٫۱۲۳ اعداد مربوط به ip خود که دسترسی مجاز دارد را وارد کنید. اگر از امکان xml-rpc استفاده نمی کنید می توانید به طور کامل خط مربوط به Allow را حذف کنید تا دسترسی همگانی به این فایل بسته شود. همچنین می توانید چند ip مختلف یا حتی چند رنج ip را دسترسی Allow بدهید.
5 دیدگاه
دقیقا دنبال یک همچنین شیوه ای بودم و دقیقا همون چیزی بود که میخواستم!!!
بیشتر سایتا فقط آموزش غیرفعال کردن گذاشتن!
ممنون
خیلی ممنون، درگیر این مشکل بودیم و هی به سرور فشار میاوردن که این مطلب شما رو پیدا کردیم از گوگل ، خدا قوت
سلام
سایتتون عالیه واقعا – دستتون درد نکنه–
سلام میشه لینک داخل مطلبو چک کنید.برای من
مشکل داشت.ممنون
مشکلی دیده نشد