یکی از دلایل آسیب پذیری امنیتی افزونه ها، گستردگی اکوسیستم وردپرس و حضور توسعهدهندگان متعدد است که مستقیماً با وردپرس همکاری ندارند. با اینکه وردپرس دستورالعملهای مشخصی برای حفظ امنیت ارائه میدهد، تنوع بالای افزونهها و قالبهایی که به طور همزمان اجرا میشوند، شناسایی تمام نقصهای احتمالی را دشوار میکند.
علاوه بر این، برخی توسعهدهندگان برای عرضه بروزرسانیها یا افزودن قابلیتهای جدید عجله میکنند. حتی برنامهنویسان با تجربه نیز ممکن است ناخواسته از برخی نکات امنیتی غافل شوند که این امر فرصت سوء استفاده هکرها از آسیبپذیریها را فراهم میکند.
تصویر(۱)
هنگامی که آسیب پذیری های وردپرس شناسایی شوند، هکرها با استفاده از روشهای مختلف فنی میتوانند به سایت نفوذ کنند. برخی از روشهای رایج شامل موارد زیر است:
این حملات به مهاجمان امکان انجام فعالیتهای مخرب مختلفی را میدهد، از جمله:
-
هدایت کاربران به سایتهای آلوده و مخرب
-
تزریق تبلیغات اسپم و محتوای نامطلوب به صفحات سایت
-
نصب بدافزار (مثلاً آلوده کردن فایلهایی مانند wp-feed.php) برای حملات بیشتر
-
ایجاد حسابهای کاربری مخرب با دسترسی مدیریتی
-
استفاده از منابع سرور برای اجرای حملات DDoS یا ارسال ایمیلهای اسپم
چنین حملاتی میتوانند عملکرد سایت را مختل کرده، رتبه سئو را کاهش دهند و از همه مهمتر، به کسبوکار، درآمد و اعتبار آسیب بزنند. با این حال، مشکل فقط آسیب پذیری امنیتی افزونه ها نیست. عامل اصلی موفقیت بسیاری از این حملات، عدم بروزرسانی به موقع افزونهها توسط کاربران وردپرس است. در ادامه، دلایل افزایش این آسیبپذیریها و راهکارهای مؤثر برای محافظت از سایت، بررسی خواهد شد.
تصویر(۲)
علت واقعی بیشتر حملات به وردپرس
هنگامی که سایتهای وردپرسی هک میشوند، بسیاری از کاربران به سرعت مسئولیت آن را متوجه ارائهدهنده میزبانی یا افزونههایی میدانند که به ظاهر در ایجاد این آسیبپذیری نقش داشتهاند. درست است که مشکلات امنیتی افزونهها تاثیر زیادی دارند، به طوری که طبق گزارش آسیب پذیری های سال ۲۰۲۲ وردپرس از SolidWP، حدود ۹۳٪ این آسیبها مرتبط با آسیب پذیری امنیتی افزونه ها بوده است.
با این حال، دلیل اصلی بسیاری از این حملات، بیتوجهی کاربران است. بیشتر نفوذها به دلیل نقصهای ذاتی وردپرس یا افزونهها رخ نمیدهند بلکه ناشی از عدم بروزرسانی به موقع افزونهها یا استفاده افزونه های رها شده و قدیمی وردپرس است. برای درک بهتر نحوه تاثیرگذاری این آسیب پذیری های وردپرس روی سایت شما، باید دو عامل کلیدی را بررسی کرد:
۱. پلاگینهای بروزرسانینشده
زمانی که آسیب پذیری امنیتی افزونه ها شناسایی میشود، توسعهدهندگان معمولاً به سرعت یک پچ امنیتی منتشر میکنند. پس از آماده شدن این بروزرسانی، اطلاعیهای برای آگاهی کاربران ارسال میشود تا هرچه زودتر افزونه را بروزرسانی کنند. اما همیشه بین اعلام آسیب پذیری امنیتی افزونه ها و زمان نصب بروزرسانی توسط کاربران، فاصلهای وجود دارد. هکرها از این بازه زمانی سوءاستفاده کرده و سایتهایی را هدف قرار میدهند که هنوز پچ امنیتی را دریافت نکردهاند.
یکی از نمونههای بارز مشکل آسیب پذیری امنیتی افزونه ها، آسیبپذیری پلاگین File Manager در سپتامبر ۲۰۲۰ بود که بیش از ۶۰۰,۰۰۰ سایت وردپرسی را تحت تاثیر قرار داد. نوع این نقص امنیتی، اجرای کد از راه دور در روز صفر (zero-day) بود که به هکرها اجازه میداد بدون نیاز به احراز هویت، وارد پنل مدیریت سایت شوند، کدهای مخرب اجرا کرده و فایلهای آلوده را روی سایتهایی که از نسخههای قدیمی افزونه (۶.۰ تا ۶.۸) استفاده میکردند، آپلود کنند.
تصویر(۳)
با اینکه توسعهدهندگان در عرض چند ساعت نسخه ایمن (۶.۹) را منتشر کردند، بیش از ۳۰۰,۰۰۰ سایت همچنان بروزرسانی نشده باقی ماندند و این تأخیر به هکرها فرصت سوءاستفاده داد. این مثال نشان میدهد که حتی یک تأخیر کوچک در نصب بروزرسانیها میتواند تهدیدی جدی باشد و بیتوجهی کاربران به آپدیت افزونهها، عامل اصلی بسیاری از حملات وردپرس است.
۲. افزونه های رها شده وردپرس: یک تهدید پنهان
افزونه های رها شده وردپرس مانند بمبهای ساعتی در بسیاری از سایتها عمل میکنند. با اینکه تیم وردپرس برخی از این افزونهها را به طور دائم حذف میکند اما بسیاری از آنها بدون دریافت بروزرسانیهای امنیتی یا پشتیبانی توسعهدهنده، همچنان روی وبسایتها فعال باقی میمانند.
در سال ۲۰۲۳، ۸۲۷ پلاگین و قالب به عنوان رهاشده گزارش شدند که این تعداد در سال ۲۰۲۲ تنها ۱۴۷ مورد بود. بیش از ۵۸٪ آنها به دلیل مشکلات جدی امنیتی کاملا حذف شدند. یکی از نمونههای بارز، پلاگین Eval PHP است که بیش از یک دهه بدون بروزرسانی باقی ماند. این افزونه، که در ابتدا برای اجرای کد PHP درون پستها و صفحات وردپرس طراحی شده بود، در سال ۲۰۲۳ مورد سو استفاده هکرها قرار گرفت.
از آنجا که این پلاگین دیگر پشتیبانی نمیشد، آسیبپذیریهای آن بدون پچ باقی ماند و به ابزاری برای تزریق دربهای پشتی (backdoors) درون سایتها تبدیل شد. هکرها از این نقص امنیتی سوءاستفاده کردند تا بدون مجوز به وبسایتها نفوذ کنند.
هنگامی که یک سایت هک شود مهاجمان میتوانند:
-
اطلاعات حساس را سرقت کنند.
-
کنترل کامل وبسایت را در دست بگیرند.
-
سایت را به بخشی از حملات گستردهتر، مانند DDoS تبدیل کنند.
نکته خطرناک این است که حتی حذف پلاگین لزوماً مشکل را حل نمیکرد. هکرها با مخفی کردن دربهای پشتی در محتوای سایت، میتوانستند کنترل خود را حفظ کنند و حملات بیشتری انجام دهند.
تصویر(۴)
چگونه می توان از این تهدید جلوگیری کرد؟
این مثال نشان میدهد که پلاگینهای رها شده به عنوان یک دروازه دائمی برای هکرها باقی میمانند. بنابراین، مدیران وبسایت باید به طور فعال این پلاگینها را شناسایی و حذف کرده و آنها را با گزینههای امن و پشتیبانیشده، جایگزین کنند. بررسی دورهای افزونههای نصبشده و حذف موارد بدون پشتیبانی، یکی از موثرترین راهکارهای افزایش امنیت وردپرس است.
چگونه باید سایت وردپرسی را در برابر آسیب پذیری امنیتی افزونه ها ایمن کرد؟
با توجه به افزایش تعداد آسیب پذیری امنیتی افزونه ها و خطرات ناشی از پلاگینهای بروزرسانینشده و رهاشده، اتخاذ تدابیر پیشگیرانه برای محافظت سایت وردپرسی ضروری می باشد. در ادامه، چند راهکار عملی برای کاهش خطرات امنیتی و محافظت از وردپرس ارائه شده است:
۱. انتخاب یک میزبانی امن و باکیفیت:
استفاده از میزبانی امن و معتبر که فایروالهای قوی، اسکن امنیتی و سیستمهای جلوگیری از حملات را ارائه دهد، نقش مهمی در کاهش تهدیدات دارد. برخی از هاستهای حرفهای حتی بروزرسانی خودکار افزونهها را نیز ارائه میکنند.
۲. بروزرسانی منظم افزونهها و هسته وردپرس
-
هرگونه بروزرسانی امنیتی افزونهها و وردپرس را در سریعترین زمان ممکن انجام دهید.
-
در صورت امکان، بروزرسانی خودکار را برای افزونههای حیاتی فعال کنید.
۳. حذف افزونه های رها شده وردپرس یا بدون پشتیبانی
-
افزونههایی که مدتها است بروزرسانی دریافت نکردهاند یا دیگر پشتیبانی نمیشوند، باید حذف گردند.
-
برای جایگزینی، از افزونههای فعال و پشتیبانیشده استفاده کنید.
۴. استفاده از افزونههای معتبر و قابل اعتماد
-
افزونهها را فقط از منابع رسمی مانند مخزن وردپرس یا فروشگاههای معتبر دریافت کنید.
-
قبل از نصب، نظرات کاربران، تعداد نصبها و تاریخ آخرین بروزرسانی را بررسی نمایید.
۵. محدود کردن تعداد افزونههای نصبشده
-
نصب تعداد زیاد افزونه، نهتنها امنیت سایت وردپرسی را کاهش میدهد بلکه سرعت و عملکرد سایت را نیز تحت تاثیر قرار خواهد داد.
-
فقط افزونههای ضروری را نگه دارید و موارد غیرضروری را حذف کنید.
۶. تقویت امنیت ورود و پنل مدیریت وردپرس
-
دسترسی به صفحه ورود و پنل مدیریت را محدود کنید (مثلاً تغییر URL صفحه ورود یا استفاده از CAPTCHA).
-
احراز هویت دو مرحلهای (۲FA) را برای کاربران دارای دسترسی مدیریتی فعال کنید.
-
محدود کردن تعداد ورودهای ناموفق، میتواند از حملات Brute Force جلوگیری کند.
۷. مانیتورینگ گزارشهای امنیتی و آسیبپذیریها
-
بررسی مداوم گزارشهای امنیتی افزونههای نصبشده ضروری است.
-
استفاده از ابزارهای امنیتی مانند Wordfence یا Sucuri میتواند حملات را شناسایی و مسدود کند.
با اجرای این اقدامات، میتوان امنیت سایت وردپرس را به میزان قابل توجهی افزایش داده و خطرات ناشی از آسیب پذیری امنیتی افزونه ها را به حداقل رساند.
تصویر(۵)
نقش حیاتی ارائهدهنده میزبانی در امنیت وردپرس
ارائهدهنده میزبانی نقش مهمی در حفظ امنیت سایت وردپرسی ایفا میکند. یک هاست امن با اقدامات امنیتی پیشگیرانه میتواند از حملات رایج جلوگیری کرده و به محافظت از سایت کمک کند. برای مثال، برخی شرکتهای میزبانی مانند میهن وب هاست در صورت شناسایی آسیبپذیری افزونههای نصبشده، به کاربران هشدار می دهند. این اقدام باعث میشود مدیران سایتها سریعتر بروزرسانیهای حیاتی را انجام دهند.
چرا انتخاب یک میزبان فعال اهمیت دارد؟
اکثر افراد پس از راهاندازی وردپرس، نگهداری سایت را انجام نمی دهند یا مدیریت آن را به آژانسهایی که صدها سایت را کنترل میکنند، میسپارند. در چنین شرایطی، بروزرسانیهای امنیتی به راحتی فراموش میشوند. بنابراین، انتخاب یک میزبان که به طور فعال دنبال شناسایی آسیبپذیریها است و هشدارهای لازم را ارسال میکند، میتواند از حملات احتمالی جلوگیری نماید.
نمونهای از یک آسیبپذیری بزرگ در Jetpack
پلاگین Jetpack نمونهای از یک افزونه محبوب است که به دلیل کشف یک آسیبپذیری بحرانی، خبرساز شد. توسعهدهندگان این پلاگین اخیراً یک بروزرسانی امنیتی منتشر کردند که ۲۷ میلیون سایت را تحت تاثیر قرار داد.
این آسیبپذیری از سال ۲۰۱۶ شناسایی نشده باقی مانده بود و به هر کاربر وارد شده اجازه میداد فرمهای ارسالشده توسط دیگران را مشاهده کند. هرچند تیم Jetpack تأیید کرد که مدرکی برای سوءاستفاده از این آسیبپذیری وجود ندارد اما پس از انتشار بروزرسانی امنیتی هشدار داد که سایتهای بروزرسانینشده در معرض خطر هستند.
این نمونه نشان میدهد که حتی معتبرترین افزونهها نیز ممکن است دارای نقصهای امنیتی پنهان باشند. بنابراین، بروزرسانی منظم، نظارت بر هشدارهای امنیتی و انتخاب یک میزبان آگاه، نقش مهمی در کاهش تهدیدات دارند.
چگونه یک میزبان حرفهای، امنیت سایت وردپرس را تقویت میکند؟
یک ارائهدهنده میزبانی مطمئن میتواند با لایههای امنیتی پیشرفته از سایت در برابر تهدیدات محافظت کند. در ادامه، برخی از مهمترین روشهای تأمین امنیت سایت بررسی شده است:
۱. تشخیص و پاکسازی بدافزار
-
اسکن مداوم برای شناسایی بدافزارها، اسکریپتهای مخرب و تهدیدهای امنیتی ضروری است.
-
هاستهایی با مانیتورینگ ۲۴/۷، بلافاصله کدهای مخرب را قرنطینه و پاکسازی میکنند.
۲. فایروال و نظارت امنیتی
-
یک فایروال قوی (WAF – Web Application Firewall)، سایت را در برابر حملات DDoS، ترافیک مشکوک و نفوذ هکرها محافظت میکند.
-
بدون این لایه امنیتی، مهاجمان میتوانند از آسیبپذیریهای پلاگینهای قدیمی سوءاستفاده کنند.
تصویر(۶)
۳. پشتیبانگیری خودکار
-
بازیابی سریع اطلاعات پس از حمله یا خرابی، با پشتیبانگیری خودکار تضمین میشود.
-
کاهش زمان خرابی سایت و جلوگیری از حذف دادههای مهم، مزایای این روش است.
۴. بروزرسانی منظم پلاگینها
-
نصب آخرین نسخه پلاگینها، قالبها و هسته وردپرس برای جلوگیری از سوء استفاده هکرها ضروری است.
-
برای اطمینان از بروزرسانی مداوم:
-
به طور منظم داشبورد وردپرس را بررسی کنید.
-
بروزرسانی خودکار پلاگینهای ضروری را فعال نمایید.
-
پلاگینهایی که به طور خودکار آپدیت نمیشوند را دستی بررسی کنید.
-
۵. حذف پلاگینهای رهاشده یا بدون پشتیبانی
-
افزونههای بدون بروزرسانی و نگهداری، آسیبپذیریهای بزرگی ایجاد میکنند.
-
برای ایمنی بیشتر:
-
پلاگینهای قدیمی و رها شده را حذف کنید.
-
گزینههای جایگزین و فعال را بررسی نمایید.
-
آخرین تاریخ بروزرسانی پلاگینها را در مخزن وردپرس بررسی کنید.
-
۶. استفاده از پلاگینهای معتبر
-
افزونههای نامعتبر یا دریافتشده از منابع غیررسمی، خطر بزرگی برای امنیت سایت هستند.
-
برای کاهش ریسک:
-
پلاگینها را فقط از مخزن رسمی وردپرس یا توسعهدهندگان معتبر دریافت کنید.
-
نظرات، امتیازات و تعداد نصبهای فعال را بررسی نمایید.
-
افزونههایی که مرتبا آپدیت میشوند را اولویت قرار دهید.
-
۷. محدود کردن تعداد پلاگینهای نصبشده
-
هر افزونه میتواند یک ضعف امنیتی باشد، بنابراین نصب پلاگینهای غیرضروری را کاهش دهید.
-
برخی ارائهدهندگان میزبانی، ابزارهایی را ارائه میدهند تا نیازی به پلاگینهای اضافی نباشد.
-
پشتیبانگیری خودکار (بدون نیاز به پلاگینهای جانبی).
-
اسکن بدافزار (بدون نیاز به پلاگین امنیتی).
-
نظارت بر آسیبپذیریها (جایگزین پلاگینهای امنیتی).
-
۸. محدود کردن دسترسی به مدیریت و احراز هویت قوی
-
محدود کردن دسترسی به پنل مدیریت، ریسک نفوذهای غیرمجاز را کاهش میدهد.
-
برای تقویت امنیت:
-
دسترسی پنل مدیریت را به کاربران مجاز محدود کنید.
-
از رمزهای عبور قوی و منحصر به فرد استفاده نمایید.
-
احراز هویت دو مرحلهای (۲FA) را فعال کنید.
-
محدودیت جغرافیایی برای ورود به سایت اعمال نمایید.
-
۹. مانیتورینگ گزارشهای آسیبپذیری
-
آگاهی از تهدیدات امنیتی، امکان اقدام سریع قبل سوءاستفاده هکرها را فراهم میکند.
-
برای امنیت بیشتر:
-
در خبرنامههای امنیتی مانند WPScan، Wordfence یا iThemes Security مشترک شوید.
-
بروزرسانیهای امنیتی پلاگینها را بررسی کنید.
-
در صورت شناسایی پلاگینهای آسیبپذیر، فوراً آنها را آپدیت یا حذف نمایید.
-
تصویر(۷)
جمعبندی
در این مقاله تلاش شد تا نحوه محافظت از وردپرس در برابر آسیب پذیری امنیتی افزونه ها بررسی گردد. حفظ امنیت سایت وردپرس نیازمند نظارت مداوم و اقدامات پیشگیرانه است. پلاگینهای بروز نشده و رهاشده از رایجترین راههای ورود هکرها هستند اما با میزبانی مطمئن میتوان این خطرات را مدیریت کرد. با رعایت این نکات و انتخاب یک میزبان حرفهای، میتوان سایت وردپرس را در برابر تهدیدات محافظت کرده و امنیت آن را به حداکثر رساند. همیشه بروز بمانید و افزونههای مورد استفاده را به طور مرتب بررسی کنید تا از مشکلات امنیتی جلوگیری شود.