
به اشتراک بگذارید

به اشتراک بگذارید
امنیت وردپرس | بلاگ وبداده
دفاع در برابر حملات DDoS به سایت وردپرسی؛ ۶ تکنیک کلیدی

xmlrpc.php یک درگاه قدیمی وردپرس است که طبق تحلیل وردفنس میتواند همزمان بهعنوان «تقویتکننده» حمله جستجوی فراگیر و هم بهعنوان «بازتابدهنده» حمله DDoS سوءاستفاده شود. در حمله pingback، مهاجم با ارسال درخواستهای جعلی، هزاران سایت وردپرسی را وادار میکند همزمان به یک هدف واحد ترافیک بفرستند و عملاً آنها را به یک باتنت DDoS تبدیل میکند. اگر از اپ موبایل وردپرس یا نسخههای قدیمی Jetpack استفاده نمیکنید، بستن این فایل در سطح وبسرور یکی از سادهترین و مؤثرترین کارهاست. روی سرورهای اپاچی و لایتاسپید (رایج در هاستهای سیپنل)، این قطعه را در فایل .htaccess ریشه سایت قرار دهید:
| تکنیک | لایه هدف | سختی اجرا | میزان اثر |
|---|---|---|---|
| شبکه توزیع محتوا + WAF | شبکه و اپلیکیشن | آسان تا متوسط | بسیار بالا |
| محدودسازی نرخ درخواست | اپلیکیشن | متوسط (فنی) | بالا |
| بستن xmlrpc.php / pingback | اپلیکیشن | متوسط (فنی) | متوسط تا بالا |
| پنهانکردن IP اصلی | شبکه | متوسط | بالا (مکمل CDN) |
| افزونه امنیتی / فایروال | اپلیکیشن | آسان | متوسط تا بالا |
| میزبانی قوی + بهروزرسانی | زیرساخت | آسان | بالا (پایه کار) |
نشانههای رایج عبارتاند از کندشدن ناگهانی یا از دسترس خارجشدن سایت بدون دلیل مشخص، افزایش شدید و غیرعادی مصرف CPU و پهنایباند در کنترلپنل، و حجم بالای درخواست از IPهای متعدد در لاگ سرور — بهویژه به فایلهایی مثل wp-login.php یا xmlrpc.php. البته گاهی افزایش ناگهانی بازدید واقعی هم شبیه حمله بهنظر میرسد؛ پس لاگها را با دقت بررسی کنید.
بله. بسیاری از حملهها خودکار و بیهدفاند و هر سایت وردپرسی آسیبپذیری را که پیدا کنند هدف میگیرند. حتی اگر سایت شما هدف مستقیم نباشد، ممکن است از طریق xmlrpc.php بهعنوان بخشی از یک باتنت برای حمله به دیگران سوءاستفاده شود. پس اندازه سایت مهم نیست.
اگر فقط وقت یک کار را دارید، یک شبکه توزیع محتوا مثل کلادفلر را جلوی سایت فعال کنید. این کار بیشترین اثر را با کمترین زحمت دارد، چون ترافیک حمله را پیش از رسیدن به سرور شما فیلتر میکند. در قدم بعد، xmlrpc.php را در صورت عدم نیاز ببندید.
نه بهطور کامل. افزونههای امنیتی برای حملههای لایه اپلیکیشن مفیدند، اما چون داخل وردپرس و PHP اجرا میشوند، در برابر حملههای حجیم لایه شبکه که پهنایباند را اشباع میکنند کاری از دستشان برنمیآید. برای آن لایه، به شبکه توزیع محتوا نیاز دارید.
برای بیشتر سایتهای امروزی خیر، چون ابزارهای مدرن عمدتاً از REST API استفاده میکنند. اما اگر از اپ موبایل وردپرس، نسخههای قدیمی Jetpack یا برخی سرویسهای انتشار خودکار استفاده میکنید، ممکن است به آن نیاز داشته باشید. در این حالت بهجای بستن کامل، آن را محدود و rate-limit کنید.
در حمله DoS ترافیک از یک منبع میآید و معمولاً سادهتر بلاک میشود. در حمله DDoS همان حمله از هزاران دستگاه پراکنده (باتنت) همزمان انجام میشود؛ همین توزیعشدهبودن، شناسایی و بلاک آن را بسیار سختتر میکند و به همین دلیل به دفاع چندلایه نیاز دارد.
برای سایتهای کوچک و حملههای رایج، پلن رایگان اغلب نقطه شروع خوبی است و محافظت پایه میدهد. اما در برابر حملههای بزرگ و هدفمند، معمولاً به پلنهای پولی با محافظت پیشرفته و همیشهروشن نیاز خواهید داشت. سطح محافظت را متناسب با اهمیت سایتتان انتخاب کنید.
این معمولاً بهخاطر محدودسازی نرخِ بیشازحد سختگیرانه است. مقادیر را ملایمتر کنید (مثلاً سقف درخواست را بالاتر ببرید) و IPهای مورد اعتماد خودتان را به فهرست سفید اضافه کنید. اگر تغییری در .htaccess باعث مشکل شده، فایل را به نسخه بکاپ برگردانید.
دفاع در برابر DDoS یک کار یکباره نیست. بهتر است هسته، قالب و افزونهها را مرتب بهروزرسانی کنید، گزارش ترافیک و لاگها را گاهی مرور کنید و از تنظیمات شبکه توزیع محتوا مطمئن شوید. یک بازبینی ماهانه کوتاه معمولاً کافی است.