xmlrpc.php در وردپرس چیست

xmlrpc.php در وردپرس چیست و چرا باید آن را غیرفعال کنید؟ وردپرس همیشه دارای ویژگی هایی است که به شما امکان می دهد با سایت خود از راه دور تعامل داشته باشید. با آن روبرو شوید، مواقعی وجود خواهد داشت که باید به وب سایت وردپرس خود دسترسی داشته باشید، اما رایانه شما در نزدیکی […]

xmlrpc.php در وردپرس چیست و چرا باید آن را غیرفعال کنید؟

وردپرس همیشه دارای ویژگی هایی است که به شما امکان می دهد با سایت خود از راه دور تعامل داشته باشید. با آن روبرو شوید، مواقعی وجود خواهد داشت که باید به وب سایت وردپرس خود دسترسی داشته باشید، اما رایانه شما در نزدیکی شما نیست. برای مدت طولانی، راه حل یک فایل به نام xmlrpc.php بود. با این حال، در سال های اخیر، این پرونده بیشتر به یک مزاحمت تبدیل شده است تا یک راه حل.

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

Xmlrpc.php چیست؟

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

برای مثال، فرض کنید می‌خواستید از دستگاه تلفن همراه خود به سایت خود پست کنید زیرا رایانه شما در نزدیکی نبود. برای انجام این کار می توانید از ویژگی دسترسی از راه دور که توسط xmlrpc.php فعال شده است استفاده کنید.

ویژگی‌های اصلی که xmlrpc.php فعال کرده بود به شما امکان می‌داد از طریق تلفن هوشمند به سایت خود متصل شوید، بک‌بک‌ها و پینگ‌بک‌ها را از سایت‌های دیگر پیاده‌سازی کنید، و برخی عملکردهای مرتبط با پلاگین Jetpack.

چرا Xmlrpc.php ایجاد شد و چگونه از آن استفاده شد

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

نوشتن و انتشار در اینترنت در روزهای اولیه اینترنت، زمانی که اتصالات به طور باورنکردنی کند بود، بسیار دشوارتر و وقت گیرتر بود. بیشتر مردم به جای نوشتن در مرورگر، به صورت آفلاین می نویسند و سپس محتوای خود را در وب کپی و جایگذاری می کنند. با این حال، این روش بسیار دور از ایده آل بود.

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

XML-RPC در ابتدا به طور پیش فرض غیرفعال بود تا اینکه وردپرس 2.6 یک ویژگی را در داشبورد اضافه کرد تا آن را فعال یا غیرفعال کند.

XML-RPC به طور پیش فرض با وردپرس 3.5 و معرفی اپلیکیشن موبایل وردپرس فعال شد. این تغییر همچنین گزینه فعال یا غیرفعال کردن XML-RPC را از داشبورد حذف کرد.

XML-RPC امروزه

بسیاری از توسعه دهندگان شروع به استفاده از API جدید کردند که منجر به کاهش قابل توجهی در استفاده از XML-RPC شد. به بیان دیگر، REST API به طور موثر جایگزین XML-RPC شد.XML-RPC هنوز در وردپرس فعال است و فایل xmlrpc.php هنوز در فهرست اصلی نرم افزار قرار دارد.

چرا باید Xmlrpc.php را غیرفعال کنید؟

بزرگترین مشکلات XML-RPC نگرانی های امنیتی است که ایجاد می شود. مشکلات مستقیماً مربوط به XML-RPC نیست، بلکه در عوض چگونه می توان از فایل برای فعال کردن یک حمله brute force به سایت شما استفاده کرد.

مطمئناً، می توانید با رمزهای عبور فوق العاده قوی و افزونه های امنیتی وردپرس از خود محافظت کنید. اما بهترین حالت محافظت این است که به سادگی آن را غیرفعال کنید.

دو نقطه ضعف اصلی در XML-RPC وجود دارد که در گذشته مورد سوء استفاده قرار گرفته است.

اولین مورد استفاده از حملات brute force برای ورود به سایت شما است. یک مهاجم سعی می کند با استفاده از xmlrpc.php با استفاده از ترکیب های مختلف نام کاربری و رمز عبور به سایت شما دسترسی پیدا کند. آنها می توانند به طور موثر از یک فرمان برای آزمایش صدها رمز عبور مختلف استفاده کنند. این به آنها اجازه می دهد تا ابزارهای امنیتی را که معمولاً حملات brute force را شناسایی و مسدود می کنند، دور بزنند.

دومین مورد آفلاین کردن سایت ها از طریق حمله DDoS بود. هکرها از ویژگی pingback در وردپرس برای ارسال فوری پینگ بک به هزاران سایت استفاده می کنند. این ویژگی در xmlrpc.php به هکرها منبع تقریباً بی پایانی از آدرس های IP برای توزیع یک حمله DDoS بر روی آنها می دهد.

برای بررسی اینکه آیا XML-RPC در سایت شما اجرا می شود، می توانید آن را از طریق ابزاری به نام XML-RPC Validator اجرا کنید. سایت خود را از طریق ابزار اجرا کنید، و اگر پیام خطا دریافت کردید، به این معنی است که XML-RPC را فعال ندارید.

اگر پیام موفقیت آمیزی دریافت کردید، می توانید xmlrpc.php را با یکی از دو روش زیر متوقف کنید.

چگونه Xmlrpc.php را در وردپرس غیرفعال کنیم

اکنون که متوجه شدید چرا از xmlrpc.php استفاده می شود و چرا باید حذف شود، بیایید به دو روش غیرفعال کردن آن در وردپرس بپردازیم.

1. غیرفعال کردن Xmlrpc.php با افزونه ها

غیرفعال کردن XML-RPC در سایت وردپرس شما نمی تواند ساده تر باشد.

به سادگی از داخل داشبورد وردپرس خود به بخش افزونه ها › افزودن جدید بروید. Disable XML-RPC-API را جستجو کنید و افزونه را نصب کنید.

افزونه را فعال کنید و همه چیز آماده است. این افزونه به طور خودکار کدهای لازم را برای خاموش کردن XML-RPC وارد می کند.

با این حال، به خاطر داشته باشید که برخی از افزونه‌های موجود ممکن است از بخش‌هایی از XML-RPC استفاده کنند، بنابراین غیرفعال کردن کامل آن می‌تواند باعث تضاد افزونه یا عدم کارکرد عناصر خاصی از سایت شما شود.

2. غیرفعال کردن دستی Xmlrpc.php

اگر نمی خواهید از یک افزونه استفاده کنید و ترجیح می دهید آن را به صورت دستی انجام دهید، این روش را دنبال کنید. تمام درخواست های xmlrpc.php ورودی را قبل از اینکه به وردپرس منتقل شود متوقف می کند.

فایل htaccess خود را باز کنید. ممکن است مجبور شوید «نمایش فایل‌های مخفی» را در فایل منیجر یا کلاینت FTP خود روشن کنید تا این فایل را پیدا کنید.

داخل فایل htaccess خود کد زیر را قرار دهید:

 

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
</Files>

نتیجه

به طور کلی، XML-RPC یک راه حل محکم برای برخی از مشکلاتی بود که به دلیل انتشار از راه دور در سایت وردپرس شما رخ داد. با این حال، با این ویژگی، حفره‌های امنیتی به وجود آمد که برای برخی از صاحبان سایت وردپرس بسیار مضر بود.

برای اطمینان از ایمن ماندن سایت شما، ایده خوبی است که xmlrpc.php را به طور کامل غیرفعال کنید. مگر اینکه به برخی از عملکردهای مورد نیاز برای انتشار از راه دور و افزونه Jetpack نیاز داشته باشید. سپس، باید از افزونه‌های راه‌حلی استفاده کنید که این ویژگی‌ها را فراهم می‌کنند، در حالی که حفره‌های امنیتی را اصلاح می‌کنید.

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

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