معرفی حملات XML-RPC و آموزش محافظت وردپرس در مقابل آن
- آموزش • آموزش وبمستر
- ۲۹ مهر ۱۴۰۲
- 2,541 بازدید
میدانید که حملات زیادی در سایت های وردپرسی وجود دارند که میتونند به سایت شما آسیب بسیاری برسونند . یکی از این حملات ، حمله های معروف XML-RPC هستند . در این حمله ها ، اگر به طور جدی نتوانید از سایت وردپرسی خودتون مراقبت کنید ، آسیب جبران ناپذیری خواهید دید . در این مقاله قراره راجب حملات XML-RPC صحبت کنیم و بگیم که اصلا چی هستند و چطوری میشه باهاشون مقابله کرد . پس پیشنهاد میکنم که وبیت رو تا انتهای این مقاله همراهی کنید و اگر سوال یا ابهامی در این سری موضوعات داشتید ، از قسمت نظرات کاربران با ما به اشتراک بگذارید .
همانطور که گفتیم ، حملات XML-RPC از حمله های شایع در وردپرس هستند. برای اینکه با اینطور حملات آشنایی بیشتری پیدا کنید ، نیاز دارید که آشنایی نسبی با برخی فایل ها داشته باشید . به عنوان مثال ، xmlrpc.php فایلی است که در پوشه اصلی سایتهای وردپرسی قرار دارد و میتوانیم با جلوگیری از دسترسی به XML-RPC سایت خود را تا حد زیادی امنتر کنیم.
آنچه در این پست میخوانید
XML-RPC چیست
قبل از اینکه هر چیزی رو شروع کنیم و مقدمه چینی کنیم ، باید بگم که شما نیاز دارید که درباره حملات XML-RPC اطلاعاتی داشته باشید . برای شروع ، باید بگم که وردپرس یک پروتکل دسترسی به نام xml-rpc دارد که معمولا برای دسترسی به توابع سایت شما استفاده میشود. یعنی سایتهای دیگر میتوانند با این سرویس، شروع به اجرای توابع قالبها و افزونههای سایت شما کنند. برای کسب و کار شما ، این میتونه کاملا خطرناک باشه !
فایل xmlrpc.php
شاید بگید که بسیاری از ما از این پروتکل استفاده نمیکنیم. اما باز هم باید به این فایل دقت بسیاری داشته باشید و برای جلوگیری از حملات احتمالی بهتر است این بخش را مسدود کنید. در کل زمانی که یک هکر قصد هک کردن سایت شما با استفاده از XML-RPC را دارد، از دو روش عمل میکند:
- خواندن اطلاعات دقیق خطا زمانی که سایت شما خطای دیتابیس دارد.
- خواندن اطلاعات زیادی از جمله POST /xmlrpc.php HTTP/1.0 در لاگ وب سرور شما
جلوگیری از دسترسی به XML-RPC
برای غیرفعال کردن XML-RPC راه های مختلفی وجود دارد . یکی از این راه ها ، استفاده از افزونه وردپرسی است . اگر راه کار دیگری جز افزونه میخواهید ، تا آخر مقاله همراه ما باشید . برای اینکه XML-RPC را بدون نیاز به افزونه غیر فعال کنیم ، ابتدا به سراغ فایل htaccess میرویم. برای غیر فعال کردن XML RPC در وردپرس کافیست وارد فایل منیجر هاست خود شوید. سپس فایل .htaccess را ویرایش کنید. این فایل در مسیر اصلی public_html سایت شما قرار دارد.
بعد از اینکه فایل .htaccess را باز کردید ، کد زیر رو در ابتدای این فایل قرار دهید . با همین کار ، دسترسی به فایل xmlrpc.php مسدود شد و حالا هکرها و نفوذگرها ، نمیتونند به راحتی به این فایل دسترسی داشته باشند .
<files xmlrpc.php> order allow,deny deny from all </files>
اگر از NGINX استفاده میکنید
ممکن است شما هم مانند بسیاری از وبمسترهای دیگر ،از وب سرور NGINX استفاده کنید. اگر شما هم جز این دسته هستید، باید بگم که یک جورایی یک سرور اختصاصی یا نیمه اختصاصی برای سایت خود دارید. برای این که از اینگونه حملات در NGINX جلوگیری کنید ، باید در فایل /etc/nginx/nginx.conf این کدها را در بخش server قرار دهید.
location = /ahura/xmlrpc.php { deny all; access_log off; log_not_found off; return 403; }
اگر کارهای بالا رو انجام دادید ، باید بگم که شما تونستید به راحتی دسترسی به فایل xmlrpc.php روی سرور انجین ایکس را مسدود کنید. حالا کافیه که آدرس vebeet.com/xmlrpc.php را در مرورگر خود باز کنید. (دقت کنید که به جای vebeet نامه دامین سایت خود را وارد کنید ) اگر خطای ۴۰۳ یا ۴۰۴ دریافت کردید یعنی xmlrpc.php روی سایتتان مسدود شده است.