SHET22

پاکسازی سایت وردپرس ویروسی؛ راهنمای کامل و قدم‌به‌قدم

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

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

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

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

آنچه در این مقاله می‌خوانید

چطور سایت وردپرس ویروسی شده را پاکسازی کنیم؟ (راهنمای کامل و عملی)

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

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

منظور از ویروس در وردپرس چیست؟

در وردپرس، واژه «ویروس» معمولاً عنوانی عمومی برای بدافزار، بک‌دور، شل و کد تزریق‌شده است؛ نه دقیقاً همان ویروسی که در سیستم‌عامل می‌شناسیم. چنین کدی ممکن است بدون اطلاع شما ایمیل بفرستد، تبلیغ نمایش دهد، بازدیدکننده را ریدایرکت کند یا راه دسترسی پنهانی برای مهاجم بسازد.

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

این مقاله چه کمکی به شما می‌کند؟

این مقاله به شما کمک می‌کند نشانه‌های مشکوک را بشناسید، پیش از دست‌کاری سایت یک نسخه پشتیبان قرنطینه‌ای تهیه کنید، فایل‌های هسته را با بسته رسمی جایگزین کنید و بخش‌های حساس مثل wp-content، wp-config.php، .htaccess، دیتابیس، کاربران و Cron Jobs را نادیده نگیرید.

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

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

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

تفاوت ویروس کامپیوتری با ویروس سایت

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

شل (Shell) و کد مخرب چیست؟

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

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

کدهای مخرب چه کارهایی می‌توانند با سایت شما انجام دهند؟

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

بخشی از این فعالیت‌ها ممکن است در ظاهر سایت دیده نشوند. برای همین، سالم به نظر رسیدن صفحه اصلی کافی نیست و باید رفتار سایت، گزارش‌های امنیتی، فایل‌های تغییریافته، دیتابیس و لاگ‌های سرور را کنار هم بررسی کنید.

چه نشانه‌هایی می‌گوید سایت شما ویروسی شده است؟

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

ریدایرکت شدن سایت به آدرس‌های ناشناس

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

ریدایرکت شدن سایت به آدرس‌های ناشناس
ریدایرکت شدن سایت به آدرس‌های ناشناس

فایل‌های PHP با نام‌های نامفهوم و مشکوک

فایل‌های تازه یا ناشناسی که محتوای مبهم، کد رمزگذاری‌شده یا توابع غیرمنتظره دارند، ارزش بررسی دارند؛ مخصوصاً اگر در wp-includes، uploads یا پوشه قالب دیده شوند. بااین‌حال، صرفاً از روی نام فایل تصمیم نگیرید. آن را با نسخه رسمی مقایسه کنید و پیش از حذف، یک کپی قرنطینه‌ای و غیرقابل‌اجرا نگه دارید.

نمونه فایل PHP مشکوک در فایل‌منیجر هاست
نمونه فایل PHP مشکوک در فایل‌منیجر هاست

ارسال ایمیل اسپم بدون اطلاع شما

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

مصرف غیرعادی منابع هاست

افزایش ناگهانی CPU، RAM یا پهنای باند بدون رشد متناسب بازدید می‌تواند نشانه اجرای اسکریپت‌های خودکار، درخواست‌های مخرب یا ارتباط با سرورهای خارجی باشد. البته افزونه معیوب، ربات‌های جست‌وجو و خطای فنی هم می‌توانند مصرف را بالا ببرند؛ بنابراین نمودار منابع را همراه با لاگ دسترسی و خطا بررسی کنید.

مصرف غیرعادی منابع در سی پنل
مصرف غیرعادی منابع در سی پنل

هشدار از طرف هاستینگ یا گوگل

هشدار وجود بدافزار یا فعالیت مشکوک از طرف هاستینگ یا Google Search Console را نادیده نگیرید. در Search Console، گزارش Security Issues را بررسی کنید؛ URLهای نمونه الزاماً فهرست کامل صفحات درگیر نیستند. پس از پاکسازی و اطمینان از رفع مشکل نیز از همان بخش درخواست بازبینی بفرستید.

هشدار امنیتی در Google Search Console
هشدار امنیتی در Google Search Console

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

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

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

ساختار وردپرس و پیچیدگی تشخیص فایل سالم از آلوده

پوشه‌های wp-admin، wp-includes و wp-content صدها فایل دارند و افزونه‌ها نیز ساختار خودشان را اضافه می‌کنند. تشخیص فایل سالم از آلوده فقط با نگاه کردن به نام آن ممکن نیست. مقایسه با بسته رسمی، بررسی checksum، تاریخ تغییر و محتوای فایل معمولاً تصویر دقیق‌تری می‌دهد.

ساختار پوشه‌های وردپرس
ساختار پوشه‌های وردپرس

پخش مویرگی کدهای مخرب در سایت

آلودگی ممکن است هم‌زمان در هسته، uploads، قالب، افزونه، MU Plugins، فایل‌های drop-in، دیتابیس یا Cron Jobs حضور داشته باشد. باقی ماندن فقط یکی از این مسیرها برای برگشت مشکل کافی است؛ به همین خاطر پاکسازی موضعی بدون بررسی اجزای مرتبط قابل اتکا نیست.

پخش مویرگی کدهای مخرب در سایت
پخش مویرگی کدهای مخرب در سایت

خطر حذف فایل‌های اصلی وردپرس

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

حذف اشتباه فایل‌های اصلی وردپرس
حذف اشتباه فایل‌های اصلی وردپرس

چرا باید وردپرس تمیز را جایگزین کنیم، نه تعمیر موضعی؟

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

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

آموزش کامل پاکسازی سایت وردپرس ویروسی (قدم‌به‌قدم)

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

هدف، بازسازی اجزای قابل‌جایگزینی از منابع سالم، بررسی بخش‌های اختصاصی و بستن مسیر نفوذ است. تا وقتی نتیجه را با اسکن، لاگ‌ها و رفتار سایت تأیید نکرده‌اید، پاکسازی را تمام‌شده در نظر نگیرید.

مرحله اول – آماده‌سازی قبل از پاکسازی

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

نام قالب فعال، افزونه‌ها، MU Plugins، کاربران مدیر و سرویس‌های متصل را ثبت کنید. زمان تغییر فایل‌های مشکوک و لاگ‌های دسترسی را هم نگه دارید؛ این اطلاعات برای پیدا کردن مسیر نفوذ و جلوگیری از تکرار آن مفیدند.

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

فایل‌منیجر در سی پنل
فایل‌منیجر در سی پنل

مرحله دوم – حذف فایل‌های آلوده از public_html

به ریشه دقیق نصب وردپرس بروید؛ این مسیر همیشه معادل تمام محتوای public_html نیست. فایل‌های غیروردپرسی، فایل‌های تأیید دامنه، تنظیمات سرور و پوشه سایت‌های دیگر را شناسایی کنید و به آن‌ها دست نزنید. برای هسته وردپرس، می‌توانید wp-admin و wp-includes را با نسخه سالم جایگزین کنید و فایل‌های هسته در ریشه را نیز با بسته رسمی مقایسه و بازسازی کنید.

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

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

انتخاب فایل‌ها در public_html و مشخص‌کردن مواردی که نباید حذف شود
انتخاب فایل‌ها در public_html و مشخص‌کردن مواردی که نباید حذف شود

مرحله سوم – پاکسازی پوشه wp-content

wp-content محتوای اختصاصی سایت را در خود نگه می‌دارد و نمی‌توان آن را مانند هسته یکجا جایگزین کرد. پوشه uploads، افزونه‌های MU، فایل‌های drop-in، کش‌ها، بکاپ‌های محلی و هر پوشه ناشناس را بررسی کنید. تصاویر و فایل‌های رسانه‌ای لازم را نگه دارید، اما سالم بودن کل uploads را از پیش فرض نکنید.

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

وجود فایل PHP در uploads معمولاً نیازمند بررسی فوری است، اما معیار تشخیص فقط پسوند نیست. فایل پنهان، پسوند دوگانه، تنظیمات مخرب یا کد جاسازی‌شده در محل دیگری هم ممکن است وجود داشته باشد. موارد مشکوک را قرنطینه کنید و برای تشخیص، محتوا، منشأ و کاربردشان را بررسی کنید.

 شناسایی فایل مشکوک در پوشه آپلود
شناسایی فایل مشکوک در پوشه آپلود

مرحله چهارم – بررسی و تمیز کردن wp-config.php

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

رشته‌های طولانی همیشه مخرب نیستند؛ کلیدهای امنیتی وردپرس نیز ظاهری پیچیده دارند. کدی که پیش یا پس از بخش‌های معمول فایل اضافه شده، includeهای ناشناس و توابع نامرتبط باید بررسی شوند، اما اگر در تشخیص مطمئن نیستید، چیزی را با حدس حذف نکنید. .htaccess را هم با همین حساسیت بررسی و در صورت نیاز از قوانین استاندارد و تنظیمات معتبر سرویس بازسازی کنید.

بخش مشکوک wp-config.php
بخش مشکوک wp-config.php

مرحله پنجم – نصب مجدد وردپرس تمیز بدون نصب دوباره سایت

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

فایل‌های هسته سالم را در ریشه نصب جایگزین کنید، بدون اینکه wp-content و wp-config.php بررسی‌شده را ناخواسته بازنویسی کنید. چون دیتابیس قبلی باقی مانده، معمولاً نصب تازه‌ای ساخته نمی‌شود؛ بااین‌حال، نتیجه به سلامت دیتابیس و سازگاری نسخه‌ها بستگی دارد و ممکن است به بررسی تکمیلی نیاز داشته باشد.

انتقال فایل‌های وردپرس از پوشه wordpress به public_html
انتقال فایل‌های وردپرس از پوشه wordpress به public_html

مرحله ششم – ورود به پیشخوان و نهایی‌سازی سایت

آدرس سایت و wp-admin را باز کنید. اگر وردپرس درخواست به‌روزرسانی دیتابیس داد، ابتدا مطمئن شوید نسخه سازگار را نصب کرده‌اید و بکاپ قرنطینه‌ای در دسترس است؛ سپس مرحله را انجام دهید.

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

نبودن ریدایرکت یا خطای ظاهری نشانه خوبی است، اما برای تأیید کافی نیست. فایل‌ها و دیتابیس را دوباره اسکن کنید، کاربران مدیر، Cron Jobs، لاگ‌ها و درخواست‌های خروجی را بررسی کنید و مطمئن شوید مسیر نفوذ اولیه بسته شده است.

یشخوان وردپرس
یشخوان وردپرس

بعد از پاکسازی چه کارهایی حتماً باید انجام دهیم؟

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

تغییر تمام رمزهای دسترسی

رمز حساب‌های مدیر وردپرس، هاست، FTP یا SFTP، SSH، دیتابیس، ایمیل‌های مدیریتی و سرویس‌های متصل را تغییر دهید. اگر احتمال می‌دهید دستگاه یکی از مدیران آلوده است، ابتدا همان دستگاه را بررسی کنید؛ وگرنه رمز تازه هم ممکن است دوباره افشا شود.

کلیدهای امنیتی WordPress را در wp-config.php نوسازی کنید تا نشست‌های فعال قبلی بی‌اعتبار شوند. کلیدهای API و دسترسی سرویس‌های جانبی را هم در صورت احتمال افشا تغییر دهید و برای هر حساب، رمز منحصربه‌فرد و قوی بسازید.

بررسی و حذف کاربران مشکوک

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

حساب نامعتبر را حذف کنید و محتوای متعلق به آن را آگاهانه به کاربر دیگری نسبت دهید. دسترسی مدیر را فقط برای افرادی نگه دارید که واقعاً به آن نیاز دارند و احراز هویت دومرحله‌ای را برای حساب‌های حساس فعال کنید.

بررسی Cron Jobs و وظایف زمان‌بندی‌شده

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

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

بررسی ایمیل‌های خروجی سایت

گزارش ارسال ایمیل یا Email Track Delivery را بررسی کنید و ببینید فرستنده، گیرنده و زمان ارسال با عملکرد معمول سایت هماهنگ است یا نه. اگر دامنه در فهرست‌های مسدودسازی قرار گرفته، پس از رفع علت باید فرایند رفع محدودیت سرویس مربوط را نیز پیگیری کنید.

فرم‌های تماس، حساب‌های SMTP و تنظیمات افزونه‌های ایمیل را دوباره بررسی کنید. محدودسازی نرخ ارسال و محافظت مناسب از فرم‌ها می‌تواند سوءاستفاده خودکار را کمتر کند.

در کنار این موارد، لاگ‌های سرور و گزارش Security Issues در Google Search Console را دوباره ببینید. پاکسازی زمانی قابل‌اعتمادتر است که هم نشانه ظاهری برطرف شده باشد، هم اسکن و گزارش‌ها مورد تازه‌ای نشان ندهند و هم مسیر نفوذ شناسایی و بسته شده باشد.

چطور جلوی ویروسی شدن دوباره سایت وردپرس را بگیریم؟

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

استفاده فقط از قالب و افزونه‌های اورجینال

قالب و افزونه را از WordPress.org، وب‌سایت رسمی سازنده یا حساب معتبر خودتان در مارکت‌پلیس تهیه کنید. نسخه‌های نال یا دست‌کاری‌شده قابل اعتماد نیستند و مسیر به‌روزرسانی امنی هم ندارند. برای محصولات خارجی می‌توانید CodeCanyon و ThemeForest را بررسی کنید، اما حضور محصول در مارکت‌پلیس به‌تنهایی تضمین امنیت یا پشتیبانی نیست؛ سابقه به‌روزرسانی، سازگاری، اعتبار سازنده و مجوز محصول را هم ببینید. برای قالبی متناسب با سایت‌های فارسی نیز می‌توانید امکانات قالب اهورا را جداگانه ارزیابی کنید.

به‌روزرسانی منظم وردپرس و افزونه‌ها

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

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

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

انتخاب هاست امن و معتبر

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

استفاده آگاهانه از افزونه‌های امنیتی

افزونه امنیتی می‌تواند ورودهای ناموفق، تغییر فایل و بعضی رفتارهای مشکوک را ثبت یا محدود کند. بااین‌حال، تنظیم نادرست آن ممکن است منابع زیادی مصرف کند یا دسترسی کاربران سالم را ببندد. افزونه معتبر و به‌روز انتخاب کنید، هشدارهایش را بررسی کنید و آن را مکمل HTTPS، رمز قوی، 2FA، بکاپ و به‌روزرسانی بدانید.

امنیت وردپرس یک کار یک‌باره نیست. بکاپ‌های بازیابی‌شدنی را آزمایش کنید، تغییرات فایل و لاگ‌ها را زیر نظر داشته باشید و برنامه مشخصی برای به‌روزرسانی و بازبینی دسترسی‌ها داشته باشید.

آیا وردپرس امن است یا نه؟

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

باور اشتباه «وردپرس ناامن است»

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

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

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

مقایسه وردپرس با سایر سیستم‌های مدیریت محتوا

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

وردپرس امن است، به شرط استفاده درست

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

جمع‌بندی

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

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

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

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

نظر شما در این مورد چیه؟

  1. U369393۸ بهمن ۱۴۰۳

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

    • U331743۱۷ بهمن ۱۴۰۳

      سلام دوست عزیز منم مشکل شما رو دارم ، چطور ویروس هارو پاک کردید ؟؟؟؟؟؟

  2. U354755۲۸ شهریور ۱۴۰۳

    سلام سایت من ویروسی شده و شرکت هاستیگم برام اسکن ویروس انجام داده و پیام زیر رو نوشته:

    فایل هایی که از سمت آنتی ویروس آلوده تشخیص داده شده است به شرح زیر است :
    public_html/wp-content/plugins/wp-statistics/includes/vendor/maxmind-db/reader/ext/maxminddb.c
    همانطور که مشاهده میکنید این فایل های آلوده مربوط به نرم افزار مدیریت محتوای سایت شما و افزونه ها و قالب های آن است.لطفا فایل هایی که برای عملکرد اسکرپیت سایت شما الزامی هستند از نسخه اصلی نصبی نرم افزار جایگزین کنید
    کنون می بایست با استفاده از لاگ فایل و به کمک یک متخصص امنیت فایل های سایت خود را مورد بررسی قرار دهید، فایل های هسته CMS را آپدیت نمایید و افزونه ها و تم سایت را به جهت یافت backdoor های احتمالی که هکر قرار داده است، بازبینی و اصلاح نمایید.

    حالا بنده اگر افزونه wp-statistics را حذف کنم مشکل حل میشه؟

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسخارج از ساعات کاری هستیم؛ دستیار هوش مصنوعی پاسخگوی شماست.هوش مصنوعی

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.