Як перевірити сайт на наявність вірусів: покрокова інструкція

Як перевірити сайт на наявність вірусів: покрокова інструкція
Коли сайт починає поводитися дивно, зазвичай це помічають не одразу. Десь з'являється зайвий редирект, десь браузер скаржиться на небезпечний контент, а іноді проблема спливає лише після скарги користувача або листа від хостингу. У такий момент важливо не панікувати і не натискати підряд на всі кнопки в адмінці. Спочатку потрібно зрозуміти, що саме шукати і як перевіряти сайт безпечно.
Перевірка сайту на віруси — це не лише запуск одного онлайн-сканера. Іноді йдеться про впроваджений шкідливий код у шаблон, іноді — про фішингову сторінку, яку хтось підсунув у папку сайту, а іноді — про прихований редирект, який відправляє відвідувача на чужий ресурс лише за певних умов. Буває і так, що сайт формально «чистий», але заражений один з файлів теми, і цього вже достатньо, щоб пошукові системи почали насторожуватися.
Якщо хочете швидко зорієнтуватися в суміжній темі, знадобиться і гід по перевірці сайту на шахрайство. Там логіка частково збігається: важливо дивитися не тільки на техніку, але й на репутацію, поведінку сторінок і дивні сліди на сайті.
Що значить «перевірити сайт на віруси» і коли це потрібно
Під словом «віруси» в розмовній мові часто мають на увазі все підряд: шкідливий JavaScript, фішингову сторінку, впроваджений iframe, підміну посилань, спам-скрипти, приховані редиректи і навіть небажані спливаючі вікна. На практиці корисно розділяти ці речі, оскільки спосіб перевірки та видалення буде різним.
Фішинг — це коли сайт або його сторінка притворяється чимось іншим: формою входу, банком, інтернет-магазином, сторінкою оплати. Мета проста — вкрасти дані. Шкідливий код — більш широке поняття. Це може бути скрипт, який впроваджує рекламу, підвантажує зовнішній файл, краде сесії або відкриває доступ зловмиснику. Схований редирект — окрема історія: відвідувач, здається, відкриває ваш сайт, але через секунду опиняється на зовсім іншій адресі. І все це може бути не видно при звичайному перегляді головної сторінки.
Швидка перевірка сайту на шкідливий код потрібна, якщо:
- браузер або антивірус попереджає про небезпеку;
- відвідувачі скаржаться на спливаючі вікна, перенаправлення або дивні запити;
- пошукова система позначає сайт як підозрілий;
- в адмінці з'явилися невідомі користувачі або файли;
- сайт почав поводитися не так після встановлення плагіна, теми або оновлення;
- в логах помітні звернення до файлів, яких ви не додавали.
І ще один практичний момент: не вся проблема пов'язана з самим сайтом. Іноді заражається комп'ютер адміністратора, а потім шкідливий код заноситься назад у CMS через FTP або панель управління. Тому перевірка сайту майже завжди йде разом з перевіркою робочих пристроїв.
Підготовка перед перевіркою: що зберегти і де не натискати
Перед тим як відкривати підозрілий сайт і запускати сканери, варто підготувати мінімальний захист. Це не параноя, а нормальна гігієна. Ви ж не лізете в електричний щиток голими руками — з сайтом та ж логіка, тільки ризик інший.
Спочатку збережіть важливі дані. Якщо у вас є доступ до хостингу та панелі управління, зробіть резервну копію файлів і бази даних. Навіть якщо копія вже стара, вона допоможе порівняти, що саме змінилося. Якщо доступу немає, хоча б вивантажте список файлів і зафіксуйте поточну картину: дату зміни, розмір, підозрілі імена.
Далі — обережність при відкритті сайту. Не заходьте з основного робочого пристрою, якщо є сумніви. Краще використовувати окремий браузерний профіль, оновлений антивірус і, по можливості, ізольоване середовище. Не завантажуйте з сайту нічого вручну, поки не зрозумієте, що це за файл. Не авторизуйтесь в адмінці з громадського Wi‑Fi. І не відкривайте вкладення або архіви, які раптово «рекомендують» завантажити після переходу.
Якщо сайт вже викликав підозри, не варто одразу очищати кеш, видаляти «все зайве» і перевстановлювати CMS всліпу. Спочатку зафіксуйте сліди. Потім буде простіше зрозуміти, звідки прийшла проблема. Іноді один дивний файл у корені підказує більше, ніж три години безладного очищення.
Онлайн перевірка сайту на віруси: швидкі сервіси і як ними користуватися
Онлайн перевірка сайту на віруси — найшвидший старт, коли потрібно зрозуміти, чи є явні ознаки зараження. Такі сервіси зазвичай не вимагають доступу до хостингу: ви вводите адресу сайту, і сканер перевіряє сторінку, зовнішні ресурси, підозрілі перенаправлення, чорні списки, а іноді й частину пов'язаних файлів.
Умовно такі сервіси можна поділити на кілька типів. Одні шукають сигнатури шкідливого коду в HTML та JavaScript. Інші перевіряють репутацію домену та наявність у списках блокувань. Треті досліджують поведінку сторінки: чи не веде вона на іншу адресу, чи не підвантажує небезпечний контент, чи не маскується під фішингову форму. Є й комбіновані рішення, які роблять кілька перевірок одночасно.
Працювати з ними просто, але інтерпретувати результати потрібно акуратно. Один тривожний прапор не завжди означає зараження. Наприклад, зовнішній скрипт може бути законним лічильником аналітики, рекламним блоком або віджетом. Зате якщо сервіс показує підозрілий редирект, а другий — невідомий iframe в коді сторінки, це вже привід копати глибше.
Корисно запускати не одну, а кілька незалежних перевірок. Так легше відрізнити реальну проблему від хибного спрацьовування. І обов'язково дивіться, що саме знайшов сервіс: URL сторінки, конкретний фрагмент коду, згадування домену в чорних списках, підозрілу ланцюг переходів. Загальний напис «threat detected» сам по собі ще нічого не пояснює.
Якщо паралельно хочете розібратися в технічній стороні захисту, варто подивитися і як перевірити SSL-сертифікат сайту. Нерідко проблеми з безпекою сусідять: десь сертифікат зламаний, десь трафік йде не за тим сценарієм, а користувач в підсумку бачить попередження і йде.
Перевірка сайту на шкідливий код вручну: ознаки зараження
Автоматичні сервіси корисні, але ручна перевірка часто точніша. Особливо якщо зараження сховане глибоко в шаблоні або вставлене так, щоб спрацювати тільки на певній сторінці. Спочатку дивляться HTML-сторінки і шаблони, потім — підключені скрипти, далі — ланцюг завантаження зовнішніх ресурсів.
Які ознаки повинні насторожити:
- невідомі
script
-блоки та посилання на сторонні домени; - iframe, який не стосується вашого сайту і не пояснюється завданням сторінки;
- редиректи через JavaScript, meta refresh або серверні заголовки;
- код, обфусцований довгими рядками без зрозумілої логіки;
- сховані форми, поля та елементи з display none;
- неочікувані посилання в підвалі, боковій колонці, коментарях або блоках реклами;
- підозрілі виклики eval, document.write та подібних механізмів;
- файли з іменами на кшталт cache.php, temp.php, update.php в несподіваних місцях.
Якщо шаблон сайту давно не оновлювався, а в ньому раптово з'явився новий блок скрипта, це майже завжди привід зупинитися і перевірити джерело. Іноді зловмисник маскує вставку під «службовий код» або навіть вставляє коментарі, щоб файл виглядав звичайним. І так, злі жарти з розряду «ну це, напевно, від теми» тут зазвичай закінчуються втратою часу.
Окремо перевіряйте редиректи. Вони можуть бути не тільки в коді сторінки, але й у .htaccess, у конфігурації сервера, у плагінах або в JS-файлах. Користувач відкриває головну, а через секунду потрапляє на інший сайт — і причину іноді доводиться шукати не на сторінці, а в правилах маршрутизації.
Покрокова перевірка файлів, CMS та бази даних
Якщо потрібен системний підхід, перевіряйте сайт по шарам. Так простіше не пропустити джерело зараження і не видалити зайве.
-
Порівняйте поточні файли з резервною копією або «чистою» версією CMS. Шукайте нові файли, змінені дати, незвичайні розміри та дивні назви.
-
Перевірте ядро CMS. Якщо змінювалися системні файли, це тривожний знак. В нормі оновлення має бути прозорим і зрозумілим.
-
Перегляньте плагіни та теми. Саме туди шкідливий код часто встраюється після зламу, оскільки ці папки змінюються найчастіше і менше кидаються в очі.
-
Пошукайте підозрілі вставки в конфігураційних файлах. Іноді зараження живе в місцях, які рідко відкривають вручну.
-
Перевірте базу даних на чужі посилання, приховані HTML-вставки, нові адміністративні облікові записи та дивні значення в полях налаштувань.
-
Порівняйте вміст сторінок до і після зараження, якщо у вас є архіви. Особливо уважно дивіться текстові блоки, футер та поля, які виводяться автоматично.
В базі даних іноді ховають не тільки контент, але й код для підвантаження зовнішніх скриптів. Тому, якщо на сайті все виглядає нормально у файлах, а підозріла поведінка зберігається, причина може бути саме там. Це той випадок, коли механічне «я ж видалив файл, чому не допомогло?» не спрацьовує.
Ще один важливий момент — перевірка користувачів і прав доступу. Після злому часто залишаються нові адміністратори, а старі облікові записи отримують розширені права без видимої причини. Перевірте список акаунтів, останні входи, зміну паролів і дії в адмінці.
Як перевірити сайт через інструменти веб-майстра та антивірусні сканери
Коли базова ручна перевірка вже проведена, корисно підключити інструменти, які бачать сайт з боку. Вони не замінюють внутрішню діагностику, але чудово доповнюють її. Тут особливо важливі панелі для веб-майстрів, серверні логи, антивірусні сканери та сервіси репутації домену.
Панелі для вебмайстрів показують попередження про шкідливі сторінки, проблеми з індексацією, фішингом і підозрілі перенаправлення. Це один з перших сигналів, якщо сайт вже потрапив у поле зору пошукових систем. У логах сервера можна побачити несподівані звернення до файлів, часті помилки авторизації, підозрілі POST-запити та активність у неробочий час. Іноді саме лог стає відправною точкою: ніби все спокійно, а потім бачиш цілий потік запитів до невідомого скрипту.
Антивірусні сканери на сервері корисні, якщо у вас є доступ до файлової системи. Вони шукають сигнатури шкідливого коду, підозрілі архіви, шелли та файли з нетиповою поведінкою. Однак до них також потрібен здоровий підхід: сканер може пропустити нову модифікацію або, навпаки, відзначити легітимний файл як небезпечний. Тому результати краще співвідносити з ручною перевіркою.
Сервіси репутації домену допомагають зрозуміти, як сайт видно ззовні. Якщо домен раптово потрапив у чорні списки, це вже не просто внутрішній збій. Значить, проблема помітна і за межами вашого сервера. Для більш глибокої оцінки корисно звіряти результат одразу в кількох джерелах і не покладатися на одне попередження.
Якщо хочете розширити інструментальну частину, зверніть увагу і на перевірку сайту на наявність прихованих підписок. Іноді небажані схеми маскуються під звичайні сервіси, і тоді зараження виглядає не як «вірус», а як ланцюг нав'язаних дій.
Що робити, якщо виявлено віруси або шкідливий код
Головне правило — не залишати сайт в роботі, якщо ви не впевнені, що проблема локалізована. Спочатку ізолюйте його від відвідувачів, якщо це можливо. Іноді достатньо тимчасово закрити доступ до заражених розділів або включити режим обслуговування.
Далі видаліть заражені файли або замініть їх чистими версіями з резервної копії. Якщо шкідливий код вбудований у тему, плагін або ядро, краще перевстановити компонент з офіційного джерела, а не вичищати його вручну по шматках. Коли зараження торкнулося бази даних, доведеться прибрати підозрілі вставки, перевірити користувачів і переглянути вміст усіх автоматичних полів.
Після очищення обов'язково змініть паролі: до адмінки, FTP/SFTP, хостингу, бази даних, пошти та пов'язаних сервісів. Якщо пароль десь повторювався, змініть і там. Інакше стара лазейка дуже швидко стане новою.
Потім оновіть CMS, плагіни, теми та серверне ПЗ, якщо є доступ. Багато заражень використовують старі вразливості, і поки вони не закриті, повторне проникнення — питання часу. Після цього проведіть повторну перевірку сайту на віруси, краще кількома методами одночасно.
І ще: не забувайте про спостереження після відновлення. Перші дні особливо важливі. Перевіряйте логи, індексацію, вміст сторінок і поведінку форм. Іноді шкідливий код залишає «резервну копію» або прихований шлях, який активується пізніше.
Як захистити сайт від повторного зараження
Найкраще лікування для сайту — не героїчна чистка після злому, а нормальна профілактика. Вона нудніша, зате набагато дешевша за часом і нервами.
- оновлюйте CMS, плагіни та теми без затримок;
- видаляйте невикористовувані розширення та старі шаблони;
- обмежуйте права доступу на файли та каталоги;
- не зберігайте однакові паролі для різних сервісів;
- включайте двофакторну аутентифікацію, де це можливо;
- робіть регулярні резервні копії та перевіряйте, що їх можна відновити;
- слідкуйте за логами та попередженнями хостингу;
- періодично запускайте онлайн перевірку сайту на віруси та ручний огляд ключових файлів.
Окремо варто перевірити комп'ютери, з яких ви управляєте сайтом. Якщо зараження приходить через FTP-клієнт або браузерну сесію, чистий сервер сам по собі не врятує. А ще корисно періодично переглядати список доступів: хто має вхід в адмінку, хто знає резервні коди, хто може змінювати DNS. Іноді проблема не в коді, а в занадто широких правах.
Якщо підійти до питання системно, перевірка сайту на наявність вірусів перестає бути екстреним ритуалом і стає звичайною частиною обслуговування. І це, мабуть, найкращий вихід: не гасити пожежу, а не давати їй розгорітися.



