آن سایتی که در یک ساعت هک شد

چند سال پیش، سایتی را برای مشاوره امنیتی بررسی می‌کردم که در عرض یک ساعت پس از راه‌اندازی هک شده بود. سایت یک فروشگاه کوچک بود و صاحبش تصور می‌کرد که چون سایت تازه است، هدف حملات نخواهد بود. اما اسکنرهای خودکار، سایت را در کمتر از یک ساعت کشف کرده و از یک آسیب‌پذیری ساده در یکی از افزونه‌ها نفوذ کرده بودند. آن روز برای من روشن شد که وردپرس، به‌دلیل سهم بازار بالا، هدف اصلی حملات خودکار است و دفاع در برابر آن نیازمند شناخت این حملات است. اگر با مفاهیم پایه آشنا نیستید، پیشنهاد می‌کنم ابتدا چرا وردپرس هدف حملات سایبری است را بخوانید.

چرا وردپرس هدف اصلی حملات است؟

وردپرس حدود چهل‌وسه درصد از وب‌سایت‌های جهان را میزبانی می‌کند. این سهم بازار بالا، آن را به هدف جذاب‌تری برای مهاجمان تبدیل می‌کند. سه دلیل اصلی:

  • مقیاس: هرچه تعداد سایت‌های وردپرسی بیشتر باشد، بازده حمله برای مهاجم بالاتر است.
  • افزونه‌محور بودن: اکوسیستم افزونه‌ها، سطح حمله را به‌شدت بالا می‌برد.
  • سادگی مدیریت: چون مدیریت سایت آسان است، بسیاری از صاحبان سایت‌ها دانش امنیتی کافی ندارند.

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

حمله اول: Brute Force روی صفحهٔ ورود

حمله Brute Force یا زورآزمایی، یکی از رایج‌ترین حملات علیه وردپرس است. مهاجم با ارسال حجم عظیمی از درخواست‌های ورود با رمزهای مختلف، سعی می‌کند رمز صحیح را پیدا کند. این حمله معمولاً روی صفحهٔ wp-login.php انجام می‌شود.

نشانه‌ها: افزایش ناگهانی درخواست‌ها به wp-login.php، بار زیاد روی سرور، لاگ‌های مکرر تلاش‌های ورود ناموفق.

راهکارهای دفاعی: رمز عبور قوی، احراز هویت دوعاملی، محدودسازی تلاش ورود، تغییر آدرس ورود، استفاده از فایروال و آموزش کاربران. راهنمای کامل در جلوگیری از حملات بروت‌فورس وردپرس و امن‌سازی ورود مدیریت وردپرس آمده است.

حمله دوم: SQL Injection

حمله SQL Injection یا SQLi، از طریق تزریق کوئری‌های SQL در ورودی‌های سایت انجام می‌شود. در وردپرس، این حمله معمولاً از طریق افزونه‌های آسیب‌پذیر رخ می‌دهد که ورودی کاربر را بدون پاک‌سازی پردازش می‌کنند.

نشانه‌ها: خطاهای دیتابیس، رفتار غیرعادی در صفحه‌ها، تغییرات غیرمجاز در دیتابیس.

راهکارهای دفاعی: به‌روزرسانی سریع افزونه‌ها، استفاده از افزونه‌های معتبر، پاک‌سازی ورودی‌ها و استفاده از Prepared Statements. راهنمای کامل در SQL Injection چیست و چگونه جلوگیری کنیم آمده است.

حمله سوم: Cross-Site Scripting یا XSS

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

نشانه‌ها: دیدگاه‌های مشکوک، لینک‌های ناخواسته در محتوا، رفتار غیرعادی در مرورگر کاربران.

راهکارهای دفاعی: پاک‌سازی ورودی و خروجی، Content Security Policy، کوکی‌های HttpOnly، به‌روزرسانی منظم. راهنمای کامل در حملات XSS چیست و چگونه دفع می‌شود آمده است.

حمله چهارم: Cross-Site Request Forgery یا CSRF

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

نشانه‌ها: تغییرات ناگهانی که کاربر انجام نداده است، فعالیت‌های غیرعادی در پیشخوان.

راهکارهای دفاعی: استفاده از nonce در فرم‌ها، بررسی Referer، SameSite Cookies. راهنمای کامل در CSRF چیست و چگونه از آن جلوگیری کنیم آمده است.

حمله پنجم: File Inclusion (RFI و LFI)

حمله RFI یا Remote File Inclusion و LFI یا Local File Inclusion، در وردپرس معمولاً از طریق افزونه‌های آسیب‌پذیر رخ می‌دهد. مهاجم از طریق ورودی کاربر، فایل‌های مخرب را بارگذاری یا اجرا می‌کند.

نشانه‌ها: فایل‌های ناشناس در پوشه‌های غیرمعمول، رفتار غیرعادی سرور، خطاهای فایل.

راهکارهای دفاعی: استفاده از فهرست سفید، غیرفعال‌سازی allow_url_include، محدودسازی دایرکتوری، اعتبارسنجی ورودی‌ها. راهنمای کامل در آسیب‌پذیری RFI و LFI چه تفاوتی دارند آمده است.

حمله ششم: Code Injection

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

نشانه‌ها: فایل‌های ناشناس، رفتار غیرعادی سرور، کاربرها یا تنظیمات ناشناس.

راهکارهای دفاعی: اعتبارسنجی و پاک‌سازی ورودی، اجتناب از توابع خطرناک، محدودسازی دسترسی، به‌روزرسانی منظم. راهنمای کامل در حمله تزریق کد چیست و چگونه دفع می‌شود آمده است.

حمله هفتم: بدافزار و Malvertising

بدافزارها در وردپرس از چند مسیر وارد می‌شوند: افزونه‌های کرک‌شده، قالب‌های ناشناس، آسیب‌پذیری‌های شناخته‌شده و حمله‌های هدفمند. بدافزار تبلیغاتی یا Malvertising نوعی بدافزار است که کاربران را به تبلیغات ناخواسته هدایت می‌کند.

نشانه‌ها: پاپ‌آپ، ریدایرکت، فایل‌های ناشناس، کندی سایت، هشدار گوگل.

راهکارهای دفاعی: اسکن منظم، به‌روزرسانی سریع، حذف افزونه‌های ناامن، بکاپ قابل بازیابی. راهنمای کامل در علائم هک و بدافزار در وردپرس کدامند، بدافزار تبلیغاتی و تأثیر آن بر سئو و پاک‌سازی بدافزار وردپرس بدون از دست دادن داده آمده است.

حمله هشتم: افزونه‌های کرک‌شده و نال

افزونه‌های کرک‌شده و نال یکی از رایج‌ترین مسیرهای نفوذ در وردپرس هستند. این افزونه‌ها اغلب حاوی کد مخرب پنهان هستند که به مهاجم دسترسی دائمی می‌دهد.

نشانه‌ها: رفتار غیرعادی سایت، فایل‌های ناشناس در افزونه، درخواست‌های خروجی به دامنه‌های ناشناس.

راهکارهای دفاعی: استفاده از افزونه‌های معتبر، خرید افزونه‌های پولی از منابع رسمی، حذف افزونه‌های نال. راهنمای کامل در چگونه افزونهٔ مطمئن دانلود کنیم و آسیب‌پذیری افزونه‌های وردپرس چه خطراتی دارد آمده است.

حمله نهم: DDoS

حمله DDoS یا Distributed Denial of Service در وردپرس از طریق ارسال حجم عظیمی از درخواست‌ها به سرور انجام می‌شود. این حمله سایت را از دسترس کاربران خارج می‌کند.

نشانه‌ها: کندی ناگهانی، عدم دسترسی، افزایش مصرف پهنای باند، هشدار هاست.

راهکارهای دفاعی: استفاده از CDN، فایروال تخصصی DDoS، Rate Limiting، پایش ترافیک. راهنمای کامل در حمله DDoS چیست و چگونه دفع می‌شود آمده است.

حمله دهم: Zero Day

حمله Zero Day در وردپرس از طریق آسیب‌پذیری‌هایی انجام می‌شود که هنوز برای آن‌ها پچ امنیتی منتشر نشده است. این نوع حملات خطرناک‌تر هستند چون ابزارهای امنیتی امضا-محور نمی‌توانند آن‌ها را تشخیص دهند.

نشانه‌ها: هیچ نشانه مشخصی وجود ندارد. معمولاً از طریق پایش رفتار غیرعادی کشف می‌شود.

راهکارهای دفاعی: کاهش سطح حمله، پایش رفتار غیرعادی، آمادگی واکنش سریع، بکاپ قابل بازیابی. راهنمای کامل در آسیب‌پذیری Zero Day چیست آمده است.

حمله یازدهم: فیشینگ روی کاربران وردپرس

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

نشانه‌ها: ایمیل‌های ناخواسته از طرف وردپرس، درخواست اطلاعات ورود.

راهکارهای دفاعی: آموزش کاربران، تأیید منبع ایمیل‌ها، احراز هویت دوعماملی. راهنمای کامل در حمله فیشینگ چیست و چگونه شناسایی می‌شود آمده است.

حمله دوازدهم: MITM

حمله MITM یا Man-in-the-Middle در وردپرس معمولاً در شبکه‌های ناامن رخ می‌دهد. اگر سایت شما از HTTPS استفاده نکند، مهاجم می‌تواند ترافیک کاربران را رهگیری کند.

نشانه‌ها: هشدار گواهی SSL، تغییرات کوچک در آدرس سایت، قطع و وصل شدن ارتباط.

راهکارهای دفاعی: HTTPS، گواهی SSL معتبر، HSTS، آموزش کاربران. راهنمای کامل در حمله MITM چیست و چه خطراتی دارد آمده است.

## حمله سیزدهم: آسیب‌پذیری‌های قالب

قالب‌های وردپرس هم می‌توانند منبع آسیب‌پذیری باشند. قالب‌های ناشناس یا قالب‌های به‌روزنشده ممکن است حاوی کدهای مخرب یا آسیب‌پذیری‌های شناخته‌شده باشند.

نشانه‌ها: رفتار غیرعادی سایت، فایل‌های ناشناس در پوشه قالب، درخواست‌های خروجی به دامنه‌های ناشناس.

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

راهکارهای دفاعی کلی

با وجود تنوع حملات، راهکارهای دفاعی مشترکی وجود دارند که در همه موارد کمک‌کننده هستند:

  • به‌روزرسانی سریع: هسته، قالب و افزونه‌ها را بلافاصله به‌روزرسانی کنید.
  • حذف افزونه‌های غیرضروری: هر افزونه، سطح حمله را افزایش می‌دهد.
  • افزونه‌های معتبر: فقط از مخزن رسمی یا منابع معتبر نصب کنید.
  • احراز هویت دوعاملی: برای همه مدیران فعال کنید.
  • رمز عبور قوی: رمز عبور پیچیده و یکتا داشته باشید.
  • محدودسازی تلاش ورود: Brute Force را مسدود کنید.
  • فایروال و WAF: درخواست‌های مخرب را مسدود کنید.
  • بکاپ منظم: بکاپ قابل بازیابی، لایه آخر دفاعی است.
  • پایش مستمر: لاگ‌ها و رفتار سرور را پایش کنید.
  • آموزش کاربران: نشانه‌های حملات را به کاربران آموزش دهید.

راهنمای کامل در چگونه امنیت وب‌سایت را افزایش دهیم و راهنمای امنیت وردپرس برای مبتدیان آمده است. مستندات ویکی‌پدیا در مورد WordPress هم اطلاعات تکمیلی خوبی ارائه می‌دهد.

پرسش‌های پرتکرار دربارهٔ حملات سایبری رایج علیه وردپرس

کدام حمله رایج‌ترین است؟ Brute Force و SQL Injection از رایج‌ترین حملات هستند. بدافزار و افزونه‌های نال هم بسیار شایع هستند.

آیا سایت‌های کوچک هم هدف این حملات هستند؟ بله. حملات معمولاً خودکار هستند و به اندازه سایت اهمیت نمی‌دهند.

آیا نصب افزونهٔ امنیتی کافی است؟ خیر. افزونهٔ امنیتی یکی از لایه‌هاست. باید سایر اقدامات مثل به‌روزرسانی، رمز قوی و بکاپ را هم انجام دهید.

اگر سایت من هک شد، چه کار کنم؟ اول سایت را از دسترس خارج کنید، بکاپ بگیرید، رمزها را تغییر دهید و شروع به پاک‌سازی کنید. راهنما در راهنمای پاک‌سازی سایت هک‌شده آمده است.

چطور می‌توانم از حملات Zero Day جلوگیری کنم؟ Zero Day قابل پیشگیری کامل نیست، اما با کاهش سطح حمله، پایش رفتار غیرعادی و آمادگی واکنش سریع، می‌توانید خسارت را کاهش دهید.

آیا استفاده از CDN امنیت را افزایش می‌دهد؟ بله، CDN می‌تواند ترافیک مخرب را فیلتر کند و در برابر DDoS مؤثر باشد. راهنمای کامل در راه‌اندازی CDN برای وردپرس آمده است.

سخن آخر: شناخت، پایه دفاع

وردپرس به‌دلیل سهم بازار بالا، هدف اصلی حملات سایبری است. اما این به‌معنی ناامنی ذاتی این پلتفرم نیست. با شناخت حملات رایج و رعایت اصول اساسی امنیتی مثل به‌روزرسانی سریع، احراز هویت دوعاملی، بکاپ منظم و پایش مستمر، می‌توانید سایت خود را در برابر بخش بزرگی از این حملات محافظت کنید. اگر تجربه‌ای از مواجهه با حملات سایبری در وردپرس دارید یا سؤالی دربارهٔ دفاع در برابر آن‌ها دارید، در دیدگاه‌ها بنویسید؛ تجربهٔ شما به دیگران کمک می‌کند تا بهتر آماده باشند.