هر بار که خبر یک حمله بزرگ منتشر می‌شود، پرسشی که بیش از همه تکرار می‌شود این است: وردپرس امن است یا نه؟ پاسخ کوتاه، بله است — اما پاسخ کوتاه همیشه گمراه‌کننده است. سه ماه پیش روی پروژه‌ای کار می‌کردم که مدیرش دقیقاً همین پرسش را داشت و به نتیجه رسیده بود وردپرس ناامن است چون دو بار در یک سال هک شده بود. وقتی سراغ فایل‌ها رفتیم، معلوم شد در هر دو حادثه، دلیل از وردپرس نبوده: یک بار افزونه‌ای بدون لایسنس از یک سایت ناشناس نصب شده بود، و یک بار حساب ادمین با رمز ضعیف در برابر حمله Brute Force تسلیم شده بود. این تفکیک بین هسته و اکوسیستم، همان چیزی است که در بحث‌های امنیتی وردپرس اغلب گم می‌شود. در این نوشته، به‌جای شعار و خبرهای هیجانی، روند امنیتی واقعی وردپرس را از چند زاویه نگاه می‌کنم و در نهایت به این می‌رسیم که این داده‌ها برای مدیر یک سایت در عمل به چه معنا هستند.

هسته وردپرس: روندی که کمتر گفته می‌شود

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

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

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

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

اکوسیستم: پاشنه آشیل واقعی

اینجا داستان پیچیده‌تر می‌شود. آن چیزی که وردپرس را آسیب‌پذیر می‌کند، هسته نیست؛ اکوسیستم افزونه و قالب است. و این اکوسیستم دو رو دارد:

روی روشن: مخزن رسمی وردپرس هر افزونه را با ابزارهای خودکار و تیم بازبینی دستی بررسی می‌کند. این بازبینی کامل نیست، اما بیشتر از هر CMS دیگری در دنیاست. اگر افزونه‌ای در این مخزن باشد، احتمال وجود بدافزار آگاهانه در آن بسیار پایین است.

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

خواندن داده‌های CVE: چه چیزی را نشان می‌دهند

پایگاه CVE (Common Vulnerabilities and Exposures) یک شناسه یکتا برای هر آسیب‌پذیری گزارش‌شده نگه می‌دارد و مرجع طبقه‌بندی بین‌المللی است. اگر با مفهوم آن آشنا نیستید، توضیح کامل در CVE چیست آمده. آنچه در داده‌های چند سال اخیر دیده می‌شود:

  • سهم هسته وردپرس از CVEهای منتشرشده، بسیار پایین‌تر از سهم افزونه‌هاست. حتی اگر بخواهیم محافظه‌کارانه نگاه کنیم، افزونه‌ها چندین برابر هسته آسیب‌پذیری گزارش‌شده دارند.
  • بیشتر CVEهای افزونه در بازه چند هفته تا چند ماه وصله می‌شوند. برای پروژه‌هایی که آپدیت منظم دارند، این پنجره تهدید کوتاه است.
  • افزونه‌های رهاشده (abandoned)، بیشترین خطر بلندمدت را دارند؛ چون حتی اگر CVE برایشان ثبت شود، کسی وصله نمی‌کند.

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

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

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

  1. Brute Force روی wp-login.php: حمله خودکار روی رمز عبور. دفاعش در جلوگیری از حملات Brute Force و امن‌سازی لاگین ادمین آمده.
  2. سوءاستفاده از آسیب‌پذیری افزونه: اگر نسخه‌ای که روی سایت شماست، حفره‌ای شناخته‌شده داشته باشد، ربات آن را پیدا و از آن سوءاستفاده می‌کند.
  3. قالب و افزونه نال: نسخه‌های کرک‌شده اغلب کد اضافه دارند. مسیر تشخیص در دانلود افزونه مطمئن آمده است.

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

ورردپرس نه چون ضعیف است هک می‌شود، بلکه چون فراوان است. و تفاوت این دو، در انتخاب راهکار، همه‌چیز را عوض می‌کند.

پیشرفت‌های واقعی در چند سال گذشته

بی‌طرفانه بگویم، این‌ها بهبودهایی هستند که در چند سال گذشته واقعاً اتفاق افتاده‌اند:

  1. به‌روزرسانی خودکار امنیتی: حالا بخش بزرگی از سایت‌ها بدون دخالت صاحبشان، آخرین پچ امنیتی هسته را می‌گیرند. این تغییر، به‌تنهایی نرخ نفوذ از سمت هسته را به‌شدت پایین آورده.
  2. 2FA رایج‌تر شده: هم افزونه‌های بیشتری از آن پشتیبانی می‌کنند و هم صاحبان سایت‌ها بیشتر آن را فعال می‌کنند. مسیر فعال‌سازی در فعال‌سازی 2FA برای کاربران وردپرس.
  3. افزونه‌های امنیتی پخته‌تر: امروز افزونه‌هایی مثل Wordfence و Sucuri، فایروال و اسکنر مقایسه‌ای دارند که حتی چند سال پیش هم وجود نداشت.
  4. هدرهای امنیتی HTTP: بیشتر قالب‌ها و افزونه‌ها حالا HSTS و Content-Security-Policy را در خروجی می‌گذارند؛ توضیح کامل‌تر در هدرهای امنیتی HTTP.
  5. آگاهی صاحبان سایت: اگرچه آرام، اما آگاهی عمومی نسبت به هک، بکاپ و افزونه نال، در چند سال گذشته رشد کرده است.

این پیشرفت‌ها در کنار هم، تصویر کلی را بهتر کرده‌اند. اگر آمار حمله‌های موفق را با پنج سال پیش مقایسه کنیم، سهم هسته افت محسوسی داشته و سهم افزونه‌ها بالا مانده است.

جاهایی که هنوز لنگ می‌زند

در کنار پیشرفت‌ها، چند ضعف هم هنوز جدی است:

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

این چهار مورد، دقیقاً همان چیزهایی هستند که در پروژه‌های پاک‌سازی من تکرار می‌شوند. آمار پاک‌سازی‌های شخصی خودم را در راهنمای پاک‌سازی سایت هک‌شده آورده‌ام.

این آمارها برای شما چه معنایی دارد

پس از خواندن همه این داده‌ها، اگر مدیر یک سایت وردپرسی هستید، چهار کار مشخص باقی می‌ماند:

  1. هسته را روی آخرین نسخه نگه دارید: با به‌روزرسانی خودکار امنیتی این بخش تقریباً خودکار شده، اما یک بار در ماه دستی هم چک کنید.
  2. فهرست افزونه‌ها را هر سه ماه بازبینی کنید: افزونه‌هایی که استفاده نمی‌کنید را حذف کنید، افزونه‌های به‌روز‌نشده را علامت بزنید، و به‌جای افزونه‌های ناشناس، جایگزین رسمی پیدا کنید.
  3. ورودی‌ها را ببندید: 2FA فعال کنید، تلاش‌های ناموفق ورود را محدود کنید، نام کاربری ادمین را غیرقابل‌حدس بگذارید. راهنمای عملی در اشتباهات رایج امنیتی آمده.
  4. بکاپ بیرون از سرور بگیرید: بکاپی که روی همان سرور است، بکاپ نیست. مقایسه ابزارهای این کار در بهترین افزونه‌های بکاپ وردپرس آمده و مسیر امنیت فروشگاهی جدا در امنیت فروشگاه ووکامرس.

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

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

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

چرا وردپرس را هدف می‌گیرند اگر ناامن نیست؟ چون همان درصد بازدهی که برای مهاجم مهم است. وقتی یک ربات، میلیون‌ها سایت را جارو می‌کند، سهم بالای وردپرس، آن را به هدف جذابی تبدیل می‌کند. همین مقدار که ۴۰ درصد سایت‌ها وردپرسی باشند، کافی است.

اگر روی آخرین نسخه هستم، دیگر هک نمی‌شوم؟ نه. بودن روی نسخه آخر، یک شرط لازم است، شرط کافی نیست. باید افزونه‌ها هم آپدیت باشند، رمز عبور قوی باشد، و ورودی‌ها محدود شده باشند. اگر می‌خواهید مطمئن شوید، مسیر آیا سایت هک شده و بررسی امنیت قالب و افزونه را مرور کنید.

آیا افزونه‌های امنیتی رایگان کافی‌اند؟ برای سایت کوچک و متوسط، بله. اما فقط بعد از اینکه چک‌لیست پایه (۲FA، محدودسازی لاگین، بکاپ بیرون از سرور) را خودتان اجرا کرده باشید. افزونه امنیتی، جایگزین رفتار امن نیست. ترکیب پیشنهادی در افزونه‌های امنیت ورود آمده است.

آیا استفاده از قالب و افزونه رایگان خطرناک است؟ رایگان از مخزن رسمی، نه. رایگان از سایت ناشناس، بله. تفاوت را در آیا قالب‌های رایگان امن هستند و دانلود افزونه مطمئن شرح داده‌ام.

امنیت وردپرس، به‌اندازه رفتار شما امن است

اگر بخواهم تصویر امروز را در سه جمله ببندم: هسته وردپرس در چند سال گذشته به‌طور واقعی امن‌تر شده و این روند ادامه دارد؛ اکوسیستم افزونه‌ها همان‌قدر که بزرگ است، پرخطر هم هست و مسئولیت اصلی روی دوش خود صاحب سایت است؛ و در نهایت، تصمیم‌های کوچک روزمره — یک رمز قوی، یک 2FA فعال، یک افزونه حذف‌شده، یک بکاپ تست‌شده — از هر ابزار یا خبری مؤثرترند. اگر امروز فقط یک کار می‌کنید، به صفحه کاربران بروید و هر حسابی را که نمی‌شناسید یا نقشش را به‌خاطر ندارید حذف کنید. همین یک قدم، بیشتر از هر افزونه‌ای، ورودی هک را می‌بندد. اگر تجربه‌ای از یک حادثه امنیتی یا امنیت پایدار چند ساله دارید، در دیدگاه بنویسید؛ همین روایت‌ها تصویر واقعی امنیت وردپرس را از آمار انتزاعی به تجربه قابل انتقال تبدیل می‌کنند. 🛡️