وردپرس نزدیک به نیمی از سایتهای دنیا را میسازد و به همین دلیل هدف محبوبی برای حمله است. اما واقعیت این است که بیشتر هکها به خاطر ضعف خود وردپرس نیستند؛ افزونههای بهروزنشده، رمزهای ضعیف و نبود بکاپ عامل اصلیاند. در این مقاله ۱۵ اقدام عملی برای امنیت سایت وردپرس را در قالب یک چکلیست مرور میکنیم.
در این مقاله میخوانید:
- چرا سایتها هک میشوند و امنیت سایت وردپرس از کجا شروع میشود
- چکلیست ۱۵ اقدام ضروری امنیت سایت وردپرس
- برنامه نگهداری ماهانه و بکاپ
- اقدامهای فوری اگر سایت هک شد
چرا سایتهای وردپرسی هک میشوند؟
هکرها معمولاً سایت خاصی را هدف نمیگیرند؛ رباتها هزاران سایت را برای پیدا کردن یک نقطه ضعف شناختهشده اسکن میکنند. افزونهای که یک سال بهروز نشده، قالب نالشده (کرکشده) یا صفحه ورودی که اجازه هزاران بار حدس رمز را میدهد، دقیقاً همان چیزی است که این رباتها دنبالش هستند.
امنیت سایت وردپرس؛ بخش اول: بهروزرسانی و نرمافزار
- هسته وردپرس، افزونهها و قالب را بهروز نگه دارید؛ اما پیش از هر بهروزرسانی بزرگ بکاپ بگیرید و آن را اول روی نسخه آزمایشی امتحان کنید.
- افزونهها و قالبهای بلااستفاده را حذف کنید؛ غیرفعال کردن کافی نیست، کد آنها همچنان روی سرور است.
- هرگز از قالب و افزونه نالشده استفاده نکنید؛ بسیاری از آنها از ابتدا کد مخرب دارند.
- PHP را بهروز نگه دارید؛ نسخههای قدیمی PHP دیگر وصله امنیتی دریافت نمیکنند.
بهروزرسانی بدون برنامه هم میتواند سایت را از کار بیندازد. اگر زمان یا دانش فنی این کار را ندارید، خدمات بهروزرسانی سایت وردپرسی آن را با بکاپ و تست انجام میدهد.
بخش دوم: ورود و دسترسیها
- آدرس صفحه ورود را تغییر دهید تا رباتها نتوانند مستقیم به wp-login حمله کنند.
- تعداد تلاش ناموفق ورود را محدود کنید و آیپیهای مهاجم را موقتاً مسدود کنید.
- ورود دومرحلهای یا ورود با کد پیامکی را برای مدیران فعال کنید.
- نام کاربری admin را استفاده نکنید و برای هر نفر حساب جداگانه با کمترین سطح دسترسی لازم بسازید.
- رمزهای قوی و یکتا با یک مدیر رمز عبور بسازید و دسترسی افراد قدیمی را حذف کنید.
بخش سوم: سرور و تنظیمات
- HTTPS و گواهی SSL را برای کل سایت فعال کنید.
- ویرایشگر فایلهای قالب و افزونه را در پیشخوان غیرفعال کنید تا در صورت نفوذ به یک حساب، کد قابل تغییر نباشد.
- دسترسی فایلها را درست تنظیم کنید و اجرای PHP را در پوشه آپلودها ببندید.
- از فایروال وب (WAF) در سطح هاست یا سرویسهایی مثل کلودفلر استفاده کنید.
بخش چهارم: بکاپ و پایش
- بکاپ خودکار روزانه خارج از سرور اصلی نگه دارید؛ بکاپی که روی همان هاست است، با هک یا خرابی هاست از بین میرود.
- تغییرات فایلها و ورودها را پایش کنید تا هر رفتار مشکوک را زود ببینید.
بکاپ، تنها اقدامی است که حتی بعد از بدترین حمله هم شما را نجات میدهد. اگر فقط یک کار از این فهرست انجام میدهید، همین باشد.
جدول خلاصه: اولویت اقدامها
| اقدام | سختی اجرا | اثر امنیتی |
|---|---|---|
| بهروزرسانی منظم | کم | خیلی زیاد |
| بکاپ خارج از سرور | کم | خیلی زیاد |
| محدودیت ورود و ورود دومرحلهای | کم | زیاد |
| حذف افزونههای اضافه | کم | زیاد |
| فایروال وب | متوسط | زیاد |
| تنظیم دسترسی فایلها | متوسط | متوسط |
اگر سایت شما هک شد چه کنیم؟
- سایت را موقتاً در حالت تعمیر قرار دهید تا بازدیدکنندگان آسیب نبینند.
- همه رمزها را عوض کنید: پیشخوان، هاست، پایگاه داده و FTP.
- از آخرین بکاپ سالم بازگردانی کنید یا فایلهای آلوده را با متخصص پاکسازی کنید.
- نقطه نفوذ را پیدا و ببندید؛ وگرنه حمله تکرار میشود.
- در سرچ کنسول گوگل بررسی کنید که سایت شما در فهرست سایتهای خطرناک قرار نگرفته باشد.
امنیت سایت وردپرس را به متخصص بسپارید
اجرای درست همه این موارد زمان و دانش فنی میخواهد. خدمات امنیت سایت وردپرسی طلایی همه این اقدامها را با گزارش مکتوب انجام میدهد و پشتیبانی سهماهه سایت وردپرسی، بهروزرسانی، بکاپ و پایش را بهصورت مداوم ادامه میدهد. سایر خدمات را در دسته پشتیبانی، سرعت و امنیت ببینید.
امنیت فروشگاههای اینترنتی: نکات بیشتر
فروشگاهها به دلیل اطلاعات مشتریان و تراکنشهای مالی، هدف ارزشمندتری هستند. علاوه بر چکلیست بالا، دسترسی کارمندان به سفارشها را با نقشهای کاربری محدود کنید، افزونه درگاه را فقط از منبع رسمی نصب کنید و پس از هر بهروزرسانی، یک خرید آزمایشی انجام دهید. اطلاعات کارت بانکی هرگز نباید در سایت شما ذخیره شود؛ پرداخت باید در صفحه امن درگاه انجام شود.
ورود مشتریان با کد یکبارمصرف پیامکی، علاوه بر راحتی، امنیت را هم بالا میبرد؛ چون رمز عبوری وجود ندارد که لو برود یا حدس زده شود. در سایتهایی که طلایی میسازد، ورود و عضویت با موبایل و یک سؤال امنیتی ساده در برابر رباتها پیشفرض است.
امنیت در سطح هاست
- رمز پنل هاست و پایگاه داده را جدا از رمز وردپرس و قوی انتخاب کنید.
- بهجای FTP از SFTP استفاده کنید و دسترسیهای قدیمی را حذف کنید.
- اگر هاست امکان اسکن بدافزار دارد، آن را فعال کنید.
- پیشوند پیشفرض جداول پایگاه داده را هنگام نصب تغییر دهید.
- گزارش خطاهای PHP را برای بازدیدکنندگان نمایش ندهید و در فایل خصوصی ذخیره کنید.
برنامه نگهداری ماهانه امنیت
| زمان | کار |
|---|---|
| روزانه | بکاپ خودکار و بررسی هشدارهای امنیتی |
| هفتگی | بهروزرسانی افزونهها پس از تست و مرور ورودهای ناموفق |
| ماهانه | بررسی کاربران و دسترسیها، تست بازگردانی بکاپ و اسکن کامل |
| هر سه ماه | بازبینی افزونهها و حذف موارد بلااستفاده و تغییر رمزهای حساس |
تست بازگردانی بکاپ را جدی بگیرید؛ بکاپی که هرگز امتحان نشده، ممکن است درست همان روزی که لازمش دارید ناقص از آب درآید.
هزینه امنیت در مقابل هزینه هک
هک شدن فقط هزینه پاکسازی ندارد. روزهایی که سایت از دسترس خارج است، سفارشهای ازدسترفته، هشدار گوگل در نتایج جستجو و از همه مهمتر آسیب به اعتماد مشتریان، هزینههایی هستند که بهسختی جبران میشوند. در مقایسه، هزینه امنسازی اولیه و نگهداری منظم بسیار کمتر است و خیال شما را راحت میکند.
نقشهای کاربری را جدی بگیرید
وردپرس نقشهای مختلفی دارد: مدیر کل، ویرایشگر، نویسنده، مشارکتکننده و مشترک؛ ووکامرس هم نقش مدیر فروشگاه را اضافه میکند. هر فرد فقط به اندازه کارش دسترسی لازم دارد. کارمندی که فقط سفارشها را پیگیری میکند به نقش مدیر کل نیاز ندارد و نویسنده مقالات نباید بتواند افزونه نصب کند. هرچه تعداد مدیران کل کمتر باشد، اگر یکی از حسابها لو برود، آسیب محدودتر است.
وقتی همکاری با فرد یا شرکتی تمام میشود، حساب او را فوراً حذف یا غیرفعال کنید و رمزهای مشترک را عوض کنید. فهرست کاربران مدیر را هر ماه مرور کنید؛ وجود یک حساب مدیر ناشناس، یکی از نشانههای رایج نفوذ است.
افزونهها را چطور انتخاب کنیم؟
- از مخزن رسمی وردپرس یا سایت سازنده اصلی دانلود کنید.
- تاریخ آخرین بهروزرسانی را ببینید؛ افزونهای که بیش از یک سال بهروز نشده ریسک دارد.
- تعداد نصب فعال و امتیاز کاربران را بررسی کنید.
- برای هر نیاز فقط یک افزونه نصب کنید و افزونههای همپوشان را حذف کنید.
- پیش از نصب روی سایت اصلی، آن را روی نسخه آزمایشی امتحان کنید.
حالت تعمیر و صفحه «بهزودی» امن
هنگام تغییرات بزرگ یا پس از یک حادثه امنیتی، بهتر است سایت موقتاً با کد وضعیت ۵۰۳ و پیام مناسب از دسترس عموم خارج شود تا هم کاربران آسیب نبینند و هم گوگل بداند این وضعیت موقت است. در سایتهایی که طلایی میسازد، افزونه امنیتی اختصاصی همین حالت را همراه شمارنده معکوس و لینک پیشنمایش برای مدیر فراهم میکند.
راهنمای کامل امنسازی را در مستندات رسمی امنیت وردپرس هم میتوانید بخوانید؛ همه اقدامهای این چکلیست با توصیههای رسمی امنیت سایت وردپرس هماهنگاند.
جمعبندی
امنیت سایت وردپرس یک کار یکباره نیست، یک عادت است: بهروزرسانی منظم، ورود امن، بکاپ خارج از سرور و پایش مداوم. اگر هنوز درباره هاست مطمئن نیستید، راهنمای انتخاب هاست و دامنه را بخوانید و اگر فروشگاه دارید، راهنمای درگاه پرداخت اینترنتی نکات امنیتی پرداخت را هم پوشش میدهد.



