ویروسها همیشه برای حمله به سایت شما در کمین هستند؛ حتی اگر از محبوبترین و امنترین CMS دنیا، یعنی وردپرس استفاده کنید!
این ویروسها معمولاً با سوءاستفاده از نقص در پروتکلهای امنیتی سایت شما، یک راه نفوذ کوچک به سایتتان پیدا میکنند و ممکن است با حمله ویروسی مواجه شوید.
در این شرایط، کار از کار گذشته است و دیگر تقویت سیستمهای امنیتی، نمیتواند نجاتتان دهد؛ بنابراین، باید با تکنیکهای حذف ویروس از سایت وردپرسی آشنا باشید تا در شرایط اضطراری بتوانید از آنها استفاده کنید.
پس اگر سایت شما ویروسی شده است یا حتی به بروز حملات سایبری کمی هم شک دارید، حتما با این مقاله همراه باشید؛ چون روی صحبت ما دقیقا با خودِ خودِ شماست!
نحوه حذف ویروس از سایت وردپرسی (۲ روش)
برای اینکه بتوانید ویروسها را از فضای وردپرس پاک کنید، یک روش میانبر و یک روش تخصصی وجود دارد. روش میانبر، استفاده از افزونه آنتی ویروس وردپرسی است که برای همه افراد قابل استفاده است؛ اما روش دوم که کمی هم تخصصی است، بدون افزونه انجام میشود و باید کمی دانش فنی این کار را داشته باشید.
روش اول: حذف ویروس و بدافزار با پلاگین
سادهترین و سریعترین روش برای حذف ویروس از سایت وردپرسی استفاده از پلاگین Jetpack Scan است. این افزونه، به صورت تکی یا به شکل یک مجموعه امنیتی گسترده وردپرسی قابل نصب است. با این برنامه میتوانید طی فرایند زیر و با چند کلیک ساده، سایت وردپرسی خود را از ویروسها و بدافزارها پاکسازی کنید.
۱. نصب افزونه و اسکن سایت
در قدم اول باید مطمئن شوید که سایتتان واقعاً ویروسی شده یا نه. برای این کار افزونه Jetpack Scan را نصب کنید و پس از نصب آن، سایت خود را به کمک این افزونه اسکن کنید. برای این کار، کافی است پلاگین را باز کنید و روی دکمه «Scan now» بزنید.
۲. پاکسازی بدافزارها
در صورتی که پس از اسکن، با پیام «Malware Threats Found» مواجه شدید و لیست ویروسهایی را که این افزونه شناسایی کرده است مشاهده کردید، میتوانید شروع به حذف آنها کنید. برای این کار، کافی است روی گزینه «Remove threat» که پس از هر مورد نمایش داده میشود، بزنید.
۳. حذف هشدارهای ویروسی
اگر گوگل متوجه شود که سایت شما درگیر حمله ویروسی شده است، حتی پس از حذف ویروس از سایت وردپرسی نیز ممکن است به کاربرانی که میخواهند وارد سایت شوند هشدار امنیتی بدهد. این موضوع، روی اعتماد کاربران تاثیر میگذارد و ترافیک ورودی سایت را بهطور قابل توجهی کاهش میدهد.
برای حذف هشدارهای امنیتی گوگل از روی سایت، ابتدا فرایند حذف ویروسها را به پایان برسانید و پس از آن، برای گوگل درخواست بازبینی را از طریق این لینک ارسال کنید. گوگل این درخواست را بررسی میکند و در صورتی که دیگر مشکل بدافزاری در سایت شما وجود نداشته باشد، هشدارها را حذف خواهد کرد.
روش دوم: حذف ویروس وردپرس بدون پلاگین
اگرچه استفاده از افرونه جتپک اسکن، روش سریع و آسانتری است؛ اما گاهی اوقات ممکن است برخی ویروسها با استفاده از این پلاگین شناسایی نشوند. در چنین شرایطی، بهتر است یک روش دستی بلد باشید تا بتوانید در موارد خاص از آن استفاده کنید.
این روش، کمی پیچیده و زمانبر است و برای استفاده از آن، باید دانش فنی کافی داشته باشید و صبر و حوصله بسیار زیادی به خرج دهید تا به دادههایتان آسیبی نرسد؛ به همین دلیل پیشنهاد میکنیم ابتدا روش اول را امتحان کنید و اگر به نتیجه دلخواه خود نرسیدید، سراغ روش دوم، یعنی حذف ویروس از سایت وردپرسی به روش دستی، بیایید.
۱. دسترسیها را محدود کنید
در اولین قدم، خیلی سریع باید دسترسی کاربران به سایت خود را محدود کنید. در غیر این صورت، ممکن است بدافزارها به سیستم کاربران نیز حمله کنند یا آنها را به سایتهای فیشینگ هدایت کنند.
شما بهعنوان مالک سایت، وظیفه دارید امنیت کاربران خود را تامین کنید؛ بنابراین، قبل از شروع فرایند حذف ویروس وردپرس، به شکل زیر، دسترسی IP کاربران غیر از خودتان را به سایت محدود کنید:
- وارد Cpanel شوید و گزینه File manager یا همان مدیریت فایل را پیدا کنید و وارد آن شوید.
- در این بخش، دایرکتوری public_html را باز کنید و سپس دو بار روی فایل .htaccess کلیک کنید.
- در صفحهای که باز میشود، کدهای دستوری زیر را اضافه کنید:
- در بخش your_ip_address، باید IP ثابت سیستم خود را وارد کنید. در صورتی که آیپی ثابت نداشته باشید، باید بهطور منظم این فرایند را انجام دهید و فایل .htaccess را بهروز کنید.
- در نهایت، گزینه ذخیرهسازی را که بهصورت یک دیسک در گوشه صفحه مشخص شده است بزنید تا تغییرات اعمال شوند.
با این کار، تا زمانی که سایت را پاکسازی کنید، فقط خودتان به آن دسترسی خواهید داشت و دیگر هیچکس نمیتواند محتواهای شما را ببیند.
برای اینکه کارتان سادهتر شود، میتوانید از افزونههایی مانند WP Maintenance Mode & Coming Soon کمک بگیرید تا محتوای سایتتان تا پایان حذف ویروسها از دید کاربران پنهان بماند. کافی است پس از نصب افزونه، از بخش Settings سراغ گزینه WP Maintenance Mode بروید. سپس، گزینه Activated را فعال کنید و در نهایت، دکمه Save را بزنید تا تغییرات ذخیره شود.
۲. از فایلهای خود بکآپ بگیرید
اگر جزو آن دسته از افرادی هستید که به طور منظم از دادههای سایت خود نسخه پشتیبان تهیه میکنید یا از هاستی استفاده میکنید که امکان پشتیبانگیری خودکار دارد، کارتان درست است! چون این کار باعث میشود خیلی سریعتر متوجه شوید که ویروس، کدام بخشها را آلوده کرده است و زودتر میتوانید مشکل را حل کنید.
وقتی پس از حمله ویروسی، از سایت خود بکآپ بگیرید و آن را با فایلهای قبلی مقایسه کنید، بهراحتی متوجه تغییرات میشوید و کدهای مخرب را شناسایی میکنید.
برای اینکه بتوانید یک نسخه پشتیبان از سایت خود تهیه کنید، باید طبق فرایند زیر پیش بروید:
- در منوی مدیریت وبسایت، ابتدا گزینه Files و سپس گزینه Backups را انتخاب کنید.
- در این بخش دو گزینه برای پشتیبانگیری خواهید داشت؛ یکی Files Backups و دیگری Database Backup؛ برای هر دو مورد باید کارهای زیر را انجام دهید:
- روی بخش مورد نظر خود کلیک کنید و در صفحهای که باز میشود، روی گزینه Download all files بزنید.
- صبر کنید تا تمامی فایلها برای دانلود آماده شوند و سپس، گزینه Download Backup را انتخاب کنید.
اگر حس میکنید این فرایند بیش از حد برایتان پیچیده است، میتوانید از افزونههایی مانند Jetpack Backup برای پشتیبانگیری استفاده کنید. این افزونه، بهطور منظم و خودکار از دادههای شما نسخه بکآپ تهیه میکند و با نصب آن، تمام تغییرات سایت شما موبهمو ثبت خواهند شد.
۳. آخرین تغییرات را بررسی کنید
اگر میخواهید از ویروسی شدن سایت وردپرس خود مطمئن شوید، میتوانید تغییرات سایت را بررسی کنید. این کار به شما کمک میکند که فایلهایی را که مورد حمله قرار گرفتهاند، شناسایی کنید و در فرایند حذف ویروس از سایت وردپرسی، بتوانید سریعتر پیش بروید.
برای بررسی تغییرات، ۴ روش مختلف وجود دارد که بهتر است برای محکمکاری، همه آنها را امتحان کنید تا هیچ فایل یا کد مخربی از زیر دستتان در نرود:
راه اول
در صورتی که از سرورهای لینوکسی استفاده میکنید، میتوانید با استفاده از کدهای دستوری، تغییرات اخیر سایت خود را لیست کنید. برای انجام این کار، به کمک کلاینت PuTTY به سرور اصلی خود متصل شوید و سپس، کدهای دستوری زیر را اجرا کنید:
به جای عبارت file_extension باید فرمت فایلهای مورد نظر خود را وارد کنید؛ مثلا PHP یا JS. این نوع فایلها هدف اصلی ویروسها هستند و عموما اگر سایتی با حمله بدافزاری مواجه شود، ابتدا این فایلها تغییر خواهند کرد. به جای n- در پایان کد دستوری نیز باید مقدار زمانی مورد نظر خود را وارد کنید. مثلا با ورود مقدار ۳-، تغییرات ۳ روز گذشته را مشاهده خواهید کرد.
راه دوم
برای بررسی ویروس ریدایرکت وردپرس، میتوانید در کدهای بکاند خود، به دنبال خطوطی بگردید که با Script= یا iframe src=URL شروع میشوند. با این کار، میتوانید متوجه شوید که سایت شما به آدرسهای ناآشنا لینک میدهد یا نه. در صورتی که لینک ناشناسی وجود داشته باشد، باید آن را پاکسازی کنید؛ زیرا این نشانه یک حمله ویروسی است.
راه سوم
در این روش، باید وارد cPanel شوید و از قسمت File Manager، سراغ پوشه Public_html بروید. از نوار بالایی صفحه، ترتیب فایلها را روی Date Modified تنظیم کنید تا بر اساس جدیدترین تغییرات نمایش داده شوند. در صورتی که در هر یک از این فایلها کد مشکوکی مشاهده کردید، آن را حذف کنید. البته، به یاد داشته باشید که تشخیص و حذف کدهای مشکوک، نیاز به دانش کافی در زمینه کدنویسی و آشنایی کامل با وردپرس و PHP دارد.
راه چهارم
در صورتی که به روشهای فنی و کدنویسی آشنایی نداشته باشید، ممکن است روش قبلی برایتان کمی پیچیده باشد. در این شرایط، میتوانید سراغ پلاگینهایی همچون Malwarebytes بروید که بهعنوان اسکنر ویروس در سایتهای وردپرسی عمل میکنند. البته، این پلاگینها به اندازه روش قبلی دقیق و کامل نیستند، اما میتوانند خیلی سریع عمل کنند و بیشتر تغییرات را به شما نشان دهند.
۴. رمز عبورها را بهروز کنید
پیشزمینه بعدی برای حذف ویروس وردپرس، این است که رمزهای خود را بهروزرسانی کنید و تمامی آنها را تغییر دهید. با این کار، دسترسی به سایت شما کاملا محدود میشود و دیگر بدافزارها نمیتوانند به آن دسترسی داشته باشند.
برای این کار وارد cPanel خود شوید و مراحل زیر را طی کنید:
- وارد قسمت Preferences شوید.
- گزینه Password & Security را انتخاب کنید تا وارد بخش تغییر رمزها شوید.
- رمز تمامی حسابهای کاربری متصل به سایت را تغییر دهید تا در معرض خطر نفوذ نباشند.
همچنین، بهتر است تمامی رمزعبورها و اعتبارنامههای موجود در پنل مدیریت سایت، پایگاه دادهها، پروتکل انتقال فایل (FTP) و سایر بخشها را بهروزرسانی کنید تا تهدیدهای امنیتی به حداقل برسند.
۵. لینکهای سمبولیک را موقتاً پاک کنید
Symlinks یا لینکهای نمادین و سمبولیک، نوعی میانبر پیشرفته هستند که باعث میشوند فضای اضافی در سیستم اشغال نشود. این لینکها، گاهی سیستم را در معرض حمله بدافزارها قرار میدهند؛ زیرا ویروسها بهراحتی میتوانند از طریق این میانبرها به فایلهای مهم و حساس دسترسی پیدا کنند. در چنین شرایطی، بهتر است از محیط SSH با استفاده از کد دستوری زیر، لینکهای نمادین را حذف کنید:
البته پس از اینکه ویروسها را از سیستم خود حذف کردید، باید طی مراحلی این لینکها را دوباره ایجاد کنید تا عملکرد سایت مختل نشود.
۶. رایانه شخصی خود را اسکن کنید
گاهی اوقات، ویروسی شدن سایت وردپرسی، ممکن است باعث آلوده شدن کل رایانه شما شود. بنابراین، پیش از اقدام برای حذف ویروس از سایت وردپرسی، مطمئن شوید که سیستم شما آلوده نشده است. در صورتی که بدافزارها به رایانه شخصی شما هم نفوذ کردهاند، حتما طی فرایند پاکسازی ویروس از فضای وردپرس، سیستم خود را هم به کمک آنتیویروسهای قوی و معتبر پاکسازی کنید.
۷. یک نسخه جدید از وردپرس را نصب و فایلها را جایگزین کنید
یکی از دلایل بهروزرسانی منظم نسخههای وردپرس، بهبود پروتکلهای امنیتی آن است. به همین دلیل، اگر نسخه وردپرس خود را بهروزرسانی نکنید، احتمال بروز اختلالهای امنیتی در آن بسیار بیشتر میشود و احتمال ویروسی شدن سایت وردپرسی شما بیشتر خواهد شد.
برای حذف ویروس وردپرس، ابتدا طبق مراحل زیر، یک نسخه جدید و بدون ویروس از وردپرس نصب کنید:
- نسخه جدید وردپرس را از سایت WordPress.org نصب کنید.
- فایل را از حالت فشرده خارج کنید و دو پوشه wp-config.php و wp-content را از آن پاک کنید.
- از قسمت File manager در cPanel فایلها را از طریق FTP آپلود کنید.
۸. کدهای مخرب را از wp-config.php پاک کنید
بخش قابل توجهی از ویروسهای وردپرسی، به فایلهای wp-config.php حمله میکنند. به همین دلیل باید بتوانید این فایلها را پاکسازی کنید تا اطلاعات سایت شما در معرض خطر جدی قرار نگیرند. برای این کار، باید یک نسخه جدید و کاملا عاری از ویروس از wp-config.php را دانلود کنید و آن را در یک ویرایشگر کد باز کنید. سپس، نسخه wp-config.php فعلی سایت خود را نیز در ویرایشگر باز کنید و مقایسه را شروع کنید.
این فرایند میتواند بسیار زمانگیر باشد؛ اما در عوض، خیال شما راحت میشود که هیچ چیز مشکوکی در کدهای شما وجود ندارد. در صورت مشاهده موارد مشکوک، آنها را حذف کنید و در نهایت، فایل wp-config.php خود را ذخیره کنید. سپس، این فایل پاکسازی شده را روی سرور خود آپلود کنید تا سایت بهدرستی اجرا شود.
۹. قالب سایت را آپدیت کنید
علاوه بر خود وردپرس، بهتر است افزونهها و قالبها را هم بهطور منظم بهروزرسانی کنید تا احتمال نفوذ ویروسها را به حداقل برسانید. این کار فرایند چندان طولانی و پیچیدهای ندارد؛ با این حال اگر از Child theme استفاده میکنید و نمیخواهید حالت سفارشی سایتتان به هم بخورد، باید طبق مراحل زیر پیش بروید:
- از داشبورد وردپرس، گزینه Appearance و سپس گزینه themes را انتخاب کنید و از این بخش، تم اصلی خود را کاملا غیرفعال کنید.
- در مرحله بعدی، سراغ cPanel بروید و از طریق File Manager یا FTP خود، پوشه مربوط به تم اصلی را کاملا پاک کنید.
- آخرین نسخه تم مورد نظر خود را دانلود کنید و آن را نصب و فعال کنید.
با انجام این فرایند، پوشههای Child theme دست نخورده باقی میمانند و پس از نصب مجدد تم اصلی، میتوانید مجددا آن را فعال کنید.
۱۰. نسخه PHP خود را به روز رسانی کنید
در فرایند پاکسازی ویروس از سایت وردپرسی، بهروزرسانی نسخه PHP را هم فراموش نکنید؛ زیرا این زبان برنامهنویسی به شدت مستعد حمله بدافزارهاست و باید خیلی مراقب آن باشید. برای این کار میتوانید وارد محیط cPanel شوید و طبق مراحل زیر پیش بروید:
- به قسمت Software بروید.
- روی گزینه Select PHP Version بزنید.
- جدیدترین نسخه PHP را که هاست شما از آن پشتیبانی میکند انتخاب کنید.
خود وردپرس، پیشنهاد میکند از نسخههای PHP ۷.۴ یا بالاتر استفاده کنید. این نسخهها، با جدیدترین ورژن وردپرس هماهنگی دارند و کمتر در معرض آسیب بدافزارها قرار میگیرند.
۱۱. جدولهای دیتابیس خود را پاکسازی کنید
برای حذف ویروس از سایت وردپرسی، حتما باید حمله به پایگاه دادههای خود را هم بررسی کنید. اصولا پس از حمله بدافزاری، محتواهای مخرب در دیتابیس سایت جایگزین میشوند و عملکرد آن را مختل میکنند.
برای پاکسازی دیتابیس، وارد cPanel شوید و از منوی Databases وارد بخش phpMyAdmin شوید. سپس، فایلهای موجود را با نسخههای پشتیبان قبلی که از سایت خود دارید مقایسه کنید تا بتوانید متوجه تغییرات شوید و فایلهای مخرب را حذف کنید. این کار بهصورت دستی خیلی طول میکشد، اما میتواند باعث پاکسازی عمیق سایت شود.
توجه داشته باشید که به هیچ عنوان بدون داشتن نسخه پشتیبان از سایت، این کار را انجام ندهید؛ چون ممکن است پس از آزمودن سایت، متوجه شوید که برخی اطلاعات مهم را به اشتباه به همراه ویروسها حذف کردهاید و اگر بکآپ نداشته باشید، دیگر برای بازگشت اطلاعات کاری از دستتان برنمیآید.
۱۲. راههای پنهان را بیابید و مسدود کنید
مجرم همیشه به صحنه جرم برمیگردد! به همین دلیل، همیشه راهی برای بازگشت خود هم باقی خواهد گذاشت. ویروسهای وردپرسی، همیشه یک راه مخفی برای خود ایجاد میکنند تا از آن راه، وارد سایت شوند. برای پیدا کردن این راههای نفوذ، پوشههای مهم از جمله wp-content/plugins، wp-content/uploads و wp-content/themes را در قسمت File manager بررسی کنید.
در این فرایند، بهتر است توابع PHP زیر را به دقت بررسی کنید:
- exec
- system
- assert
- base64
- str_rot13
- gzuncompress
- eval
- stripslashes
- preg_replace (with /e/)
- Move_uploaded_file
البته لزوما همه این توابع آلوده به ویروس نیستند؛ بلکه از نحوه استفاده از آنها میتوان فعالیتهای بدافزاری را تشخیص داد.
شناسایی و حذف ویروس از سایت وردپرسی چه لزومی دارد؟
واقعا انجام تمام این کارها برای حذف ویروس سادهای که حتی متوجه ورود آن هم نشدهایم لازم است؟ بله، به چند دلیل:
۱. سایتهایی که درگیر ویروس باشند، از نظر گوگل معتبر نیستند
گوگل، حملههای ویروسی را در مدت کوتاهی تشخیص میدهد و با ارائه هشدارهایی، آن را به کاربرانی که میخواهند وارد سایت شما شوند گوشزد میکند. این موضوع میتواند روی اعتماد کاربران و اعتبار سایت تاثیر منفی داشته باشد و باعث کاهش ترافیک و افت رتبه سایت شود.
۲. حملههای بدافزاری، باعث کاهش امنیت دادهها میشوند
ویروسها با اهداف متفاوتی وارد سایتها میشوند، اما اصلیترین هدف آنها، دزدی یا تخریب دادههای مهم سایت و کاربران آن است. اگر خیلی سریع برای حذف ویروس اقدام نکنید، اطلاعات سایت شما و کاربرانی که از آن استفاده میکنند به خطر میافتد و امنیت و اعتبار سایتتان خدشهدار خواهد شد.
۳. ویروسها عملکرد سایت را مختل میکنند
برخی ویروسهای وردپرسی، میتوانند باعث کندی سرعت سایت، کار نکردن لینکهای مهم یا عدم نمایش برخی صفحات شوند. این اتفاق، روی تجربه کاربری تاثیر منفی دارد و به مرور، باعث میشود نرخ ورود کاربران به سایت و میزان ماندگاری آنها در صفحات شما کاهش پیدا کند.
۴. ویروسها میتوانند به سیستمها سرایت کنند
اگر خیلی سریع برای حذف ویروس وردپرسی اقدام نکنید، ممکن است رایانه شخصی شما و کاربرانی که از سایت استفاده میکنند، درگیر شود. شاید خود شما بتوانید چنین مشکلی را رفع کنید، اما کاربران با ویروسی شدن سیستمهایشان، دیگر به سایت شما اعتماد نخواهند کرد.
۴ نکته کلیدی برای افزایش امنیت وردپرس در برابر بدافزارها
قطعا همیشه پیشگیری بهتر از درمان است. اگر میخواهید مراحل سخت و پیچیده حذف ویروس وردپرس را طی نکنید، بهتر است از همان ابتدا سیستم امنیت سایت خود را طوری بچینید که بدافزارها تا جای ممکن نتوانند به آن نفوذ کنند.
برای حفظ امنیت سایت خود، ۴ نکته مهم را در نظر داشته باشید:
۱) استفاده از افزونههای اسکن بدافزار
همیشه سعی کنید یک پلاگین اسکنر خوب و قابل اعتماد روی سایت وردپرسی خود نصب کنید. استفاده از پلاگینهایی که به شکل خودکار سایت را اسکن میکنند و حملات ویروسی را اطلاع میدهند، باعث میشود کار به مراحل حاد نرسد و خیلی سریع از بروز مشکلات جدی جلوگیری شود. پلاگین Jetpack Scan یا گزینههای مشابه آن، در این زمینه بسیار کارساز و مفید خواهند بود.
۲) استفاده از افزونههای بکاپگیری خودکار
مشغلهها باعث میشوند گاهی بدیهیترین و مهمترین کارها هم فراموش شوند؛ بنابراین، هیچکس انتظار ندارد که شما دقیقا قبل از حمله ویروسها، از سایت خود پشتیبانگیری کرده باشید! بهتر است برای اینکه خیالتان راحت شود، از افزونههایی استفاده کنید که به شکل منظم و خودکار از سایت شما نسخه پشتیبان تهیه میکنند. افزونههایی همچون Jetpack Backup میتوانند برای تهیه بکاپ منظم به شما کمک کنند.
۳) انتخاب یک گذرواژه سخت و پیچیده
انتخاب گذرواژه را دست کم نگیرید! گذرواژههای ساده و قابل حدس، یک راه نفوذ بزرگ برای حمله به سایت شما باز خواهند کرد. سعی کنید از نرمافزارهای رمزساز استفاده کنید و پسوردها را در جایی امن برای خود نگه دارید تا احتمال نفوذ را به کمترین حالت ممکن برسانید.
۴) بهروزرسانی مرتب قالب و افزونهها
وقتی نسخه وردپرس یا قالب سایت شما قدیمی باشد، دیگر شرکت ارائهدهنده از آنها پشتیبانی نمیکند. همین موضوع باعث میشود پروتکلهای امنیتی به مرور دچار مشکل شوند و پس از مدتی، راه ورود ویروس به سایت کاملا باز شود. بنابراین، اگر میخواهید وبسایت خود را ایمن کنید، حتما از جدیدترین نسخه وردپرس و قالبهای وردپرسی استفاده کنید.