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

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

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

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

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

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

هر کدام از این اقدامات حتی بعد از اینکه سایت خود را پس از هک شدن اصلاح کردید به آنها اجازه میدهند که به عملیات مخرب خود ادامه دهند. بنابرین انجام مراحل زیر توصیه می شود.

مراحل پاک سازی و بازگرداندن سایت وردپرسی

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

 پاک سازی بدافزار - تهیه بک آپ از سایت و دیتابیس

۱. تهیه نسخه پشتیبان کامل

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

قبل از هر اقدامی، یک بکاپ کامل از سایت وردپرسی خود (شامل فایل‌ها و دیتابیس) تهیه کنید. حتی اگر سایت آلوده باشد، ممکن است حاوی اطلاعات ارزشمندی باشد که نیاز به بازیابی آن‌ها دارید. نحوه ریستور بکاپ در cPanel/DirectAdmin یا WHM متفاوت است.

مطلب مرتبط: راهنمای ساده برای بازیابی کامل بک آپ از طریق cPanel / WHM

۲. شناسایی و حذف فایل‌های مخرب

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

نکات مهم در این مرحله:

  • بررسی فایل‌های جدید یا تغییر یافته در پوشه wp-content
  • حذف افزونه‌ها و قالب‌های غیرضروری یا ناامن
  • اسکن پایگاه داده برای کدهای مخرب

۳. به‌روزرسانی وردپرس، قالب و افزونه‌ها

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

۴. تغییر رمزهای عبور و بررسی دسترسی‌ها

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

۵. بازگرداندن سایت از نسخه پشتیبان (در صورت نیاز)

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

۶. نصب افزونه‌های امنیتی و تنظیمات پیشگیرانه

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

برخی از اقدامات پیشگیرانه:

  • فعال کردن فایروال وب
  • محدود کردن تلاش‌های ورود به سایت
  • استفاده از گواهی SSL
  • تنظیم بکاپ‌های منظم و خودکار

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

۲. تهیه یک کپی از تمام فایل هایی که آپلود کرده اید

تصاویر معمولا از خطر امنیتی در امان هستند و آن تصاویری که خودتان آپلود کرده اید(برعکس تصاویری که به طور مثال داخل قالب هستند) پیگیری و جایگزینی آن ها بعدا سخت تر خواهد بود.

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

۳. نسخه جدید وردپرس و تمام پلاگین های مورد نیاز و قالب را از منابع معتبر دانلود کنید

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

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

مطلب مرتبط: راهنمای کامل نصب قالب وردپرس + نکات مهم قبل و بعد از نصب

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

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

۴. همه فایل ها و فولدرهای مسیر وردپرس خود را از طریق اف تی پی و یا از طریق فایل منجیر پاک کنید

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

مطلب مرتبط: نحوه آپلود فایل در هاست سی‌پنل، دایرکت‌ادمین و پلسک

۵. فایل های جدیدی (شامل هسته ورد پرس، قالب‌، پلاگین ها) که تهیه کرده اید را مجدد آپلود کنید

اگر از نرم افزار های مدیریت اف تی پی (مانند Filezilla) برای آپلود استفاده می کنید می توانید تعداد کانکشن های هم زمان برای اینکه زمان آپلود شما کوتاه تر شود را افزایش دهید. در نرم افزار فایل زیلا می توانید به مسیر زیر بروید.

“Edit -> Settings -> File transfer settings”

۶.برای پشتیبانی از نسخه جدید وردپرس، دیتابیس خود را بروزرسانی کنید

با این کار هر تغییری که در ساختار دیتابیس شما برای پشتیبانی وردپرس از نسخه جدید لازم باشد اعمال می شود.

این آپگرید در فایلی در مسیر زیر قرار می گیرد.

/wp-admin/upgrade.php

۷. فایل wp-config.php را بررسی و اصلاح کنید:

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

۸. بلافاصله رمز عبور به مدیریت وردپرس را تغییر دهید

اگر شما بیش از یک کاربر برای دسترسی به مدیریت وردپرس دارید و دسترسی به آن ها برای تغییر پسوردهایشان ندارید، تا زمانی که این پسورد ها تغییر یابند لازم است سطوح دسترسی آنها را تغییر دهید. اگر در لیست کاربران، کاربر و یا کاربرانی را مشاهده می کنید که شما آن ها را نمی شناسید لازم است آن ها را پاک کنید.

۹. دیتابیس خود را بررسی کنید و اگر پستی آسیب دیده آن را اصلاح کنید

هر لینک و یا آی فریم که داخل پست اضافه شده را پاک کنید و مطالب از دست رفته را دوباره ایجاد کنید. کوئری زیر میتواند به شما در یافتن پست های مورد نفوذ کمک کند:

SELECT * FROM wp_posts WHERE post_content LIKE '%<iframe%'

UNION

SELECT * FROM wp_posts WHERE post_content LIKE '%<noscript%'

UNION

SELECT * FROM wp_posts WHERE post_content LIKE '%display:%'

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

 پاک سازی بدافزار - آپلود مجدد

وارد کنترل پنل هاست خود شوید و روی آیکون phpMyAdmin کلیک کنید… مراقب کدهای iframe، noscript یا استایل‌های display:none باشید که ممکن است محتوای مخرب را پنهان کنند.

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

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

مطلب مرتبط: حملات SQL Injection چیست؟ و نحوه محافظت در برابر هکرها

جمع بندی

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

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

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

سوالات متداول

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

۱. چگونه متوجه شویم سایت وردپرسی ما آلوده شده است؟

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

۲. مراحل اصلی پاک‌سازی سایت وردپرسی آلوده چیست؟

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

۳. چه ابزارهایی برای پاک‌سازی سایت وردپرسی آلوده توصیه می‌شود؟

  • Wordfence Security: افزونه‌ای قدرتمند برای اسکن و حذف بدافزار.
  • Sucuri Security: ارائه خدمات اسکن و پاک‌سازی سایت به صورت حرفه‌ای.
  • MalCare: ابزار خودکار برای شناسایی و حذف بدافزارها.

۴. چگونه می‌توانیم از آلوده شدن مجدد سایت جلوگیری کنیم؟

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