نقشهای کاربری و اصل حداقل دسترسی
یکی از بزرگترین اشتباهات امنیتی در وردپرس، دادن نقش "مدیر کل" (Administrator) به هر کسی است که به سایت دسترسی نیاز دارد. اصل حداقل دسترسی (Principle of Least Privilege) میگوید که هر کاربر باید فقط به بخشهایی دسترسی داشته باشد که برای انجام کارش به آنها نیاز دارد.
- نویسنده (Author): فقط برای انتشار و ویرایش مطالب خود کاربر.
- ویرایشگر (Editor): برای بررسی و ویرایش تمام مطالب سایت اما بدون دسترسی به افزونهها و تنظیمات.
- مشتری/مشترک: بدون هیچ دسترسی مدیریتی.
پس حسابهای با دسترسی ادمین را محدود به افراد کاملا مورد اعتماد کن و در صورت نیاز از افزونههای مدیریت نقشها (مانند User Role Editor) برای شخصیسازی سطح دسترسی استفاده کن.
رمز عبور قوی چیست؟
استفاده از نام کاربری admin و یک پسورد ضعیف مثل 12345678 یا اسم سایت، دعوتنامه رسمی برای هکرهاست! یک رمز عبور قوی باید:
- حداقل ۱۶ کاراکتر طول داشته باشد.
- ترکیبی از حروف بزرگ و کوچک، اعداد و کاراکترهای ویژه (مانند
@!#$%) باشد. - قابل حدس زدن و شامل کلمات معنیدار دیکشنری نباشد.
بهترین کار استفاده از برنامههای مدیریت رمز عبور (Password Managers) مانند Bitwarden یا 1Password برای تولید و ذخیره پسوردهای پیچیده است.
احراز هویت دومرحلهای (2FA)
حتی اگر رمز عبور شما لو برود، احراز هویت دومرحلهای (2FA) جلوی نفوذ هکر را میگیرد. با فعالسازی 2FA، علاوه بر رمز عبور، به یک کد یکبار مصرف (TOTP) که توسط برنامههایی مثل Google Authenticator یا Authy روی گوشی شما تولید میشود، نیاز است.
برای اضافه کردن این قابلیت به وردپرس، میتوانی از افزونههای سبکی مثل WP 2FA یا Wordfence استفاده کنی. اجباری کردن 2FA برای تمام حسابهای مدیر کل یک ضرورت امنیتی محسوب میشود.
محدودسازی تلاشهای لاگین (Brute Force Protection)
حملات Brute Force سعی میکنند با تست کردن هزاران ترکیب پسورد در ثانیه، به سایت نفوذ کنند. با محدودسازی تلاشهای لاگین ناموفق، پس از چند بار وارد کردن اشتباه رمز، IP فرد مهاجم قفل (Ban) میشود.
افزونههایی مانند Limit Login Attempts Reloaded یا بخش امنیتی Cloudflare به راحتی جلوی این حملات را میگیرند و بار روی سرور را به شدت کاهش میدهند.
تغییر آدرس صفحه ورود: آره یا نه؟
وردپرس به صورت پیشفرض از آدرسهای /wp-admin یا /wp-login.php استفاده میکند. تغییر این آدرس (مثلا به /my-secret-login) باعث میشود رباتهای ساده نتوانند صفحه ورود را پیدا کنند. این کار "امنیت از طریق ابهام" (Security by Obscurity) نامیده میشود.
آیا کافیست؟ خیر! تغییر URL صفحه ورود به تنهایی امنیت ایجاد نمیکند، اما لاگهای سرور شما را از درخواستهای هرز رباتها خلوتتر میکند. افزونه WPS Hide Login برای این کار بسیار محبوب است.
حذف حسابهای غیرفعال و پایش نشستها
همیشه حسابهای کاربری ادمینها و نویسندگانی که دیگر با شما همکاری ندارند را حذف کن (محتوای آنها را به حساب خودت منتقل کن). حسابهای فراموششده که پسوردهای قدیمی دارند، یک راه نفوذ عالی برای هکرها هستند.
همچنین از طریق افزونههای مانیتورینگ امنیتی (مانند Activity Log)، نشستهای فعال (Active Sessions) و لاگینهای مدیران را پایش کن تا در صورت مشاهده آیپیهای مشکوک یا خارج از کشور (اگر فقط از داخل کار میکنید)، سریعا اقدام کنی.
با اجرای این ۶ گام، صفحه ورود سایت وردپرسی شما به یک دژ مستحکم در برابر حملات تبدیل خواهد شد.