چطور جلوی حمله به XML-RPC وردپرس را بگیریم؟

یکی از روش‌های مهم و اساسی حمله به سایت‌های وردپرس حمله به XML-RPC سایت است. پروتکل XML-RPC در وردپرس همان حکم API یا رابط برنامه نویسی وردپرس را دارد که برنامه نویسان می‌توانند وردپرس را به دیگر سیستم‌ها متصل نمایند. البته کاربران وردپرس هم زمانی که XML-RPC روی وردپرس فعال است، می‌توانند از ابزارهایی مثل اپلیکیشن موبایلی وردپرس روی گوشیِ هوشمند خود برای مدیریت سایت و ارسال نوشته هم استفاده کنند. اما از همین قابلیت، هکرها برای هک کردن سایت هم می‌توانند استفاده کنند.

چطور جلوی حمله به XML-RPC وردپرس را بگیریم

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

نشانه های حمله XML-RPC وردپرس چیست؟

اول از همه باید بدانیم که نشانه‌های این نوع حمله چیست؛ یعنی ما چه چیزی را باید مشاهده کنیم که متوجه شویم سایت زیر حملهٔ XML-RPC است؟ از روی موارد زیر می‌توان این نشانه‌ها را دریافت:

  1. به صورت تصادفی برخی از درخواست‌های صفحات سایت در مرورگر با خطای «Error establishing database connection» روی وردپرس مواجه می‌شود. حالا چه بخش پیشخوان وردپرس و چه بخشی که بازدید کنندگان می‌بینند.
  2. خطای «Out of memory» در کنسول وب سرور
  3. خطای «Cannot open the file no such file/directory» موجود در اسناد گزارش وب سرور (access log)
  4. خطای «POST /xmlrpc.php HTTP/1.0» موجود در اسناد گزارش وب سرور (access log)
یک آموزش جذاب دیگه!  جلوگیری از حملات بروت فورس به وردپرس

نشانهٔ اول که ممکن است کاملاً برای شما مشهود باشد. البته به غیر از رخ دادن چنین اتفاقی، کلاً متوجه کاهش سرعت سایت در مواقعی که حمله به XML-RPC است خواهید شد.

نشانهٔ دوم را معمولاً‌ مدیر فنی سرور می‌بیند که اگر سایت شما روی سرور مجازی یا اختصاصی باشد و حافظه RAM کمی داشته باشید، می‌توانید این خطا را ببینید. البته در اسناد گزارش موجود روی فضای میزبانی هاست اشتراکی هم ممکن است این خطا درج گردد.

خطای نوع سوم و چهارم مربوط به گزارش‌هایی از دسترسی‌های مختلف است که وب سرور یا همان آپاچی یا NGINX یا حتی لایت اسپید جمع‌آوری می‌کند و درون اسنادی ذخیره می‌نماید. برای دسترسی به این اسناد گزارش، روی هاست اشتراکی، باید به مسیر /home/username/logs بروید و اسناد گزارش دسترسی‌ها را خواهید دید. سندی که درون نام آن access.log داشته باشد، همانی است که مد نظر ماست. البته ممکن است مدیران فنی سرورهای اشتراکی، جلوی نمایش و دسترسی یک چنین سندی توسط شما را گرفته باشند. یا این سند مثلا روی هاست‌های سی پنل در مسیر access-logs قرار گرفته باشند. به هر حال وب سرور سندی برای جمع‌آوری این نوع خطاها دارد که باید درون این سندها با دستور grep لینوکس جستجو کرده و ببینید که آیا یک چنین خطایی وجود دارد یا خیر.

یک آموزش جذاب دیگه!  حمله DDoS چیست ؟

مثلاً دستور زیر کاربردش روی سرور CentOS است:

grep xmlrpc /var/logs/httpd/access.log

یا این دستور روی اوبونتو:

grep xmlrpc /var/logs/apache2/access.log

برای سرورهای cPanel :

grep xmlrpc /home/username/logs/access.log

برای nginx :

grep xmlrpc /var/logs/nginx/access.log

اگر وردپرس تحت حمله باشد، یک چنین خطی باید درون یکی از این اسناد وجود داشته باشد:

“POST /xmlrpc.php HTTP/1.0” ۲۰۰ ۶۷۴ “-” “Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)”

مسدود کردن حمله به XML-RPC وردپرس

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

بستن دسترسی xmlrpc با سند .htaccess

به صورت دستی جلوی دسترسی به xmlrpc وردپرس را با سند .htaccess بگیریم. برای این منظور مقالهٔ آموزشی غیر فعال کردن XML-RPC وردپرس با htaccess را مطالعه نمایید که کامل توضیح داده شده.

صفحه: 1 2

ارسال دیدگاه

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

آموزش جامع وردپرس

آموزش نصب وردپرس روی لوکال هاست

آموزش افزونه Yoast SEO

درباره ®WPTutorial

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