Перейти к содержанию
  • записей
    5
  • комментариев
    15
  • просмотров
    1 498

Вирусы на сайте, как избавиться?


halfhope

1 106 просмотров

В статье представлено описание алгоритма/подхода для очистки от вирусов сайта на OpenCart. Эта статья рекомендована для технически подкованных пользователей, которые хорошо понимают код, а так же способны сами искать и применять широкий ассортимент ПО для решения задач. Если у вас другая CMS/фреймворк, все равно рекомендую ознакомиться, возможно, будет полезно.

От автора

Если вам нужно очистить сайт от вирусов с гарантией:

Краткий алгоритм

  • Делаем бекап сайта;
  • чистим его на локальной машине;
  • меняем все возможные пароли;
  • удаляем файлы и бд с сервера;
  • заливаем обратно очищенные копии файлов и БД;

На случай если мы что-то пропустили, то нужно организовать наблюдение:

  • Устанавливаем наблюдение за изменениями в файлах и включаем логи, если они были отключены;
  • если что-то произойдет, то это будет отражено в логах и Вам останется только закрыть пропущенную уязвимость;
  • продолжать наблюдение.

Рекомендуемый период наблюдения — 3-4 недели.

Подробное описание

Подготовка к работе

  • Скачайте файлы сайта и БД на локальный компьютер. Быстрее всего это сделать одним файлом (zip архив). Можно не скачивать папку «image» т.к. она имеет большой размер и там нет исполняемых файлов. Позже это нужно будет проверить (перед загрузкой очищенной копии сайта).
  • Используя OpenServer/WAMP/LAMP или тот же хостинг, создаем новую базу данных и импортируем дамп базы вашего сайта.
  • Разархивируйте файлы в удобную для работы папку.

Работа с базой данных

  • Находим таблицу oc_user и удаляем всех пользователей, кроме администратора. Никнейм администратора рекомендую переименовать, это защитит учетку от случайного перебора паролей. Следует изменить пароль администратора. В таблице oc_user, в поле password вставьте md5 хеш пароля, очистите поле salt. На этом все, пароль изменен.
  • Перейдите в таблицу oc_modification, в ней хранятся модификаторы модулей. Проверьте код модификаторов на предмет уязвимостей. С 2020 года некоторые ботнеты используют модификатор заточенный под OpenCart — reverse shell.

Работа с файлами

  • В качестве подготовительных работ рекомендую удалить лишний мусор вроде phpinfo, кэш, логи. У OpenCart это так же неиспользуемые темы (кроме default), языки и модифицированные файлы (system/storage/modification).
  • Проверьте файлы на наличие в них вредоносного кода. Для этого можно использовать ai-bolit (revisium), ShellDetector, LMD, антивирусы для ПК и любые другие средства. Ну а вообще для приложений с единой точкой входа, таких как OpenCart, следует искать дополнительные точки входа в приложение (места передачи скрипту инструкций, через $_POST, $_GET, $_COOKIE и т.д.) а так же попытки их обфускации (сокрытия).
  • Если вы просматриваете весь код, то ускорить этот процесс поможет ускорить GIT или Beyond Compare. Они покажут вам новые и измененные файлы, сравнив ваш сайт с оригинальной версией движка.
  • Анализ access логов сервера так же позволит найти инфицированные файлы. Следует искать прямые вызовы файлов.
  • После очистки создайте zip архив с очищенными файлами сайта.

Работы на сервере

  • Поставьте заглушку с кодом 503 Service Unvaliable и оставьте доступ только для своего IP адреса, чтобы предотвратить доступ к сайту извне. С такой заглушкой поисковые боты зайдут на сайт позже и вы не потеряете позиции в поисковой выдаче.
  • Смените все возможные пароли — Панель управления, База данных, FTP пользователи, почтовые аккаунты.
  • Удалите старую базу данных и импортируйте очищенную копию.
  • Удалите все файлы сайта с хостинга, кроме папки «image» и заглушки. Из папки image стоит удалить все что не является изображениями, т.е. все исполняемые файлы, их там быть не должно.
  • Загрузите очищенные копии файлов на сервер и обновите пароли в конфиг файлах. Перейдите в раздел администратора магазина и обновите модификаторы.
  • Защитите админку от перебора и излишнего любопытства, добавив дополнительную HTTP авторизацию.
  • Включите логирование запросов, если оно было отключено. Установите наблюдение за изменениями в файлах.
  • Если вы что-то пропустили при очистке, то это будет отражено в логах или в изменениях файлов. По логам можно будет вычислить источник повторного заражения и закрыть уязвимость.
  • Современные ботнеты детектируют удаление своих файлов и перестают «стучаться», чтобы не выдавать расположение всех созданных ими файлов. Они бездействуют несколько дней или недель и стучаться снова. Если какой-то инфицированный код остался, то сайт будет заражен снова. Поэтому период наблюдения стоит увеличить до максимального.

Общие рекомендации

  • Не используйте варезные модули;
  • Используйте сложные пароли. Не придумывайте их сами, используйте генераторы;
  • Не используйте имена по-умолчанию, такие, как admin, переименуйте их;
  • Заведите отдельные аккаунты (FTP/админка) для подрядчиков (фрилансеров), по окончании работ отключайте их;
  • Следите за изменениями в файлах;
  • Используйте резервное копирование;

Рекомендуемые модули

 

0 Комментариев


Рекомендуемые комментарии

Комментариев нет

Гость
Добавить комментарий...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...