چند سال پیش، پروژه‌ای را تحویل داده بودم که مشتری‌اش یک کسب‌وکار کوچک خانگی بود؛ سایتش شاید ده بازدید در روز داشت و از نظر ارزش داده، چیزی برای دزدیدن نداشت. یک ماه بعد، پیام آمد که سایت با یک صفحهٔ چینی و چند لینک مشکوک بارگذاری می‌شود. پاکسازی را انجام دادیم، اما آن تجربه چیزی را روشن کرد که امروز هستهٔ فهم من از امنیت وردپرس است: حملات خودکار (Bot Attacks) هیچ کاری به اندازه و ارزش سایت شما ندارند. ربات‌ها کل اینترنت را روزانه اسکن می‌کنند و هر سایتی که یک شکاف نشان دهد، به‌عنوان «منبع» استفاده می‌شود — حتی اگر فقط برای ارسال اسپم باشد. این مقاله، همان چارچوب لایه‌بندی‌شده‌ای است که امروز روی هر پروژهٔ وردپرسی اجرا می‌کنم.

امنیت وردپرس دقیقاً چیست؟

امنیت وردپرس، در نگاه اول ممکن است به‌نظر «نصب یک افزونهٔ امنیتی» باشد، اما در عمل بسیار فراتر است. امنیت وردپرس، مجموعه‌ای از تصمیم‌ها و اقدام‌ها در چهار لایهٔ متفاوت است که هر لایه، سطح مشخصی از سایت را محافظت می‌کند. اگر یکی از این لایه‌ها نادیده گرفته شود، لایه‌های دیگر عملاً بی‌فایده می‌شوند — چون مهاجم همیشه از ضعیف‌ترین نقطه وارد می‌شود.

برای اینکه این مفهوم را با یک مثال روشن کنم: فرض کنید خانه‌ای دارید که در آن، قفل در ضدسرقت نصب کرده‌اید، اما پنجره‌ها را باز گذاشته‌اید. قفل ضدسرقت، همان افزونهٔ امنیتی است؛ پنجرهٔ باز، همان لایه‌ای که فراموش شده. سارق، از پنجره وارد می‌شود و نه از در. امنیت وردپرس، در واقع تشخیص این است که «کدام پنجره‌ها باز است» و سپس بستن آن‌ها — پیش از آنکه مهاجم پیدایش کند.

یک نکتهٔ مهم که غالباً نادیده گرفته می‌شود: امنیت، یک وضعیت نیست؛ یک فرآیند است. یعنی سایت شما پس از نصب یک افزونهٔ امنیتی و اجرای چند تنظیم، «امن» نمی‌شود. در هر آپدیت هسته، هر نصب افزونه، هر تغییر کاربر، یک سطح حملهٔ تازه ظاهر می‌شود که باید بازبینی شود. این نگاه پویا به امنیت، تفاوت بین سایتی است که یک بار تقویت شده و سایتی که دائماً تحت مراقبت است.

امنیت وردپرس، یک وضعیت نیست؛ یک فرآیند است. سایتی که امروز امن است، ممکن است فردا با نصب یک افزونه، ناامن شود.

چرا وردپرس هدف اصلی حملات است؟

یک باور غلط رایج این است که «وردپرس ناامن است». در واقع، خود هستهٔ وردپرس یکی از امن‌ترین سیستم‌های مدیریت محتوای متن‌باز است. مسئله این است که وردپرس، سه ویژگی دارد که آن را به هدف جذابی برای مهاجم تبدیل می‌کند:

ویژگی اول: سهم بازار بالا

وردپرس بیش از چهل درصد کل وب را پوشش می‌دهد. این برای مهاجم یعنی اگر یک آسیب‌پذیری در یک نسخه از یک افزونهٔ محبوب پیدا شود، بیش از یک میلیون سایت در معرض حملهٔ همزمان قرار می‌گیرند. مقیاس، خودش انگیزه است. یک ربات که فقط روزی هزار سایت را اسکن می‌کند، در یک ماه می‌تواند ده‌ها هدف پیدا کند.

ویژگی دوم: اکوسیستم افزونه و قالب

بیش از پنجاه هزار افزونه در مخزن رسمی وردپرس وجود دارد، به‌علاوهٔ هزاران افزونهٔ تجاری. هر افزونه، توسط تیم متفاوتی نوشته شده و همان‌قدر که هستهٔ وردپرس سخت‌سازی شده، کیفیت امنیتی افزونه‌ها متفاوت است. یک افزونهٔ ضعیف، در واقع یک در پشتی (Backdoor) برای سایت شماست.

ویژگی سوم: کاربران غیرفنی

بخش بزرگی از کاربران وردپرس، افرادی هستند که سایتشان را بدون دانش فنی راه‌اندازی کرده‌اند. این یعنی بعضی از تنظیمات ساده اما حیاتی (مثل نام کاربری غیرقابل‌حدس یا رمز قوی) که برای یک توسعه‌دهنده، پیش‌فرض هستند، برای یک کاربر غیرفنی می‌توانند نادیده گرفته شوند. مهاجم این را می‌داند و روی آن حساب می‌کند.

نقشهٔ تهدید: از چه چیزی دفاع می‌کنیم؟

پیش از هر اقدامی، باید بدانیم از چه چیزی دفاع می‌کنیم. تهدیدهای واقعی که در پروژه‌ها دیده‌ام، در پنج دستهٔ اصلی می‌گنجند:

نوع تهدیدمکانیزمهدف
حملهٔ خودکار (Bot)اسکن مداوم کل اینترنت و تست نقاط ضعف شناخته‌شدهیافتن قربانی
حملهٔ Brute Forceحدس زدن رمز عبور با تلاش‌های متعددورود به پنل مدیریت
استفاده از افزونهٔ آسیب‌پذیربهره‌برداری از یک حفرهٔ منتشرشده اما اعمال‌نشدهاجرای کد، افزایش دسترسی
بدافزار (Malware)تزریق کد مخرب از طریق یک نقطهٔ ورودریدایرکت، اسپم، دزدی داده
مهندسی اجتماعیفریب کاربران به کلیک روی لینک‌های آلودهورود به پنل یا سرقت اطلاعات

این جدول به‌سادگی نشان می‌دهد که دفاع در برابر تهدیدها، فقط «نصب فایروال» نیست. هر تهدید، به یک لایهٔ دفاعی متفاوت نیاز دارد. در ادامه، پنج لایه‌ای که در پروژه‌های خودم روی سایت پیاده می‌کنم را باز می‌کنم.

پنج لایهٔ امنیت وردپرس

در تجربه‌ام، هر سایت وردپرسی امنیتی که به‌درستی ساخته شده، پنج لایهٔ مشخص دارد. هر لایه، سطح متفاوتی را پوشش می‌دهد و ترتیبشان، از پایین‌ترین سطح فنی به بالاترین سطح عملکردی است:

  1. لایهٔ هاست و زیرساخت: تنظیمات سرور، فایروال، نسخهٔ PHP و MySQL.
  2. لایهٔ هسته و کانفیگ: سخت‌سازی وردپرس، امنیت فایل wp-config.php، غیرفعال‌سازی قابلیت‌های خطرناک.
  3. لایهٔ افزونه‌ها و قالب: منبع نصب، به‌روزرسانی منظم، حذف افزونه‌های غیرضروری.
  4. لایهٔ کاربران و ورود: مدیریت نقش‌ها، رمزهای قوی، احراز هویت دومرحله‌ای (2FA).
  5. لایهٔ پایش، بکاپ و بازیابی: لاگ، مانیتورینگ، بکاپ خارجی، پروتکل بازیابی.

در ادامه هر لایه را جداگانه باز می‌کنم. اما یک هشدار: این پنج لایه، به‌صورت مسلسلی عمل می‌کنند. اگر لایهٔ اول سست باشد، لایه‌های بالاتر بی‌اثرند. اگر لایهٔ چهارم نادیده گرفته شود، لایه‌های دیگر برای جلوگیری از نفوذ کافی نیستند.

لایهٔ اول: هاست و زیرساخت

لایهٔ هاست، مهم‌ترین لایهٔ امنیتی است که اغلب نادیده گرفته می‌شود. چرا؟ چون فرض می‌شود «هاست یعنی فضای ذخیره‌سازی»، در حالی که هاست، اولین خط دفاعی در برابر حملات سطح شبکه است. سه اقدام مشخص که در انتخاب و تنظیم هاست انجام می‌دهم:

انتخاب هاست با فایروال ابری

یک فایروال ابری، حجم اصلی حملات خودکار را قبل از رسیدن به سرور شما فیلتر می‌کند. تفاوت این نوع فایروال با فایروال درون‌سروری، در نقطهٔ فیلترینگ است — ابری، قبل از مصرف منابع سرور شما، حمله را مسدود می‌کند. اگر روی هاست اشتراکی هستید، این مسئله حتی مهم‌تر است، چون منابع محدود دارید. تفاوت لایهٔ ابری و سنتی را در فایروال ابری در مقابل فایروال سنتی مقایسه کرده‌ام. برای کسانی که روی VPS (Virtual Private Server — سرور مجازی) کار می‌کنند، فایروال نرم‌افزاری مثل UFW هم گزینهٔ مؤثری است؛ راهنمای عملی‌اش در فایروال نرم‌افزاری در سرور آمده است.

نگه‌داشتن PHP و MySQL به‌روز

نسخهٔ PHP و MySQL روی هاست، اگر قدیمی باشد، خودش یک آسیب‌پذیری است. در پروژه‌های خودم، اگر هاست PHP 7.4 یا پایین‌تر را به‌عنوان «جدیدترین» نشان دهد، به‌عنوان یک پرچم قرمز می‌بینم — چون هاست‌هایی که نگهداری نمی‌شوند، معمولاً در بقیهٔ لایه‌ها هم ضعیف عمل می‌کنند. تأثیر این لایه روی امنیت را می‌توان در راهنمای تأثیر هاست بر سرعت سایت هم دید — همان مکانیزمی که سرعت را می‌کشد، امنیت را هم ضعیف می‌کند.

دسترسی SSH و محدودسازی IP مدیریت

اگر روی سرور اختصاصی یا VPS هستید، دسترسی SSH (Secure Shell) را محدود به IP خودتان کنید. همین قاعده برای دسترسی به wp-login.php هم صدق می‌کند — اگر IP ثابتی دارید، فقط از همان IP اجازهٔ ورود بدهید. یک نکتهٔ عملی: این محدودسازی را با احتیاط انجام دهید، چون اگر IP شما تغییر کند، خودتان هم بیرون می‌مانید. همیشه یک روش پشتیبان (مثل دسترسی از SSH) را برای خودتان نگه دارید.

لایهٔ دوم: سخت‌سازی هسته و کانفیگ

این لایه، همان چیزی است که بیشتر کاربران با آن آشنا هستند — اما در عمل، فقط بخش کوچکی از آن را اجرا می‌کنند. پنج اقدام کلیدی که در پروژه‌های خودم استاندارد کرده‌ام:

اقدام اول: امن کردن فایل wp-config.php

فایل wp-config.php، قلب تنظیمات سایت شماست و حاوی اطلاعات حساسی مثل رمز دیتابیس است. اگر مهاجم به این فایل دسترسی پیدا کند، عملاً کلید همه‌چیز را دارد. راهنمای کامل قفل‌کردن این فایل را در چگونه فایل wp-config را امن کنیم آورده‌ام. حداقل کار این است که از طریق .htaccess، دسترسی مستقیم به این فایل را مسدود کنید.

اقدام دوم: غیرفعال‌کردن ویرایشگر فایل پیشخوان

وردپرس به‌طور پیش‌فرض اجازه می‌دهد از پیشخوان، فایل‌های قالب و افزونه را ویرایش کنید. این قابلیت، راحتی می‌آورد اما یک در باز است: اگر ادمین شما هک شود، مهاجم می‌تواند از همین مسیر، کد دلخواهش را تزریق کند. با یک خط در wp-config.php، این امکان را غیرفعال کنید:

define( 'DISALLOW_FILE_EDIT', true );

اقدام سوم: غیرفعال‌کردن XML-RPC

XML-RPC (پروتکل قدیمی وردپرس برای ارتباط از راه دور) در نسخه‌های مدرن به‌ندرت استفاده می‌شود، اما همچنان یک سطح حمله است — به‌ویژه برای حملهٔ Brute Force و Pingback. اگر از آن استفاده نمی‌کنید (که در اکثر سایت‌ها این‌طور است)، مسدودش کنید. روش‌های مختلف این کار در بخش «ورود» همین مقاله و در امن کردن ورود ادمین وردپرس توضیح داده شده است.

اقدام چهارم: به‌روزرسانی خودکار امنیتی

وردپرس از نسخهٔ ۳.۷ به بعد، به‌روزرسانی خودکار برای نسخه‌های امنیتی را دارد. این گزینه در هستهٔ وردپرس فعال است و در تجربهٔ من، یکی از بزرگ‌ترین سودهای امنیتی بدون هزینه است. آپدیت خودکار قالب و افزونه را با احتیاط فعال کنید — اما آپدیت خودکار هسته را همیشه روشن نگه دارید.

اقدام پنجم: انتخاب ساختار پیوندهای یکتا امن

این یکی شاید عجیب به نظر برسد، اما در تجربه‌های پاک‌سازی دیدم که بعضی مهاجم‌ها از URLهای قابل‌حدس (مثل /?p=1) برای شمارش پست‌ها و شناسایی کاربران استفاده می‌کنند. اگر پیوندهای یکتای خود را روی حالت «نام نوشته» تنظیم کنید، این سطح حمله نیز محدود می‌شود. ساختار پیوندهای یکتا بخشی از سئو هم هست و اصولش را در ساختار URL حرفه‌ای و سئو آورده‌ام.

در سخت‌سازی هسته، هدف این نیست که سایت شما به یک قلعهٔ نظامی تبدیل شود. هدف این است که نتوانید با یک افزونهٔ ضعیف یا یک تنظیم اشتباه، در را برای مهاجم باز کنید.

لایهٔ سوم: افزونه‌ها و قالب

لایهٔ افزونه و قالب، همان لایه‌ای است که بیشترین نفوذها در آن اتفاق می‌افتد. مقایسه‌های آماری همیشه نشان می‌دهند که بخش بزرگی از هک‌های وردپرس، از آسیب‌پذیری افزونه‌ها شروع می‌شود، نه از هسته. چهار اصل که در انتخاب و نگهداری افزونه‌ها رعایت می‌کنم:

اصل اول: منبع قابل‌اعتماد

افزونه را فقط از مخزن رسمی وردپرس یا از سایت سازنده‌اش نصب کنید. این جملهٔ ساده، جلوی اکثر فاجعه‌ها را می‌گیرد. افزونه‌های «نال» یا کرک‌شده، که در سایت‌های دانلود رایگان یافت می‌شوند، می‌توانند در کد خود بک‌دور داشته باشند و از همان روز اول به‌عنوان یک درِ پشتی عمل کنند. فیلترهای تشخیص افزونهٔ سالم در چگونه افزونه وردپرس مطمئن دانلود کنیم آمده است.

اصل دوم: به‌روزرسانی منظم و مرحله‌ای

بیشتر آسیب‌پذیری‌های افزونه، در نسخه‌های قدیمی وجود دارند. وقتی یک افزونه آسیب‌پذیری‌اش اعلام می‌شود، معمولاً در کمتر از یک هفته پچ می‌آید. اگر شما ماه‌ها آن نسخه را به‌روز نکنید، عملاً به یک «هدف متحرک» تبدیل می‌شوید که مهاجم دقیقاً می‌داند چه آسیب‌پذیری‌ای دارد. به‌روزرسانی مرحله‌ای (یکی‌یکی، روی استجینگ) در اشتباهات رایج هنگام نصب افزونه وردپرس توضیح داده شده است. راهنمای تشخیص تعارض پس از آپدیت را هم در رفع خطای تضاد افزونه‌ها در وردپرس آورده‌ام.

اصل سوم: حذف افزونه‌های غیرضروری

هر افزونهٔ نصب‌شده، حتی اگر غیرفعال باشد، یک سطح حملهٔ بالقوه است. افزونهٔ غیرفعال، اگر آسیب‌پذیری داشته باشد، باز هم می‌تواند از طریق مسیرهای جانبی مورد حمله قرار بگیرد. هر افزونه را که سه ماه استفاده نکردید، حذف کنید. معیارهای شناسایی را در چگونه افزونه‌های اضافی وردپرس را شناسایی کنیم نوشته‌ام. برای یک فروشگاه، فهرست ضروری‌ها را در بهترین افزونه‌های ضروری وردپرس برای هر سایت جمع کرده‌ام.

اصل چهارم: قالب استاندارد و سبک

قالب‌های غیراستاندارد، اغلب کدهای اضافه دارند که سطح حمله را افزایش می‌دهند. در بازبینی پروژه‌ها، چندین بار دیده‌ام که یک قالب ارزان، یک مسیر مخفی برای ورود مستقیم به سایت باز کرده است. معیارهای قالب استاندارد را در چگونه یک قالب وردپرس استاندارد را تشخیص دهیم و «امکانات قالب حرفه‌ای» آورده‌ام.

یک تذکر عملی: در پروژه‌های خودم، پس از هر نصب افزونهٔ جدید، سه شمارش را انجام می‌دهم — تعداد فایل‌های جدید در wp-content/plugins/، تعداد درخواست‌های استاتیک اضافه‌شده در صفحهٔ اصلی، و تعداد کلاس‌های PHP جدید که در سایت ثبت می‌شوند. اگر این سه عدد بزرگ باشند، افزونه را بازبینی دقیق‌تر می‌کنم. اثر افزونه بر سرعت را هم در تأثیر افزونه‌ها بر سرعت سایت اندازه‌گیری کرده‌ام.

لایهٔ چهارم: کاربران و ورود

لایهٔ کاربران، همان لایه‌ای است که در اکثر حملات موفق، نقطهٔ ورود اصلی است. وردپرس یکی از رایج‌ترین سیستم‌های حمله به شمار می‌رود، چون نقاط ورود مشخصی دارد: /wp-login.php، /xmlrpc.php، و صفحهٔ بازیابی رمز. چهار اقدام کلیدی در این لایه:

اقدام اول: نام کاربری غیرقابل‌حدس

نام کاربری admin، اولین چیزی است که هر حملهٔ خودکار امتحان می‌کند. اگر سایت شما هنوز این نام کاربری را دارد، امروز باید آن را عوض کنید. مسیر افزودن کاربر جدید و بازتعریف نقش‌ها را در چگونه کاربر جدید به وردپرس اضافه کنیم آورده‌ام. نکتهٔ جانبی: تابع «بازیابی رمز» وردپرس، نام کاربری نامعتبر را تشخیص می‌دهد و این خودش یک نقطهٔ اطلاعاتی برای مهاجم است. با افزونه‌های محدودسازی، این رفتار را می‌توان اصلاح کرد.

اقدام دوم: رمز قوی برای همه

رمز قوی، پایهٔ امنیت است. رمز ۱۲ کاراکتری با ترکیب حرف کوچک، بزرگ، عدد و نماد، در برابر حملهٔ Brute Force مدرن، عملاً غیرقابل‌شکستن است. اصول کامل را در مدیریت رمز عبور امن چه اصولی دارد جمع کرده‌ام. یک توصیهٔ عملی: هرگز از یک رمز برای چند سرویس استفاده نکنید. اگر یک سرویس دیگر هک شود و رمز شما در لیست نشتی‌ها بیفتد، همان لحظه یک زنجیرهٔ نفوذ به سایت شما شکل می‌گیرد.

اقدام سوم: احراز هویت دومرحله‌ای (2FA)

2FA، لایهٔ مهمی است که با فعال‌سازی، حتی اگر رمز عبور شما لو برود، ورود مهاجم ممکن نمی‌شود. راهنمای پیاده‌سازی را در فعال‌سازی 2FA برای کاربران وردپرس و اصول آن را در احراز هویت دو مرحله‌ای چگونه امنیت را افزایش می‌دهد آورده‌ام. یک تذکر مهم: پیش از فعال‌سازی، حتماً کدهای پشتیبان (Backup Codes) را ذخیره کنید. اگر گوشی شما گم شود یا اپلیکیشن خطا بدهد، این کدها تنها راه بازیابی دسترسی هستند.

اقدام چهارم: محدودسازی تلاش ورود

محدودسازی، ارزان‌ترین امنیت ممکن است: بعد از چند تلاش ناموفق، ورود از آن IP برای مدتی قفل شود. راهنمای کامل جلوگیری از این حملات در چگونه حملات Brute Force را در وردپرس دفع کنیم آمده است. انتخاب افزونهٔ اختصاصی برای این کار را در بهترین افزونه‌های امنیت ورود وردپرس آورده‌ام. تذکر مهم: محدودسازی روی /wp-login.php کافی نیست — باید روی xmlrpc.php هم اعمال شود، چون وردپرس از این نقطه هم اجازهٔ ورود می‌دهد.

لایهٔ پنجم: پایش، بکاپ و بازیابی

لایهٔ پنجم، همان لایه‌ای است که معمولاً تا زمانی که فاجعه پیش نیامده، جدی گرفته نمی‌شود. اما در تجربهٔ من، این لایه دقیقاً همان جایی است که تفاوت بین «دو ساعت پاک‌سازی» و «دو هفته وقفهٔ کسب‌وکار» را می‌سازد. سه ابزار کلیدی:

ابزار اول: افزونهٔ امنیتی با اسکن منظم

یک افزونهٔ امنیتی معتبر، حداقل باید سه قابلیت داشته باشد: اسکن فایل‌ها برای بدافزار، پایش تغییرات فایل، و لاگ فعالیت کاربران. انتخاب دقیق افزونه در بهترین افزونه‌های امنیتی وردپرس آمده است. یک نکتهٔ عملی: اسکن را در ساعات کم‌ترافیک اجرا کنید تا خودش روی سرعت سایت تأثیر نگذارد.

ابزار دوم: بکاپ منظم و بیرون‌سروری

بکاپ، تنها چیزی است که در فاجعهٔ واقعی، سایت شما را نجات می‌دهد. اصول بکاپ‌گیری را در چگونه از سایت وردپرسی بکاپ بگیریم و انتخاب افزونه در بهترین افزونه‌های بکاپ وردپرس آمده است. سه اصل: بکاپ بیرون از هاست ذخیره شود، شامل فایل و دیتابیس باشد، و حداقل یک بار در فصل، بازیابی‌اش تست شود. بکاپی که تست نشده، فقط یک فایل سنگین است، نه بیمه.

ابزار سوم: پایش آپ‌تایم و لاگ فعالیت

یک سرویس پایش آپ‌تایم، هر چند دقیقه سایت را چک می‌کند و اگر خطا دید، به شما اطلاع می‌دهد. در کنار آن، لاگ فعالیت کاربران را در پیشخوان نگه دارید — چه کسی وارد شد، چه کسی چه تغییری داد. این دو ابزار ساده، در پروژه‌های من چندین بار جلوی بحران بزرگ‌تری را گرفته است. نمونهٔ عملی این موضوع را در چگونه بفهمم سایتم هک شده توضیح داده‌ام. و اگر متأسفانه سایت هک شد، مسیر بازیابی در راهنمای پاک‌سازی سایت وردپرسی هک‌شده و اصول پاک‌سازی امن در پاک‌سازی بدافزار وردپرس بدون از دست دادن داده آمده است.

بکاپ، بیمه است؛ اگر آن را تست نکرده‌اید، بیمه‌نامهٔ شما فقط یک مشت کاغذ است. تست بازیابی، همان پاراگراف ریزِ قرارداد است که در فاجعه معنا پیدا می‌کند.

امتیاز پنهان وردپرس در امنیت

پیش از پایان، یک نکتهٔ مهم که غالباً در فضای بحث امنیت وردپرس نادیده گرفته می‌شود: خود وردپرس، یکی از بازترین و شفاف‌ترین اکوسیستم‌های امنیتی است. تیم امنیت وردپرس، حتی وصله‌های امنیتی برای نسخه‌های قدیمی را به‌صورت «انتشار خاموش» عرضه می‌کند. پلاگین‌های آسیب‌پذیر، در مخزن به‌سرعت بسته می‌شوند. ابزارهای بررسی امنیتی، در دسترس عموم قرار دارند. این شفافیت، در بلندمدت، امنیت را از یک راز تجاری به یک استاندارد عمومی تبدیل می‌کند. برای کسب‌وکارها، این یعنی امنیت وردپرس یک «فروش اضافه» نیست؛ یک خدمتِ اکوسیستمی است که شما فقط باید فعالش کنید.

در مقابل، سیستم‌های بسته که کدشان قابل‌بررسی نیست، اگر آسیب‌پذیری داشته باشند، ممکن است ماه‌ها بی‌خبر بمانند. یک وردپرس با اصول درست، از یک سیستم اختصاصیِ ناشناس، به‌طور معمول امن‌تر است — به شرط آنکه سه لایهٔ اول به‌درستی پیاده شده باشند.

امنیت با بودجهٔ صفر: چه کارهایی در دسترس است؟

سؤال همیشگی: «اگر بودجه ندارم چه؟» تجربه‌ام می‌گوید پنج اقدام زیر، بدون هیچ هزینه‌ای، بیش از هشتاد درصد حملات خودکار را دفع می‌کنند:

  1. به‌روزرسانی منظم هسته، قالب و افزونه‌ها: بدون هیچ هزینه‌ای، جلوی اکثر آسیب‌پذیری‌های شناخته‌شده را می‌گیرد.
  2. افزونهٔ امنیتی رایگان از مخزن رسمی: یکی از ده‌ها افزونهٔ رایگان که قابلیت‌های پایه‌ای اسکن، محدودسازی و لاگ را دارند.
  3. نام کاربری غیرقابل‌حدس و رمز قوی: فقط چند دقیقه وقت می‌گیرد، اما نیمی از سطح حمله را از بین می‌برد.
  4. بکاپ دستی هفتگی: حتی بدون افزونه، می‌توانید از طریق cPanel یا File Manager، بکاپ دستی بگیرید و روی فضای ابری شخصی ذخیره کنید.
  5. حذف افزونه و قالب غیرضروری: هرچه کمتر، امن‌تر. این کار فقط چند دقیقه وقت می‌گیرد.

این پنج اقدام، در تجربهٔ من، از یک افزونهٔ پولی با تنظیمات پیچیده، مؤثرترند — چون پایه‌های امنیت را می‌سازند، نه لایه‌های سطحی.

اشتباهات رایجی که امنیت را نابود می‌کنند

پنج اشتباهی که در بازبینی پروژه‌ها زیاد دیده‌ام:

  • نصب افزونهٔ نال یا کرک‌شده: ارزان‌ترین راه پرداخت گران‌ترین هزینه. این افزونه‌ها اغلب بک‌دور دارند و از همان روز نصب، یک در پشتی برای مهاجم باز می‌کنند.
  • افزونهٔ امنیتی بدون تنظیم: نصب افزونهٔ امنیتی و اعتماد به پیش‌فرض‌ها، شبیه بستن درِ خانه و گذاشتن کلید زیر فرش است. افزونه‌های امنیتی نیاز به تنظیم دقیق دارند.
  • نادیده‌گرفتن هشدارهای سئو و امنیت: وقتی سرچ‌کنسول هشدار «سایت شما هک شده» می‌دهد، این یک هشدار جدی است، نه یک اشتباه سیستم. عکس‌العمل سریع، کلید جلوگیری از فاجعه است.
  • نبود بکاپ یا بکاپ روی همان هاست: بکاپی که روی همان هاست ذخیره شده، در حملهٔ سرور، به همان سرنوشت دچار می‌شود. بکاپ باید در فضای بیرونی باشد.
  • افزایش دسترسی به کاربران غیرضروری: دادن نقش ادمین به همه، رایج‌ترین اشتباه مدیریت کاربران است. اصل کمترین دسترسی (Principle of Least Privilege) را در همهٔ پروژه‌ها رعایت کنید.

جمع‌بندی در یک جمله

امنیت وردپرس، مجموعه‌ای از پنج لایه است که همه با هم کار می‌کنند: هاست امن، هستهٔ سخت‌شده، افزونه‌های قابل‌اعتماد و به‌روز، کاربران و ورود محافظت‌شده، و پایش و بکاپ مستمر. اگر امروز فقط سه اقدام بتوانید انجام دهید، این سه را انتخاب کنید: نام کاربری admin را حذف کنید، 2FA را برای مدیران فعال کنید، و یک بکاپ بیرون‌سروری بگیرید. همین سه، بیش از هر ابزار پولی، شما را از اکثر فاجعه‌های رایج دور نگه می‌دارد.

اگر تجربه‌ای از امنیت وردپرس دارید — به‌خصوص موردی که یک اشتباه کوچک، حادثهٔ بزرگی ساخته یا برعکس، یک اقدام ساده جلوی فاجعه را گرفته — خوشحال می‌شوم در دیدگاه‌ها بخوانم. برای خوانندهٔ بعدی که همین امروز به امنیت سایتش فکر می‌کند، تجربهٔ واقعی شما از هر مقالهٔ مرجع مفیدتر است. 🔐