وردپرس بخش بزرگی از سایتهای جهان را اداره میکند و همین محبوبیت آن را به هدف جذابی برای مهاجمان تبدیل کرده است. خبر خوب این است که بیشتر حملات موفق نه از ضعفهای فنی پیشرفته، بلکه از افزونههای قدیمی، رمزهای ضعیف و سایتهای بدون پشتیبان ناشی میشوند. به عبارت دیگر، سایتی که اقدامات پایه را بهطور منظم انجام میدهد، در برابر بیشتر حملات محافظت شده است.
در این مقاله ابتدا اقداماتی پایه را توضیح میدهیم که اصلاً به افزونه نیاز ندارند، سپس میگوییم افزونههای امنیتی چه کاری انجام میدهند و چطور یکی را انتخاب کنیم. از آنجا که امکانات افزونهها از نسخهای به نسخه دیگر تغییر میکند، برای جزئیات به مستندات روز هر محصول مراجعه کنید.
نخست اقدامات پایه
یک افزونه امنیتی جای یک پایه گمشده را نمیگیرد. ابتدا این مراحل را کامل کنید:
- بهروزرسانیها را به تأخیر نیندازید. آسیبپذیریهای امنیتی در هسته وردپرس، قالبها و افزونهها با بهروزرسانی بسته میشوند. افزونهها و قالبهایی را که استفاده نمیکنید حذف کنید.
- رمزهای قوی و منحصربهفرد استفاده کنید. از مدیر رمز استفاده کنید؛ نام کاربری مدیر را «admin» نگذارید.
- تأیید دومرحلهای را فعال کنید. دستکم برای حسابهای مدیر و ویرایشگر.
- پشتیبان بگیرید و بازیابی آن را امتحان کنید. پشتیبان آخرین راهی است که بعد از حمله شما را نجات میدهد.
- از HTTPS استفاده کنید. در سایتی که گواهی SSL ندارد، اطلاعات ورود بدون پوشش منتقل میشوند.
- دسترسی کاربران را محدود کنید. نقش مدیر را به همه ندهید؛ اصل کمترین دسترسی لازم را رعایت کنید.
- افزونه و قالب را از منبع معتبر نصب کنید. بستههای بدون لایسنس یا با منبع نامشخص ریسک درب پشتی بالایی دارند.
افزونههای امنیتی چه کاری میکنند؟
افزونههای امنیتی معمولاً یکی از چهار کارکرد را ارائه میدهند: فایروال (WAF)، اسکن بدافزار، محافظت از ورود و پایش تغییرات. همه افزونهها در همه این حوزهها قوی نیستند، پس ابتدا باید روشن کنید به چه چیزی نیاز دارید.
- فایروال: درخواستهای مخرب را پیش از رسیدن به سایت یا پیش از اجرای کد وردپرس مسدود میکند.
- اسکن: فایلها را برای کد مشکوک و فایلهای هسته تغییریافته جستجو میکند.
- محافظت از ورود: حملات brute-force را محدود میکند و تأیید دومرحلهای اضافه میکند.
- پایش: ثبت میکند چه کسی کدام تنظیم را و چه زمانی تغییر داده است.
مقایسه افزونههای امنیتی معروف
| راهکار | رویکرد | نقطه قوت | نکته قابل توجه |
|---|---|---|---|
| Wordfence | فایروال و اسکنر که درون سایت اجرا میشود | نسخه رایگان گسترده، اسکن بدافزار | از منابع سرور استفاده میکند؛ روی هاست ضعیف ممکن است کند شود |
| Sucuri | فایروال ابری و سرویس پاکسازی | فیلتر ترافیک پیش از رسیدن به سایت، پشتیبانی پاکسازی پس از حمله | امکانات پیشرفته به طرح پولی وابسته است |
| Solid Security (پیشتر iThemes Security) | تمرکز بر سختسازی و محافظت از ورود | تأیید دومرحلهای، سختسازی تنظیمات، محدودیت ورود | اسکن ممکن است به گستردگی دیگران نباشد |
| CleanTalk | محافظت ضدهرزنامه ابری | مسدودسازی ثبتنامهای جعلی در فرمها و دیدگاهها، بدون نیاز به کپچا | روی هرزنامه متمرکز است، نه امنیت عمومی؛ مکمل لایههای دیگر است |
به جای جستجوی «یک افزونه درست» در این جدول، به ترکیب فکر کنید: یکی برای فایروال و اسکن، دیگری برای ضدهرزنامه. روی یک سایت بیش از یک افزونه فایروال اجرا نکنید؛ این کار تضاد ایجاد میکند.
محافظت در برابر هرزنامه و ثبتنام جعلی را جدی بگیرید
ترافیک رباتها فقط هرزنامه تولید نمیکند؛ از طریق فرمهای ثبتنام، بخش دیدگاه و فرم تماس پایگاه داده را پر میکند، سرور را تحت فشار میگذارد و گاهی لینکهای مخرب توزیع میکند. راهکارهای ابری مانند CleanTalk این ترافیک را بدون مزاحمت برای بازدیدکنندگان فیلتر میکنند. این لایه بهویژه در فروشگاههای WooCommerce و سایتهای عضویت ارزشمند است، چون تلاش برای ساخت حسابهای جعلی در آنها رایج است.
پشتیبانگیری: آخرین حلقه امنیت
حتی بهترین سایت محافظتشده هم ممکن است روزی آسیب ببیند. خطای بهروزرسانی، خرابی سرور، افزونه معیوب یا یک حمله: در همه آنها، راهحل برگشتن به یک پشتیبان سالم است. پشتیبانها نباید روی سروری باشند که سایت روی آن است؛ باید در مکانی جدا (فضای ابری، سرور دیگر) نگه داشته شوند. افزونههایی مانند WPvivid Backup Bundle پشتیبان زمانبندیشده، ارسال به فضای خارجی و بازیابی با یک کلیک ارائه میدهند. به همان اندازه که پشتیبان گرفتن مهم است، ماهی یک بار با بازیابی آن روی یک سایت آزمایشی، کارکرد آن را امتحان کنید.
کدام افزونه را انتخاب کنیم؟ راهنمای کوتاه
اگر یک وبلاگ را اداره میکنید و بودجه محدود است، یک افزونه امنیتی رایگان روی سایت، یک راهکار پشتیبانگیری خوب و محافظت از هرزنامه معمولاً سهگانه کافی است. اگر فروشگاه اینترنتی دارید که هدف دائمی است، افزودن یک فایروال ابری منطقی است، چون ترافیک بد پیش از رسیدن به سرور شما فیلتر میشود. اگر آژانس هستید و سایتهای مشتریان را میزبانی میکنید، مدیریت متمرکز و گزارشهای امنیتی منظم برایتان از امکانات افزونه مهمترند.
در هر حال، پس از نصب افزونه یک هفته لاگها را زیر نظر بگیرید. شل کردن قانونی که هشدارهای نادرست میدهد بهتر از نادیده گرفتن تهدیدهای واقعی است؛ اما باید آزمایش کنید سیستمی که هیچ هشداری نمیدهد واقعاً کار میکند یا نه. برای این کار میتوانید یک تلاش ورود کنترلشده انجام دهید و ببینید ثبت میشود یا نه.
مدیریت چند سایت
اگر آژانس هستید و سایتهای مشتریان را اداره میکنید، یا چند پروژه دارید، ورود جداگانه به هر سایت برای بهروزرسانی وقت میگیرد و خطر اشتباه را بالا میبرد. ابزارهای مدیریت متمرکز مانند MainWP Pro به شما اجازه میدهند بهروزرسانیها، پشتیبانها و وضعیت همه سایتها را از یک پنل پایش کنید. از نظر امنیتی، این کار تأخیر در بهروزرسانیها را کم میکند.
پاکسازی پایگاه داده و دادههای غیرضروری
جدولهای باقیمانده از افزونههای رهاشده، پیشنویسهای قدیمی و دیدگاههای هرزنامه نه تنها عملکرد را کم میکنند، بلکه سطح حمله را هم بزرگتر میکنند. ابزارهایی مانند Advanced Database Cleaner Pro کمک میکنند این باقیماندهها را با اطمینان پاک کنید. پیش از پاکسازی همیشه پشتیبان بگیرید.
رایانه خودتان را فراموش نکنید
اگر رایانهای که با آن سایت را مدیریت میکنید آلوده شود، اطلاعات ورود شما دزدیده میشود. روی دستگاههایی که با دسترسی مدیر کار میکنید، نرمافزار حفاظتی بهروز اجرا کنید؛ راهکارهای جامع مانند Kaspersky Premium Total Security لایهای در برابر فیشینگ و بدافزار اضافه میکنند. با شبکه Wi-Fi عمومی وارد پنل مدیریت نشوید.
سختسازی سرور و سطح فایل
فراتر از افزونهها، چند تنظیم امنیت سایت را بهطور قابل توجهی بالا میبرد. این موارد را از پنل هاست خود یا همراه با مدیر سرور میتوانید انجام دهید:
- نسخه فعلی PHP: نسخههای PHP که پشتیبانیشان پایان یافته، وصله امنیتی دریافت نمیکنند. از پنل هاست به جدیدترین نسخه پشتیبانیشده بروید و سازگاری آن را با افزونهها آزمایش کنید.
- خاموش کردن ویرایشگر فایل: غیرفعال کردن ویرایشگر فایل قالب و افزونه در پنل مدیریت، نوشتن مستقیم کد را برای حساب مدیر آلوده سختتر میکند.
- دسترسی فایلها: دسترسی نوشتن بیشتر از حد لازم به فایلها و پوشهها ندهید؛ فایل پیکربندی (wp-config) را از دسترسی بیرونی بسته نگه دارید.
- پوشه آپلودها: اجرای فایل PHP را در پوشهای که آپلودهای کاربران در آن است مسدود کنید.
- XML-RPC: اگر از آن استفاده نمیکنید خاموشش کنید؛ در حملات brute-force زیاد سوءاستفاده میشود.
- پیشوند پایگاه داده و شمارش کاربران: تنظیماتی را روشن کنید که فهرست شدن نام کاربریها از بیرون را جلوگیری کند.
برخی از این تنظیمات با یک کلیک توسط افزونههای امنیتی هم قابل انجام است؛ با این حال، مطمئن شوید ابزارهای امنیتی خود ارائهدهنده هاست با آنها تضاد ندارد.
روال امنیتی ماهانه
امنیت کاری یکباره نیست که انجام دهید و رها کنید؛ عادتی کوچک اما منظم است. ماهی یک ساعت وقت بگذارید و این فهرست را مرور کنید: آیا فهرست حسابهای مدیر و ویرایشگر بهروز است؟ افزونههای استفادهنشده حذف شدهاند؟ پشتیبانها واقعاً ساخته میشوند؟ افزایش غیرعادی در گزارش تلاشهای ورود دیده میشود؟ تاریخ انقضای گواهی SSL نزدیک است؟ در Search Console هشدار امنیتی هست؟ وقتی این بررسیها به یک روال با یادآور کوچک در تقویم گره بخورند، مشکلات پیش از بزرگ شدن دیده میشوند.
از کجا بفهمیم مورد حمله قرار گرفتهایم؟
- صفحات یا تیترهایی که نمیشناسید در نتایج جستجو ظاهر میشوند.
- تغییر مسیر یا پنجرههای بازشوی غیرمنتظره در سایت دیده میشود.
- حسابهای مدیر ناشناس ظاهر میشوند.
- ارائهدهنده هاست هشدار مصرف بیش از حد منابع یا بدافزار میفرستد.
- سایت هنگام باز شدن کند است و مرورگر هشدار امنیتی نشان میدهد.
در چنین وضعی ابتدا سایت را در حالت تعمیر (maintenance) قرار دهید، رمزها را عوض کنید، به یک پشتیبان سالم برگردید و پیش از بستن آسیبپذیری، سایت را دوباره باز نکنید. اگر خودتان نمیتوانید حل کنید، با کارشناس امنیت مشورت کنید.
برای نیاز به افزونه و قالب میتوانید دسته افزونهها و قالبهای وردپرس را ببینید؛ در LisansX تحویل دیجیتال است و نسخههای دارای لایسنس بهروزرسانی دریافت میکنند.
پرسشهای متداول
آیا یک افزونه امنیتی رایگان کافی است؟
برای یک وبلاگ کوچک اغلب کافی است. برای سایتهایی که فروشگاه، عضویت یا داده مشتریان دارند، باید به طرحهای پولی برای امکانات پیشرفته، پشتیبانی و قواعد فایروال فکر کنید.
آیا افزونه امنیتی سایت را کند میکند؟
افزونههایی که داخل سایت اجرا میشوند منابع سرور را مصرف میکنند و روی هاست ضعیف محسوساند. راهکارهای ابری این بار را از سرور برمیدارند. اندازهگیری سرعت را پس از نصب تکرار کنید.
تغییر آدرس ورود وردپرس مفید است؟
رباتهای ساده را کم میکند، اما بهتنهایی اقدام امنیتی نیست. رمز قوی، تأیید دومرحلهای و محدودیت ورود بسیار مؤثرترند.
چند وقت یک بار باید پشتیبان بگیرم؟
برای سایتهایی که هر روز محتوا ثبت میکنند، پشتیبان روزانه و برای سایتهایی که بهندرت تغییر میکنند، پشتیبان هفتگی نقطه شروع منطقی است. فروشگاههایی که سفارش میگیرند باید پایگاه داده را دفعات بیشتری پشتیبان بگیرند.
