«خشتِ اوّل چون نهد معمار کج، تا ثریا میرود دیوار کج.» 🧱
اگر پایه را درست نچینیم، هرچه جلوتر برویم هزینهٔ ترمیم و ریسکِ ریزش بیشتر میشود. در دنیای وردپرس هم اوّلین بیدقتیهای امنیتی، پایانِ خوشی ندارند.
در ادامه ۱۰ مورد از مهمترین سهلانگاریهای امنیتی را مرور میکنیم؛ همین جزئیاتِ ظاهرا کوچک میتوانند شما را از «یک سایت سالم» به «یک سایت هکشده» برسانند.
فهرست
۱. رها کردن پیشفرضهای وردپرس
- Prefix جدولها (wp_) را عوض نمیکنیم.
- نام کاربری admin را نگه میداریم.
- در نتیجه، اسکریپتهای اتوماتیک با حدسهای ساده وارد عمل میشوند.
راهکار: ابتدای نصب، پیشوند دلخواه بگذارید و اکانت اصلی را با نام یکتا بسازید.
۲. بهروزرسانی نکردن هسته، افزونه و قالب
- «میترسم سایت بالا نیاید…» جملهای آشناست، اما واقعیت این است که پَچهای امنیتی دقیقاً برای رفع حفرههای کشفشده منتشر میشوند.
راهکار:
پیش از آپدیت، بکآپ بگیرید.
در محیط Staging تست کنید.
سپس روی سایت اصلی بهروزرسانی کنید.
۳. استفاده از افزونه و قالب نالشده (Null/Cracked)
صرفهجویی دهدلاری یا چندصدهزارتومانی امروز، میتواند فردا به فاجعهٔ دیتای درزکرده ختم شود. کد مخرب بهشکل «دیگر»ی هزینهاش را میگیرد!
راهکار: فقط از مخزن رسمی وردپرس یا مارکتهای معتبر با لایسنس قانونی بخرید.
۴. مجوز فایلها و پوشهها (File Permissions)
- wp-config.php با دسترسی 644 یا حتی 666 روی سرور عمومی؟ یعنی دعوتنامهٔ رسمی برای نفوذگر.
راهکار: (bash)
find /home/your-site/public_html/ -type d -exec chmod 755 {} \; find /home/your-site/public_html/ -type f -exec chmod 644 {} \; chmod 600 wp-config.php
۵. نداشتن احراز هویت دوعاملی (2FA) برای مدیران
- پسورد قوی عالی است؛ ولی اگر لو برود؟ 2FA سد محکم دوم است.
راهکار: افزونههای رایگان مثل WP 2FA یا Google Authenticator را فعال کنید.
۶. محدود نکردن تلاش لاگین (Brute-Force Protection)
- وردپرس بهصورت پیشفرض بینهایت بار اجازهٔ ورود اشتباه میدهد.
راهکار:
افزونههایی مثل Limit Login Attempts Reloaded یا Wordfence را نصب کنید.
یا پشت سرور از Fail2ban استفاده کنید.
۷. باز گذاشتن XML-RPC و REST API به روی همگان
- XML-RPC و /wp-json/ برای استفاده در اپلیکیشن عالیاند، اما وقتی لازم نیست باید غیرفعال شوند.
راهکار: (apache)
Order Deny,Allow Deny from all
برای REST API هم میتوانید با فایروال یا افزونه، دسترسی را فقط برای IPهای خودتان باز بگذارید.
۸. نداشتن استراتژی بکآپ و ریستور
- بکآپ هفتگی روی همان سرور = فایل پشتیبانی که ممکن است همراه سایت هک شود و از بین برود.
راهکار: چرخهٔ ۳-۲-۱: سه نسخه، در دو رسانهٔ متفاوت، یکی خارج از سایت. افزونههایی مثل UpdraftPlus با ذخیره روی Google Drive یا S3.
۹. گواهی SSL الکی یا پیکربندی ناقص
- HTTPS روی کاغذ فعال است ولی موارد زیر فراموش میشود:
تنظیم HSTS
ریدایرکت 301 همهٔ HTTPها به HTTPS
رفع Mixed Content
راهکار: پس از نصب SSL، با ابزارهایی مثل SSL Labs Test بررسی کامل انجام دهید.
۱۰. میزبانی ناامن یا کانفیگ سرور ضعیف
- سرور اشتراکی ارزان که PHP 7.2 را هنوز پشتیبانی میکند و ModSecurity غیرفعال است، بزرگترین گلوگاه امنیتی شماست.
راهکار: هاستینگ با پشتیبانی از PHP 8.x، فایروال وب (WAF) و بکآپ روزانه انتخاب کنید. کانفیگهای ضروری مثل disable_functions، محدودسازی دسترسی به /wp-admin از IP ثابت خودتان و فعالسازی HTTP/2 را لحاظ کنید.
یادتان باشد که
هر بار که یکی از این فاکتورهای ۱۰گانه را نادیده بگیرید، لایهای از ریسک روی سایتتان مینشیند. امروز چند ساعت سهلانگاری، ممکن است فردا چند صد ساعت پشیمانی به بار بیاورد.