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

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

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

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

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

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

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

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

۱. تهیه بک آپ از سایت و دیتابیس

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

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

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

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

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

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

برای اطمینان از پاک بودن فایل‌ها، آخرین نسخه هسته وردپرس را از سایت رسمی 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 باشید که ممکن است محتوای مخرب را پنهان کنند. اگر با کار با دیتابیس آشنا نیستید، حتماً از خدمات پشتیبانی تخصصی وردپرس کمک بگیرید تا از آسیب بیشتر جلوگیری شود. پس از پاکسازی، حتماً اقدامات لازم برای افزایش امنیت وردپرس را انجام دهید.

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