مقابله با حملات به xmlrpc در وردپرس

مقابله با حملات به xmlrpc در وردپرس

یکی از روش های هک  سایت های وردپرس حملات Brute Force به فایل xmlrpc.php می باشد. در نسخه های جدید wordpress امکان استفاده از xmlrpc بطور پیشفرض فعال است، چرا که این فایل امکان ارسال پست به سایت از راه دور و توسط نرم افزارهای مختلف مثل اپلیکیشن موبایل وردپرس را می دهد.

البته در نسخه های جدید وردپرس باگهای امنیتی این فایل رفع شده اند اما همچنان خرابکاران می توانند درخواست های بسیاری به این فایل از متد post ارسال کنند که باعث بالا رفتن لود سرور و خوابیدن سایت شما شود. یعنی این فایل به نوعی برای حملات DDOS استفاده می شود. بنابراین اگر از امکان ارسال از راه دور مثلا توسط نرم افزار Windows Live Writer یا اپلیکیشن های وردپرس استفاده نمی کنید اصلا نیازی به فعال بودن این امکان در وردپرس ندارید.

کاربران ناشی حتی اقدام به پاک کردن فایل xmlrpc.php می کنند که جلوی این حملات گرفته شود اما این کار تاثیری در رفع حمله ندارد و حمله کننده که با توابع هسته وردپرس سر و کار دارد به کار خود ادامه می دهد. اما شما می توانید به چند روش این حملات را خنثی نمایید.

غیر فعال کردن xmlrpc از طریق وردپرس

برای اینکار باید کد زیر را به فایل Function.php قالب سایت خود اضافه کنید. دقت کنید ممکن است با بروزرسانی یا تعویض قالب لازم باشد که این کد را مجددا داخل فایل مذکور قرار دهید.

استفاده از پلاگین Disable XML-RPC

با استفاده از پلاگین Disable XML-RPC می توانید در نسخه های بالاتر از ۳٫۵ وردپرس به راحتی امکان استفاده از این API را غیرفعال نمایید. استفاده از این افزونه روش کارآمدتری نسبت به روش قبل می باشد و با آپدیت های قالب وردپرس و یا تعویض قالب نیاز به اعمال تغییرات مجدد نمی باشد.

جلوگیری از دسترسی به xmlrpc.php توسط فایل htaccess

بهترین و کارآمدترین روش قطع دسترسی خرابکارن به این API و داشتن دسترسی توسط مدیریت سایت است! با استفاده از کدهای فایل htaccess میتوانید دسترسی غریبه ها به فایل xmlrpc.php را مسدود کنید در حالی که برای ip های خودتان دسترسی را آزاد گذاشته اید. کافی است کد زیر را به انتهای فایل htaccess وردپرس خود اضافه کنید:

شما می توانید بجای ۱۲۳٫۱۲۳٫۱۲۳٫۱۲۳ اعداد مربوط به ip خود که دسترسی مجاز دارد را وارد کنید.  اگر از امکان xml-rpc استفاده نمی کنید می توانید به طور کامل خط مربوط به Allow را حذف کنید تا دسترسی همگانی به این فایل بسته شود. همچنین می توانید چند ip مختلف یا حتی چند رنج ip را دسترسی Allow بدهید.

5 دیدگاه

ارسال دیدگاه