2.15.2.2. Очищення від вірусів

Увага!

Інформація в статті носить рекомендаційний характер і не надає точних інструкцій щодо очищення сайту від вірусів. Очищати сайти від вірусів потрібно самостійно або із залученням сторонніх профільних фахівців.

Коли антивірус на хостингу при скануванні знаходить шкідливий код, власнику хостинг-акаунта надсилається сповіщення з інформацією про проблему. Шкідливий код необхідно обов'язково видалити, оскільки через нього можуть виникати проблеми з безпекою даних як зараженого сайту, так і сусідніх сайтів у цьому ж хостинг-акаунті.

Видаляти шкідливий код слід після ознайомлення з результатами антивірусного сканування та аналізу самого шкідливого коду. Просте видалення шкідливого коду може спричинити проблеми в роботі сайту через його втручання у важливі скрипти системи сайту.

Одного лише очищення сайту від шкідливого коду часто недостатньо для забезпечення безпеки сайту. Додатково потрібно виявити джерело зараження і усунути його. Без таких дій повторне зараження може бути лише питанням часу.

Рекомендуємо використовувати додаткові інструменти перевірки сайту на віруси, наприклад WPScan.

Увага!

Перед виконанням будь-яких дій створіть резервну копію сайту та бази даних і завантажте її собі, щоб гарантувати можливість відновлення даних, якщо щось піде не так.

Видалити віруси можна декількома способами:

  • Відновити резервну копію файлів сайту до моменту появи вірусного коду.
  • Видалити віруси вручну.

Увага!

Ми регулярно оновлюємо базу даних сигнатур антивіруса, тому можливі ситуації, коли віруси були на сайті задовго до їх виявлення і будуть присутні в резервних копіях.
Для ситуації із зараженням файлу functions.php теми оформлення в WordPress доступна окрема інструкція.

Для очищення хостинг-акаунта від шкідливого коду ознайомтеся з результатами антивірусного сканування і усуньте всі знайдені зауваження. Необхідно відкрити кожен із заражених файлів, уважно вивчити його вміст і видалити з нього фрагменти шкідливого коду (антивірус виділяє у файлі тільки знайдені сигнатури, вірусний код може бути в інших частинах файлу і не бути виділеним, важливо перевірити весь файл і видалити підозрілі дані). Повністю видаляти заражені файли потрібно тільки в тому випадку, якщо вони повністю складаються зі шкідливого коду.

Можна повністю замінити файли сайту на ідентичні з власної резервної копії або з офіційних джерел. Наприклад, більшу частину файлів WordPress можна знайти в репозиторії на GitHub.

Для пошуку та редагування файлів можна використовувати файл-менеджер панелі керування або будь-який FTP-клієнт.

Зверніть увагу на код, який зашифрований в Base64. Саме в такому вигляді досить часто розміщують шкідливий код. Розшифрувати такий закодований код можна за допомогою спеціалізованих сервісів, наприклад base64decode.org або base64.guru.

До небезпечних функцій PHP можна віднести: eval, exec, shell_exec, system, passthru. При виявленні таких функцій на них варто звернути особливу увагу, оскільки вони часто використовуються в шкідливому коді.

Для пошуку джерела зараження слід аналізувати логи доступу сайту на предмет підозрілих запитів до нього. У логах варто перевірити дані за дату останніх змін вірусних файлів.

Увага!

Дата останньої зміни не завжди відповідає реальній даті створення вірусних файлів, не слід орієнтуватися тільки на неї. Зараження сайту могло статися набагато раніше, але поява вірусних файлів, виявлених нашим антивірусом, була спричинена якимось «тригером» (надсилання певних запитів, запуск скриптів, оновлення файлів з віддалених серверів тощо).

До підозрілих запитів можна віднести:

  • Запити методом POST і PUT.
  • Запити до адмін-панелі сайту зі сторонніх IP-адрес.
  • Запити до захищених каталогів типу system або storage (залежно від використовуваної CMS деякі каталоги можуть бути системними для сайту і мають бути захищені від доступу ззовні).
  • Запити, в яких фігурує закодований текст у вигляді Base64 тощо, або SQL-запити.
  • Запити до нещодавно встановлених плагінів.

Крім перевірки логів доступу сервера варто також перевірити логи FTP, логи вихідних з'єднань і логи авторизації в панелі керування. Якщо у логу були знайдені підозрілі записи, варто змінити паролі FTP-користувачів, користувачів баз даних (потребує оновлення паролів в конфігураційних файлах сайтів) і облікового запису, додатково встановивши двоетапну аутентифікацію. Згенерувати нові складні паролі можна за допомогою нашого генератора паролів або аналогічного сервісу. Якщо були знайдені вихідні з'єднання, яких не має бути, можна встановити обмеження на всі або певні вихідні з'єднання для всього хостинг-акаунта на час усунення проблеми.

Після перевірки логів потрібно перевірити файли сайту на наявність стороннього коду. В першу чергу варто перевіряти файли нещодавно встановлених плагінів і модулів. Важливо остерігатися неофіційних плагінів і модулів, особливо якщо вони є платними, але були отримані безкоштовно зі сторонніх сайтів. Якщо такі є — то їх слід видалити або відновити резервну копію сайту до моменту їх встановлення.

Відмовтеся від будь-яких файлових менеджерів на самому сайті. У більшості випадків вони небезпечні і можуть становити загрозу.

Увага!

Всі сайти в одному хостинг-акаунті можуть бути заражені одночасно через вразливості одного сайту. Повністю ізолювати сайти один від одного можливо тільки шляхом розміщення їх в окремих хостинг-акаунтах.

Для забезпечення безпеки сайту див. Рекомендації щодо захисту від злому.

Зміст

    (3)

    Коментарі

    chechelnitskiy_serhii
    Важливо остерігатися неофіційних полігонів і модулів - не полігонів, а плагінів
    karlov
    Дякуємо за зауваження. Виправили цю та інші помилки.