دموی رایگان

چک‌لیست ماهانهٔ امنیت وردپرس؛ ۹ مورد پیش از انتشار

دلوین خیری مقدم خواندن ~۷ دقیقه امنیت و پشتیبان‌گیری
چک‌لیست ماهانهٔ امنیت وردپرس؛ ۹ مورد پیش از انتشار
چک‌لیست امنیت وردپرس را ماهانه یک‌بار و در حدود یک ساعت اجرا کنید: به‌روزرسانی هسته و افزونه‌ها، کوچک‌سازی دسترسی‌ها، بازبینی لاگ ورود، گزارش محافظ، مرور فرم‌ها، تست بازگردانی بکاپ، اسکن بدافزار، چرخش کلیدها و بررسی SSL. هیچ‌کدام از این ۹ بررسی به ابزار گران نیاز ندارد؛ به تقویم و نظم نیاز دارد.

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

چرا ماهانه؟ چون امنیت یک وضعیت نیست، یک روال است: افزونه‌ها عوض می‌شوند، کاربران می‌آیند و می‌روند و کلیدها دست‌به‌دست می‌گردند. وردپرس حدود ۴۳٪ وب‌سایت‌های جهان را پشتیبانی می‌کند (W3Techs، تاریخ گردآوری: آبان ۱۴۰۵)؛ همین سهم یعنی اسکریپت‌های حمله هم اول سراغ آن می‌آیند و روال ماهانه، ارزان‌ترین پاسخ به این هدف‌ بودن است.

چک‌لیست امنیت وردپرس؛ چرخهٔ ماهانه در یک نگاه

روال پیشنهادی ما یک جلسهٔ ماهانهٔ کوتاه است — اول هفته و پیش از انتشار تغییرهای بزرگ — با یک برگهٔ ثابت که هر بار همان را پر می‌کنید. ترتیب ۹ بررسی را از بیرون به درون چیده‌ایم: اول نسخه‌ها و سازگاری، بعد دسترسی‌ها و نشست‌ها و لاگ‌ها؛ نیمهٔ دوم چرخه بکاپ، اسکن، کلیدها و SSL است. این ترتیب تصادفی نیست: هر بررسی مقدمهٔ بعدی است — مثلاً به‌روزرسانی پیش از اسکن اجرا می‌شود تا اسکن روی نسخهٔ تازه بنشیند و نتیجه‌اش قابل تفسیر باشد.

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

بررسی‌های ۱ تا ۵؛ به‌روزرسانی، دسترسی و لاگ

نیمهٔ اول چرخه؛ بررسی‌های ۱ تا ۵
دسترسی‌ها را کوچک نگه دارید؛ سطح حملهٔ بزرگ، حساب‌های فراموش‌شده است.

بررسی ۱ — نسخه‌ها: هسته، قالب و افزونه‌ها را به‌روز و سازگار نگه دارید و لاگ تغییرات را مرور کنید؛ به‌روزرسانی خودکارِ خام، جای تست را نمی‌گیرد. بررسی ۲ — کاربران و نقش‌ها: حساب‌های بلااستفاده را حذف کنید، نقش‌ها را کمینه نگه دارید و نشست‌های فعالِ مشکوک را باطل کنید. صفحهٔ ورود را هم با ایمن‌سازی صفحهٔ ورود وردپرس ایمن‌سازی صفحهٔ ورود وردپرس بازبینی کنید؛ ورود، دروازهٔ همهٔ این‌هاست.

بررسی ۳ — لاگ ورود و تلاش‌های ناموفق: افزونهٔ محافظ گزارش تلاش‌های ورود را می‌دهد؛ جهش ناگهانی تلاش روی کاربر ادمین یعنی هدف‌گیری هدفمند و نشانهٔ سخت‌گیرترشدن قفل ورود. بررسی ۴ — گزارش‌های افزونهٔ امنیتی: هشدارهای فایلِ تغییرکرده و مسدودسازی‌ها را بخوانید و پیگیری کنید، نه صرفاً تیک بزنید. بررسی ۵ — فرم‌ها و نقش‌های محتوایی: فرم‌های ارسال فایل و حساب نویسنده‌های مهمان را مرور کنید؛ سطح حمله فقط پنل مدیریت نیست.

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

بررسی‌های ۶ تا ۹؛ بکاپ، اسکن، کلیدها و SSL

نیمهٔ دوم چرخه؛ بررسی‌های ۶ تا ۹
بکاپی که تست نشده بکاپ نیست؛ این مورد را روی تقویم قفل کنید.

بررسی ۶ — بکاپ: وجود بکاپ مهم نیست، بازگردانی‌شدنش مهم است؛ ماهی یک‌بار در محیط آزمایشی بازگردانی کنید. ساختار بکاپ سالم — چه چیزها، با چه بسامدی، کجا نگهداری شود — را در چک‌لیست بکاپ منظم وردپرس چک‌لیست بکاپ منظم وردپرس کامل نوشته‌ایم. بررسی ۷ — اسکن بدافزار و فایل‌های هسته: اسکن کامل اجرا کنید و فایل‌های هسته را با نسخهٔ رسمی مقایسه کنید؛ تغییر ناخواسته در فایل‌های هسته زودتر از هر نشانهٔ دیگری خودش را نشان می‌دهد.

بررسی ۸ — کلیدها و رمزها: کلیدهای API افزونه‌ها و درگاه‌ها را بچرخانید، رمز ادمین‌ها را بازبینی کنید و دسترسی‌های FTP و SSH را محدود نگه دارید. بررسی ۹ — SSL و دامنه: تاریخ انقضای گواهی و دامنه را چک کنید و مطمئن شوید همهٔ صفحات روی HTTPS سرو می‌شوند؛ انقضای گواهی اگر کسی نگاهش نکند، دقیقاً روز کمپین اتفاق می‌افتد.

نیمهٔ دوم چرخه جایی است که معمولاً به تعویق می‌افتد، چون فوری به نظر نمی‌رسد؛ همین‌جاست که تفاوت سایت‌های مقاوم ساخته می‌شود. تست بکاپ را روی تقویم قفل کنید — تنها بررسی‌ای است که در بحران، همهٔ بررسی‌های قبلی را معنا می‌دهد.

قبل از انتشار؛ سه قفل پایانی

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

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

اگر هشدار دیدید؛ مسیر واکنش

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

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

جمع‌بندی؛ روال را روی تقویم بگذارید

جمع‌بندی: چرخهٔ ماهانهٔ ۹ موردی — نسخه‌ها، دسترسی‌ها، لاگ، گزارش محافظ، فرم‌ها، تست بکاپ، اسکن، چرخش کلیدها و SSL — را روی تقویم بگذارید و سه قفل پیش از انتشار را هم کنارش اضافه کنید. امنیت در وردپرس نه با یک افزونه تمام می‌شود و نه با یک به‌روزرسانی؛ با روالی تمام می‌شود که ماه به ماه اجرا شود و مکتوب بماند. یک روز ثابت در ماه — مثلاً شنبهٔ اول — انتخاب کنید؛ روالی که تاریخ ندارد، اولین ماهِ شلوغ حذف می‌شود.

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

دموی رایگان پلتفرم

پلن پیشرو — ۷٫۹ میلیون تومان/ماه (انتشار خودکار + اپراتور)

دموی رایگان پلتفرم

رصد ما، رشد شما.

سؤالات پرتکرار

اجرای چرخهٔ ماهانه چقدر وقت می‌گیرد؟

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

مهم‌ترین بررسی این چک‌لیست کدام است؟

تست بازگردانی بکاپ؛ بکاپی که بازگردانی نشده، در لحظهٔ حادثه بکاپ حساب نمی‌شود. ماهی یک‌بار در محیط آزمایشی بازگردانی کنید و نتیجه را ثبت کنید.

به‌روزرسانی خودکار کافی نیست؟

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

بعد از دیدن هشدار بدافزار اولین کار چیست؟

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

این چک‌لیست چه فرقی با چک‌لیست پایهٔ امنیت دارد؟

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