محافظت از وردپرس در برابر آسیب پذیری افزونه

آسیب پذیری افزونه

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

هنگامی که یک آسیب پذیری کشف شد، هکرها می توانند از سوء استفاده‌های فنی مختلف برای به خطر انداختن سایت استفاده کنند. روش‌های متداول عبارتند از cross-site scripting (XSS) ، SQL injection و cross-site request forgery (CSRF). این اکسپلویت‌ها به هکر اجازه می دهد تا طیف وسیعی از فعالیت‌های مخرب را انجام دهد، مانند:

  • ریدایرکت بازدیدکنندگان به سایت‌های مخرب.
  • تزریق تبلیغات اسپم و محتوای ناخواسته به سایت.
  • نصب بدافزار (به عنوان مثال، آلوده کردن فایل‌هایی مانند wp-feed.php) برای اجرای حملات بیشتر.
  • ایجاد حساب‌های rogue admin برای کنترل سایت.
  • استفاده از سرور برای راه اندازی حملات DDoS یا ارسال ایمیل‌های اسپم.

این حملات می تواند عملکرد سایت شما را فلج کند، رتبه سئوی شما را پایین بیاورد و مهمتر از همه به کسب و کار، درآمد و شهرت شما آسیب برساند.

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

علت واقعی اکثر هک‌های وردپرس

وقتی سایت‌های وردپرس هک می‌شوند، سریع ارائه‌دهنده هاست یا افزونه‌هایی را که ظاهرا در را به روی مهاجمان باز کرده‌اند سرزنش می‌کنیم. درست است که آسیب پذیری‌ افزونه نقش مهمی ایفا می‌کنند. بر اساس گزارش آسیب‌پذیری وردپرس سال ۲۰۲۲ SolidWP، ۹۳ درصد از آسیب‌پذیری‌های وردپرس از پلاگین‌ها ناشی می‌شود. با این حال، مشکل اساسی اغلب سهل انگاری کاربر است.

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

پلاگین‌های قدیمی

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

با این حال، اغلب بین افشا و زمانی که کاربران واقعا افزونه‌های خود را به روز می‌کنند، تاخیر وجود دارد. هکرها از این شکاف استفاده نموده و وب را برای یافتن سایت‌هایی که هنوز آسیب پذیری را اصلاح نکرده‌اند اسکن می‌کنند.
نمونه بارز این آسیب‌پذیری افزونه File Manager بود که در سپتامبر ۲۰۲۰ کشف شد و بیش از ۶۰۰۰۰۰ سایت وردپرس را تحت تاثیر قرار داد. این آسیب‌پذیری zero-day اجرای کد از راه دور به مهاجمان اجازه می‌دهد به قسمت مدیریت دسترسی داشته باشند، کدهای مخرب را اجرا کنند و اسکریپت‌های مضر را در سایت‌هایی که نسخه‌های قدیمی‌تر افزونه (نسخه‌های ۶.۰ تا ۶.۸) را اجرا می‌کنند، آپلود نمایند. در حالی که توسعه دهندگان یک نسخه اصلاح شده (File Manager 6.9) را در عرض چند ساعت منتشر کردند، بیش از ۳۰۰۰۰۰ سایت آسیب پذیر باقی ماندند زیرا کاربران افزونه‌های خود را به روز نکرده بودند و هکرها به سرعت از این تاخیر سوء استفاده کردند.

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

پلاگین‌های متروکه

افزونه‌های رها شده یک بمب ساعتی برای بسیاری از سایت‌های وردپرسی هستند. اگرچه تیم وردپرس برخی از این افزونه‌ها را برای همیشه از مخزن خود حذف می‌کند، اما بسیاری از آنها بدون تعمیر و نگهداری مداوم یا به‌روزرسانی‌های امنیتی در وب‌سایت‌ها فعال هستند.
تنها در سال ۲۰۲۳، ۸۲۷ افزونه و تم به‌عنوان متروکه (abandoned) گزارش شدند که نسبت به ۱۴۷ موردی که در سال ۲۰۲۲ گزارش شده بود بسیار افزایش یافته است. از این تعداد، بیش از نیمی (۵۸.۱۶ درصد) به‌دلیل نگرانی‌های امنیتی جدی برای همیشه حذف شدند.

به عنوان مثال، افزونه Eval PHP برای بیش از یک دهه قبل از اینکه هکرها از آن در سال ۲۰۲۳ بهره برداری کنند، کنار گذاشته شد. این افزونه که در اصل برای اجازه دادن به کاربران برای اجرای کد PHP در نوشته‌ها و برگه‌های وردپرس طراحی شده بود، به ابزاری برای مهاجمان تبدیل شد تا درهای پشتی را به وب سایت‌ها تزریق کنند . از آنجایی که Eval PHP دیگر نگهداری نمی‌شد، آسیب‌پذیری‌های امنیتی بدون اصلاح باقی ماندند و هکرها از این فرصت استفاده کردند و از این افزونه برای دسترسی غیرمجاز به وب‌سایت‌ها استفاده کردند.
مهاجمان پس از ورود، می‌توانند اطلاعات حساس را بدزدند، کنترل کامل یک سایت را در دست بگیرند یا از آن به عنوان بخشی از کمپین‌های مخرب بزرگتر مانند حملات DDoS استفاده کنند. حتی حذف افزونه مشکل را حل نکرد – هکرها می‌توانند با پنهان کردن درهای پشتی در محتوای سایت، روی وب سایت‌های در معرض خطر ادامه دهند.

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

هاست وردپرس با وب سرور محبوب لایت اسپید و کش لایت اسپید باعث می‌شود تا سرعت لود فوق العاده‌ای را تجربه کنید.

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

چگونه از سایت وردپرس خود محافظت کنیم

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

  • از یک ارائه دهنده هاست با کیفیت استفاده کنید
  • افزونه‌ها را به روز نگه دارید
  • افزونه های متروکه یا پشتیبانی نشده را حذف کنید
  • فقط از افزونه‌های قابل اعتماد استفاده کنید
  • تعداد افزونه‌هایی را که نصب می‌کنید محدود نمائید
  • دسترسی ادمین را محدود و احراز هویت قوی را فعال کنید
  • نظارت بر گزارش‌های آسیب پذیری
۱. از یک ارائه دهنده هاست با کیفیت استفاده کنید

ارائه دهنده هاست شما می‌تواند با ارائه اقدامات امنیتی برای جلوگیری از حملات رایج، نقش مهمی در امنیت سایت وردپرس شما ایفا کند. به عنوان مثال، پارسدِو هر زمان که آسیب‌پذیری افزونه نصب شده در سایت‌های آن‌ها گزارش می‌شود، هشدار می‌دهد.
بسیاری از مردم سایت‌های وردپرسی را راه‌اندازی می‌کنند و آن‌ها را فراموش می‌کنند یا به آژانس‌هایی که صدها سایت را همزمان مدیریت می‌کنند متکی هستند. از دست دادن مسیر به‌روزرسانی‌های امنیتی آسان است. دقیقا به همین دلیل است که داشتن میزبانی که فعالانه به دنبال آسیب‌پذیری‌ها باشد بسیار مهم است.

راه های دیگری که یک هاست خوب می تواند از سایت شما محافظت کند عبارتند از:

  • شناسایی و پاکسازی بدافزار – میزبان شما باید به طور مرتب بدافزار را اسکن کند تا از ایمنی سایت شما اطمینان حاصل کند. در پارسدِو، اسکن‌های دوره‌ای بدافزار را در سرور اشتراکی انجام می‌دهیم. اگر بدافزاری شناسایی شود، فورا آن را پاکسازی می‌کنیم.
  • فایروال و نظارت بر امنیت – فایروال از سایت شما در برابر ترافیک مخرب محافظت می کند. بازیگران بد را قبل از اینکه حتی به پلاگین های شما برسند مسدود می کند. بدون این، هکرها به راحتی می توانند آسیب پذیری های افزونه های قدیمی را هدف قرار دهند.
    علاوه بر این، اطمینان حاصل کنید که سایت شما دارای بکاپ گیری خودکار روزانه است تا در صورت به خطر افتادن، بتوانید به سرعت آن را به نسخه قبلی بازگردانید و زمان خرابی را به حداقل برسانید و از از دست رفتن داده ها جلوگیری کنید.
۲. افزونه ها را به روز نگه دارید

یکی از ساده‌ترین و موثرترین راه‌ها برای محافظت از سایت وردپرس این است که مطمئن شوید همه افزونه‌ها، تم‌ها و هسته وردپرس به‌روز هستند. اکثر به‌روزرسانی‌ها شامل وصله‌های امنیتی هستند که آسیب‌پذیری‌های شناخته شده را برطرف می‌کنند و عدم اعمال این به‌روزرسانی‌ها، سایت شما را در معرض دید قرار می‌دهد.

برای اطمینان از اینکه افزونه های شما همیشه به روز هستند، این مراحل را دنبال کنید:

  • به طور مرتب داشبورد وردپرس خود را برای به روز رسانی افزونه بررسی کنید.
  • راه‌اندازی یک فرآیند خودکار را در نظر بگیرید تا به‌روزرسانی‌ها را مدیریت کند و هشدارهایی را برای افزونه‌های ضروری در زمانی که قدیمی هستند، راه‌اندازی کند.
  • برای بررسی و به‌روزرسانی افزونه‌هایی که خودکار به‌روزرسانی نمی‌شوند، برنامه زمانی تنظیم کنید.
3. پلاگین‌های رها شده یا پشتیبانی نشده را حذف کنید

افزونه های رها شده یکی از بزرگترین خطرات امنیتی برای سایتهای وردپرسی هستند. اگر افزونه‌ای دیگر توسط توسعه‌دهنده‌اش نگهداری نشود، به‌روزرسانی‌های امنیتی حیاتی را دریافت نمی‌کند و آن را در معرض سوء استفاده قرار می‌دهد.

برای محافظت از سایت خود، مطمئن شوید که:

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

همه افزونه‌ها و تم‌ها به یک اندازه ایمن نیستند. نصب افزونه‌ها از منابع تایید نشده می‌تواند سایت شما را در معرض کدهای مخرب یا نرم افزارهای ضعیف قرار دهد.

برای به حداقل رساندن خطر، مطمئن شوید که:

  • به پلاگین‌ها و تم‌های موجود از مخزن افزونه وردپرس یا توسعه دهندگان معروف با سابقه اثبات شده پایبند باشید.
  • همیشه قبل از نصب افزونه، نظرات، رتبه‌بندی‌ها و تعداد نصب‌های فعال را بررسی کنید.
  • پلاگین‌هایی را که به طور منظم به روز می‌شوند و توسط توسعه دهندگانشان پشتیبانی می‌شوند، اولویت بندی کنید.
  • از افزونه‌هایی با سابقه آسیب پذیری‌های امنیتی یا اقدامات امنیتی ضعیف خودداری کنید.
۵. تعداد افزونه‌هایی را که نصب می‌کنید محدود نمائید

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

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

6. دسترسی ادمین را محدود و احراز هویت قوی را فعال کنید

محدود کردن دسترسی به بخش مدیریت وردپرس خطر دسترسی غیرمجاز را کاهش می‌دهد. استفاده از رمزهای عبور قوی و فعال کردن احراز هویت دو مرحله ای (2FA) امنیت سایت شما را بیشتر تقویت می‌کند. در اینجا نحوه انجام آن آمده است:

اطمینان حاصل کنید که فقط کاربران قابل اعتماد به سایت وردپرس شما در سطح مدیریت دسترسی دارند.

  • از رمزهای عبور قوی و منحصر به فرد استفاده کنید و این را از همه کاربرانی که به منطقه مدیریت خود دسترسی دارند، بخواهید.
  • 2FA را فعال کنید تا یک لایه حفاظتی اضافی به تلاش‌های ورود به سیستم brute-force اضافه کند و نفوذ مهاجمان را سخت‌تر کند.
  • دسترسی ورود به سیستم را به آدرس های IP خاص، محدوده IP یا مکان های جغرافیایی محدود کنید. به عنوان مثال، اگر یک فروشگاه ووکامرس دارید که فقط به مشتریان در ایران می‌فروشد، می توانید ایجاد حساب و دسترسی به ورود به سیستم را فقط برای کاربران ایران محدود کنید. این به کاهش قرار گرفتن سایت شما در معرض حملات کمک می‌کند.
۷. نظارت بر گزارش‌های آسیب پذیری

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

  • برای هشدارهای آسیب‌پذیری بلادرنگ، در گزارش‌های امنیتی یا خدماتی مانند WPScan، Wordfence یا iThemes Security مشترک شوید.
  • مرتب به‌روزرسانی‌های آسیب‌پذیری مربوط به افزونه‌های سایت خود را بررسی کنید.
  • اگر افزونه ها یا تم های نصب شده شما به عنوان آسیب پذیر علامت گذاری شدند، فورا اقدام کنید.

جمع‌بندی

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