بازدید: 31 بازدید
روش محدود کردن XML-RPC در وردپرس به آیپی خود

محدود کردن XML-RPC  می تواند امنیت وب سایت وردپرسی شما را افزایش دهد. وردپرس، یکی از محبوب‌ترین سیستم‌های مدیریت محتوا (CMS) در جهان است که به دلیل استفاده گسترده، همیشه هدف حملات سایبری قرار دارد. یکی از نقاط آسیب‌پذیر در وردپرس، ویژگی XML-RPC است. این پروتکل امکان برقراری ارتباط از راه دور با وبسایت وردپرسی را فراهم می‌کند، اما در عین حال می‌تواند به عنوان راهی برای سوء‌استفاده و حملات متداول از جمله حملات DDoS و بروت فورس (Brute Force) مورد استفاده قرار گیرد.

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


XML-RPC چیست؟

XML-RPC (Remote Procedure Call) یک پروتکل ارتباطی است که به کاربران امکان می‌دهد از راه دور با وبسایت وردپرسی ارتباط برقرار کنند. این ویژگی به خصوص برای برنامه‌های موبایل وردپرس و برخی افزونه‌ها مفید است، چرا که از این طریق می‌توان به وسیله API بدون ورود به پنل مدیریت سایت از امکانات آن استفاده کرد.

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


چرا محدود کردن XML-RPC

  • جلوگیری از حملات بروت فورس: XML-RPC از متدهایی مانند system.multicall پشتیبانی می‌کند که اجازه می‌دهد چندین درخواست در یک زمان ارسال شود. هکرها از این ویژگی برای انجام حملات بروت فورس استفاده می‌کنند تا با آزمودن تعداد زیادی رمز عبور، به وبسایت دسترسی پیدا کنند.
  • حملات DDoS: مهاجمان می‌توانند با ارسال درخواست‌های مکرر از طریق XML-RPC، وبسایت را با حجم بالایی از ترافیک مواجه کرده و باعث افت عملکرد یا از کار افتادن سرور شوند.
  • امنیت بیشتر: اگر فقط شما یا یک سری آی‌پی‌های مشخص باید به این قابلیت دسترسی داشته باشند، محدود کردن آی‌پی‌ها می‌تواند سطح امنیتی وبسایت شما را به شکل چشمگیری افزایش دهد.

مراحل محدود کردن XML-RPC به آی‌پی خود

برای محدود کردن دسترسی به XML-RPC، شما می‌توانید از طریق تنظیمات فایل .htaccess یا به وسیله افزونه‌های وردپرس این کار را انجام دهید. در این بخش، هر دو روش را بررسی می‌کنیم:

1. محدود کردن XML-RPC از طریق فایل .htaccess

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

مراحل:

  1. دسترسی به فایل .htaccess: ابتدا به هاست خود وارد شوید و به پوشه ریشه (Root Directory) وردپرس خود بروید. فایل .htaccess باید در اینجا موجود باشد. اگر این فایل را نمی‌بینید، ممکن است مخفی باشد. برای نمایش فایل‌های مخفی، می‌توانید از گزینه‌های مربوطه در کنترل پنل هاست (مانند cPanel) استفاده کنید.
  2. ویرایش فایل .htaccess: فایل .htaccess را با ویرایشگر متن باز کنید و خطوط زیر را به آن اضافه کنید:
    <Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
    Allow from xxx.xxx.xxx.xxx
    </Files>
    1. در اینجا، به جای xxx.xxx.xxx.xxx، آی‌پی عمومی خود را وارد کنید. این دستور به سرور می‌گوید که دسترسی به فایل xmlrpc.php را به تمام آی‌پی‌ها مسدود کرده و تنها آی‌پی شما اجازه دسترسی دارد.
    2. ذخیره و بستن فایل: پس از ویرایش و اضافه کردن کدهای فوق، فایل را ذخیره و ببندید.
    3. تست دسترسی: برای اطمینان از اینکه دسترسی به XML-RPC فقط برای آی‌پی شما باز است، می‌توانید با استفاده از یک ابزار تغییر آی‌پی یا از دستگاه دیگری که از آی‌پی دیگری استفاده می‌کند، تلاش کنید به xmlrpc.php دسترسی پیدا کنید. در صورتی که کدهای فوق به درستی کار کرده باشند، باید خطای 403 Forbidden را دریافت کنید.

    2. محدود کردن XML-RPC از طریق افزونه

    اگر به هر دلیلی نمی‌خواهید فایل .htaccess را ویرایش کنید یا ترجیح می‌دهید از راه‌حلی ساده‌تر استفاده کنید، می‌توانید از افزونه‌های امنیتی وردپرس استفاده کنید.

    افزونه‌های پیشنهادی:

    • iThemes Security: این افزونه معروف به شما اجازه می‌دهد به راحتی دسترسی به XML-RPC را مدیریت و محدود کنید.
    • Wordfence Security: یکی از قوی‌ترین افزونه‌های امنیتی وردپرس که امکانات متنوعی از جمله مدیریت دسترسی به XML-RPC را فراهم می‌کند.

    مراحل:

    1. نصب و فعال‌سازی افزونه: به پیشخوان وردپرس خود بروید و به قسمت “افزونه‌ها > افزودن” مراجعه کنید. نام یکی از افزونه‌های بالا را جستجو کرده و آن را نصب کنید. پس از نصب، افزونه را فعال کنید.
    2. تنظیمات افزونه: به بخش تنظیمات افزونه مراجعه کنید. در هر دو افزونه ذکر شده، گزینه‌ای برای مدیریت دسترسی به XML-RPC وجود دارد. به طور مثال، در افزونه Wordfence می‌توانید به قسمت “Firewall” بروید و از آنجا قوانین مربوط به XML-RPC را ویرایش کنید.
    3. اضافه کردن آی‌پی: با مراجعه به بخش مربوطه، می‌توانید آی‌پی‌های مجاز خود را برای دسترسی به xmlrpc.php وارد کنید

    روش محدود کردن XML-RPC در وردپرس به آی‌پی خود


    غیرفعال کردن کامل XML-RPC در صورت نیاز

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

    برای غیرفعال کردن کامل XML-RPC، کافی است خطوط زیر را به فایل .htaccess خود اضافه کنید:

    <Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
    </Files>

    با این کار، دسترسی به xmlrpc.php برای تمامی کاربران غیرفعال خواهد شد.


    نتیجه‌گیری

    محدود کردن XML-RPC به آی‌پی‌های مجاز یک روش مؤثر برای افزایش امنیت وبسایت وردپرسی شماست. با استفاده از روش‌های ارائه شده در این مقاله، می‌توانید به راحتی این ویژگی را کنترل کرده و از حملات بروت فورس و DDoS جلوگیری کنید. اگرچه XML-RPC می‌تواند برای برخی کاربران مفید باشد، اما برای بسیاری از سایت‌ها نیازی به این ویژگی نیست و بهترین کار محدود یا غیرفعال کردن آن است.

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

ادامه مطلب