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

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

بدافزار (Malware) چیست؟

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

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

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

۱. دسترسی‌ها را محدود کنید (قدم اول)

اولین کاری که باید انجام دهید، بستن راه‌های نفوذ بیشتر است. شما باید فوراً رمز عبور تمامی اکانت‌های ادمین، هاست (Cpanel یا DirectAdmin)، FTP و دیتابیس را تغییر دهید. بسیاری از هکرها پس از نفوذ، یک اکانت کاربری مخفی برای خود می‌سازند. پس به بخش کاربران سایت بروید و هر کاربری که نمی‌شناسید را حذف کنید.

۲. سایت را به حالت تعمیر و نگهداری ببرید

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

شما با استفاده از افزونه‌های Maintenance Mode یا حتی یک کد ساده در فایل .htaccess می‌توانید این کار را انجام دهید.

۳. شناسایی فایل‌های آلوده

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

براد ویلیامز (Brad Williams)، یکی از نویسندگان کتاب Professional WordPress Design and Development می‌گوید:

«امنیت یک محصول نیست، بلکه یک فرآیند است. اسکن مداوم و نظارت بر تغییرات فایل‌ها، کلید اصلی در شناسایی سریع نفوذهاست.»

۴. جایگزینی هسته وردپرس و افزونه‌ها

یکی از مطمئن‌ترین روش‌ها برای پاکسازی، جایگزینی فایل‌هاست. شما باید آخرین نسخه وردپرس را دانلود کنید و فایل‌های wp-admin و wp-includes را به طور کامل با فایل‌های موجود در هاست خود جایگزین کنید. نکته مهم: هرگز پوشه wp-content یا فایل wp-config.php را پاک نکنید، زیرا اطلاعات قالب، افزونه‌ها و اتصال به دیتابیس شما در آنجا قرار دارد.

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

۵. پاکسازی فایل‌های حیاتی (Config و Htaccess)

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

نمونه کد استاندارد .htaccess:

# BEGIN WordPress

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

# Security Suggestion: Protect wp-config.php
<files wp-config.php>
    # Deny access to everyone
    order allow,deny
    deny from all
</files>

۶. درخواست بررسی مجدد از گوگل

اگر سایت شما توسط گوگل به عنوان "سایت خطرناک" علامت‌گذاری شده است، پس از اطمینان از پاکسازی کامل، باید وارد پنل Google Search Console شوید. در بخش Security & Manual Actions، گزینه‌ی Security Issues را انتخاب کرده و درخواست بازبینی (Request Review) دهید. گوگل سایت شما را اسکن می‌کند و اگر پاک شده باشد، هشدار قرمز رنگ را برمی‌دارد.

نتیجه‌ گیری

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