حذف بدافزار وردپرس؛ راهنمای جامع و گام به گام پاکسازی سایت در 1404

حذف بدافزار وردپرس؛ راهنمای جامع و گام به گام پاکسازی سایت در 1404

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

انتشار
به روزرسانی
گارگروه نویسنده سایت 0 نظر
فهرست مطلب 28 بخش

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

علائم ویروسی شدن و هک سایت وردپرسی

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

هشدار مهم: اگر هر یک از علائم زیر را در سایت خود مشاهده کردید، فوراً روند پاکسازی را شروع کنید. هرچه زمان بیشتری بگذرد، هکرها دسترسی های بیشتری در سایت و سرور شما ایجاد می کنند.
  • تغییر مسیرهای ناگهانی (Redirect): وقتی آدرس سایت خود را وارد می کنید، به یک سایت کاملاً متفاوت، معمولاً سایت های شرط بندی، فروش داروهای غیرمجاز یا سایت های پورنوگرافی هدایت می شوید.
  • کاهش شدید سرعت سایت: بدافزارها و اسکریپت های مخرب در پس زمینه سرور در حال اجرا هستند و منابع پردازشی و رم سرور را مصرف می کنند.
  • مشاهده کاربران مدیر ناشناس: در بخش کاربران وردپرس، حساب های کاربری با سطح دسترسی مدیر می بینید که خودتان آن ها را ایجاد نکرده اید.
  • تغییرات خودکار در محتوا: لینک های مخرب به صورت خودکار به مقالات شما اضافه می شود یا کلمات کلیدی خاصی در سایت شما به سایت های دیگر لینک می شوند (SEO Spam).
  • هشدار مرورگرها: وقتی کاربران وارد سایت می شوند، مرورگر کروم یا فایرفاکس پیام قرمز رنگی مبنی بر خطرناک بودن سایت (Deceptive site ahead) نمایش می دهد.
  • ارسال ایمیل های اسپم: هاستینگ شما اخطار می دهد که از سرور شما در حال ارسال هزاران ایمیل تبلیغاتی و اسپم است.
  • خطاهای مرگبار وردپرس (White Screen of Death): سایت شما به دلیل تداخل کدهای مخرب با فایل های اصلی وردپرس، با یک صفحه سفید یا خطای داخلی سرور مواجه می شود.

اقدامات فوری و حیاتی قبل از شروع پاکسازی

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

1. تهیه نسخه پشتیبان (بک آپ) از وضعیت فعلی

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

2. قرار دادن سایت در حالت تعمیر (Maintenance Mode)

تا زمانی که سایت آلوده است، کاربران شما در معرض خطر قرار دارند و گوگل در حال ایندکس کردن صفحات مخرب است. سایت را از دسترس خارج کنید. اگر به پنل مدیریت دسترسی دارید، از افزونه هایی مثل WP Maintenance Mode استفاده کنید. اگر دسترسی ندارید، از طریق فایل منیجر هاست، فایل .htaccess را ویرایش کنید و کدهای زیر را به ابتدای آن اضافه کنید تا تمام درخواست ها به یک صفحه ساده هدایت شوند:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/maintenance.html$
RewriteRule ^(.*)$ /maintenance.html [R=307,L]

3. قطع دسترسی های غیرضروری

اگر مشکوک هستید که هکر به FTP یا پنل هاست دسترسی دارد، فوراً از طریق پنل اصلی هاستینگ، تمام کاربران FTP را حذف یا رمزهای آن ها را تغییر دهید. دسترسی به XML-RPC را نیز مسدود کنید، زیرا یکی از رایج ترین راه های نفوذ و ایجاد حملات Brute Force است.

روش های پیدا کردن بدافزار و کدهای مخرب در وردپرس

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

استفاده از افزونه های اسکنر امنیتی

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

نام افزونه قابلیت ها در پاکسازی مناسب برای
Wordfence Security اسکن عمیق فایل ها، مقایسه با هسته اصلی، شناسایی بدافزارهای شناخته شده اسکن اولیه و شناسایی سریع
Sucuri Security بررسی تغییرات فایل ها، نظارت بر سیاهه ها، فایروال سمت سرور نظارت مداوم و جلوگیری از نفوذ
MalCare اسکن بدون فشار به سرور، پاکسازی خودکار با یک کلیک سایت های بزرگ و فروشگاه های ووکامرس
نکته تخصصی: هرگز برای پاکسازی سایت هک شده، فقط به افزونه ها اعتماد نکنید. هکرها حرفه ای گاهی اوقات کدهای مخرب را طوری می نویسند که توسط اسکنرهای رایگان شناسایی نشود. اسکنر فقط برای پیدا کردن سرنخ است.

بررسی دستی فایل ها (برای کاربران حرفه ای)

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

  • فایل wp-config.php: این فایل حاوی اطلاعات دیتابیس است. هکرها معمولاً کدهای مخرب را در انتهای این فایل یا بین خطوط آن اضافه می کنند. به دنبال توابعی مثل eval، base64_decode، gzinflate، str_rot13 و exec بگردید.
  • فایل .htaccess: این فایل مسئول تنظیمات بازنویسی آدرس ها است. هکرها کدهایی در آن inject می کنند تا تمام ترافیک سایت را به سایت خودشان ریدایرکت کنند. اگر کدهای عجیب و غریبی دیدید که مربوط به وردپرس نیست، آن ها را حذف کنید.
  • فایل index.php و wp-load.php: این فایل ها در ریشه اصلی سایت قرار دارند و نباید هیچ کد اضافی یا ریدایرکتی در آن ها وجود داشته باشد.
  • پوشه wp-content/uploads: در این پوشه فقط باید فایل های تصویری، ویدیویی و اسناد قرار بگیرند. اگر فایلی با پسوند php، phtml یا js در این پوشه دیدید، به احتمال 99 درصد یک بدافزار یا بک دور (Backdoor) است. آن ها را فوراً حذف کنید.

آموزش گام به گام حذف بدافزار و پاکسازی کامل سایت

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

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

ساده ترین و مطمئن ترین راه برای پاکسازی فایل های هسته، جایگزین کردن آن ها با فایل های سالم است. نیازی نیست تک تک فایل های هسته را بررسی کنید.

  1. به سایت رسمی وردپرس (wordpress.org) بروید و آخرین نسخه وردپرس را دانلود کنید.
  2. فایل زیپ را از حالت فشرده خارج کنید.
  3. از طریق FTP یا فایل منیجر هاست، به ریشه سایت خود بروید.
  4. تمام فایل ها و پوشه های هسته وردپرس (مثل wp-admin، wp-includes و فایل های php ریشه) را حذف کنید. توجه: پوشه wp-content و فایل wp-config.php را به هیچ وجه حذف نکنید.
  5. فایل های تازه دانلود شده وردپرس را در ریشه سایت آپلود کنید.

گام دوم: بررسی و پاکسازی پوشه wp-content

پوشه wp-content شامل قالب ها، افزونه ها و فایل های آپلودی شماست. این بخش بیشترین محل برای مخفی شدن بدافزارهاست.

  • افزونه ها: تمام افزونه ها را غیرفعال کنید. سپس تک تک آن ها را بررسی کنید. اگر از افزونه رایگان استفاده می کنید، بهتر است آن را حذف کرده و نسخه تازه را از مخزن وردپرس نصب کنید. اگر افزونه پولی است، مطمئن شوید که از منبع معتبر خریداری شده است. افزونه های نال شده (Nulled) بزرگترین عامل هک شدن سایت هستند.
  • قالب ها: تمام قالب های غیرفعال و قدیمی را حذف کنید. فقط یک قالب فعال و سالم نگه دارید. اگر قالب شما نال شده است، فوراً آن را حذف کرده و یک قالب قانونی جایگزین کنید.
  • پوشه uploads: همانطور که در بخش قبل گفته شد، هرگونه فایل اجرایی (php) را از این پوشه حذف کنید.

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

بسیاری از افراد فراموش می کنند که هکرها می توانند کدهای مخرب را مستقیماً در دیتابیس تزریق کنند. این کدها معمولاً در جدول options یا posts قرار می گیرند.

  1. وارد phpMyAdmin در پنل هاست خود شوید.
  2. دیتابیس مربوط به سایت وردپرسی خود را انتخاب کنید.
  3. به جدول wp_options بروید. فیلدهای siteurl و home را بررسی کنید. آدرس باید دقیقاً آدرس سایت شما باشد. اگر در انتهای آدرس، کدهای عجیبی دیدید، آن ها را حذف کنید.
  4. جدول wp_users را باز کنید. اگر کاربری با سطح دسترسی administrator دیدید که خودتان نمی شناسید، او را حذف کنید.
  5. در جدول wp_posts، به دنبال پست هایی بگردید که محتوای آن ها شامل اسکریپت های جاوا اسکریپت مخرب یا لینک های ریدایرکت است. آن پست ها را حذف یا ویرایش کنید.
توصیه کارشناس: اگر با دیتابیس آشنایی کافی ندارید، قبل از هرگونه تغییر در جداول، حتماً از دیتابیس خروجی SQL بگیرید تا در صورت بروز اشتباه، بتوانید آن را بازگردانی کنید.

گام چهارم: حذف بک دورها (Backdoors)

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

  • wp-configs.php (با s اضافی)
  • wp-theme.php
  • wp-old.php
  • shell.php
  • c99.php یا r57.php
  • فایل های مخفی که با نقطه شروع می شوند (مثل .wp-config.php)

تغییر رمزهای عبور و بررسی دسترسی ها پس از پاکسازی

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

  1. رمز عبور مدیر وردپرس: یک رمز عبور بسیار قوی و طولانی شامل حروف بزرگ، کوچک، اعداد و نمادها تنظیم کنید.
  2. رمز عبور دیتابیس: از طریق پنل هاست، رمز عبور کاربر دیتابیس را تغییر دهید. سپس فایل wp-config.php را ویرایش کرده و رمز جدید را در آن قرار دهید.
  3. رمز عبور FTP و هاست: تمام رمزهای عبور مربوط به دسترسی به سرور را تغییر دهید.
  4. رمز عبور ایمیل های دامنه: اگر از ایمیل های سازمانی استفاده می کنید، رمز آن ها را نیز تغییر دهید، زیرا ممکن است هکر از طریق ایمیل به سایت نفوذ کرده باشد.
  5. کلیدهای امنیتی وردپرس: در فایل wp-config.php، بخش Authentication Unique Keys and Salts را پیدا کنید. به سایت رسمی وردپرس بروید و کلیدهای جدید تولید کنید و جایگزین کلیدهای قبلی کنید. این کار باعث می شود تمام کوکی های فعال کاربران و هکرها باطل شود و همه مجبور به ورود مجدد شوند.

درخواست بازبینی از گوگل و رفع تحریم سایت

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

  1. وارد حساب Google Search Console شوید.
  2. سایت خود را انتخاب کرده و به بخش Security Issues (مشکلات امنیتی) بروید.
  3. در این بخش، گوگل نمونه هایی از صفحات آلوده را به شما نشان می دهد.
  4. پس از اینکه مطمئن شدید سایت کاملاً پاکسازی شده است، روی دکمه Request a Review (درخواست بازبینی) کلیک کنید.
  5. در کادر توضیحات، به زبان انگلیسی و به صورت خلاصه توضیح دهید که سایت هک شده بود، بدافزارها حذف شدند، هسته وردپرس جایگزین شد و رمزهای عبور تغییر یافتند.
نکته مهم: فرآیند بازبینی گوگل ممکن است از چند ساعت تا چند روز طول بکشد. تا زمانی که پیام رفع تحریم را دریافت نکرده اید، به هیچ وجه سایت را آنلاین نکنید و محتوای جدیدی منتشر نکنید.

راهکارهای طلایی برای جلوگیری از هک مجدد سایت

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

1. حذف کامل افزونه و قالب های نال شده

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

2. استفاده از فایروال سمت سرور (WAF)

یک فایروال برنامه های وب (WAF) مثل کلودفلر (Cloudflare) یا وردفنس (Wordfence) می تواند درخواست های مخرب را قبل از رسیدن به سرور مسدود کند. کلودفلر نه تنها سرعت سایت شما را افزایش می دهد، بلکه آی پی های مخرب و ربات های اسکنر آسیب پذیری را بلاک می کند.

3. محدود کردن دسترسی به پیشخوان وردپرس

برای جلوگیری از حملات Brute Force به صفحه ورود، از افزونه های محدود کننده تلاش برای ورود (Limit Login Attempts) استفاده کنید. همچنین می توانید آدرس صفحه ورود وردپرس (wp-admin) را با افزونه هایی مثل WPS Hide Login تغییر دهید تا هکرها نتوانند صفحه ورود را پیدا کنند.

4. غیرفعال کردن ویرایشگر فایل در وردپرس

وردپرس به صورت پیش فرض اجازه می دهد که فایل های قالب و افزونه ها از داخل پیشخوان ویرایش شوند. اگر هکری به پیشخوان دسترسی پیدا کند، می تواند کدهای مخرب را مستقیماً در فایل ها inject کند. برای جلوگیری از این کار، کد زیر را به فایل wp-config.php اضافه کنید:

define(‘DISALLOW_FILE_EDIT’, true);

5. به روز رسانی مداوم هسته، افزونه ها و قالب ها

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

6. تنظیم مجوزهای صحیح فایل ها (File Permissions)

مجوزهای اشتباه فایل ها می تواند به هکرها اجازه نوشتن یا ویرایش فایل ها را بدهد. مجوزهای استاندارد باید به این صورت باشند:

  • پوشه ها: 755
  • فایل ها: 644
  • فایل wp-config.php: 400 یا 440 (فقط مالک بتواند بخواند)

سوالات متداول درباره حذف بدافزار وردپرس

آیا هک شدن سایت وردپرسی تقصیر خود وردپرس است؟

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

آیا با نصب افزونه امنیتی دیگر نیازی به پاکسازی دستی نیست؟

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

هزینه حذف بدافزار وردپرس چقدر است؟

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

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

برای پیدا کردن حفره نفوذ، باید سیاهه ها (Logs) سرور را بررسی کنید. فایل access.log در هاست شما نشان می دهد که کدام آی پی ها به کدام فایل ها درخواست داده اند. همچنین بررسی تاریخچه نصب افزونه ها و تغییرات اخیر سایت می تواند سرنخ های خوبی به شما بدهد.

آیا اطلاعات دیتابیس من توسط هکرها دزدیده شده است؟

اگر هکر به فایل wp-config.php دسترسی پیدا کرده باشد، به اطلاعات دیتابیس نیز دسترسی داشته است. در صورت هک شدن، فرض را بر این بگذارید که تمام اطلاعات کاربران، ایمیل ها و رمزهای عبور (که البته باید به صورت هش شده ذخیره شوند) لو رفته است. حتماً به کاربران خود اطلاع دهید تا رمزهای عبور خود را تغییر دهند.

جمع بندی نهایی

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