S
Stitex
Защита сайтов

Аудит сервера и сайта: находим взлом до клиентов

Взломанный сайт обычно не падает и не пестрит надписями. Он работает как обычно, а в фоне рассылает спам, собирает данные из ваших же форм или показывает чужую рекламу — только поисковику. Владелец узнаёт последним: от поисковика, от хостинга или от клиента. Мы читаем сервер изнутри и говорим, что там на самом деле.

2 сентября 20267 мин чтенияStitex Technologies

Как обычно узнают о взломе

  • В поиске вместо ваших страниц появляется чужой текст, или браузер помечает сайт как опасный,
  • Хостинг присылает уведомление о вредоносной активности и грозит отключением,
  • Клиент звонит и спрашивает, почему его перекинуло на посторонний сайт,
  • Почта начинает уходить в спам, потому что с вашего сервера рассылали не вы.

Общее у всех четырёх — о проблеме сообщают снаружи, когда она уже стоила денег или репутации. Взлом типового сайта делает не человек, а автоматика: боты круглосуточно перебирают адреса, определяют версию движка и дополнений и применяют готовый эксплойт к известной дыре. Целью были не вы — целью была незакрытая дверь.

Что смотрит аудит

Мы подключаемся к серверу по SSH на чтение — ставить на него ничего не нужно. Снаружи, по одному адресу сайта, видны только симптомы; сам вредоносный код лежит в файлах и в базе.

  • Файлы движка и дополнений из официальных репозиториев сверяются с эталонными — так виден и подброшенный файл, и правка ядра,
  • Ищутся веб-шеллы, майнеры и механизмы закрепления: задания планировщика, автозагрузка, изменённые системные файлы,
  • Проверяется, не отдаёт ли сервер посторонним то, что не должен: .env, папку .git, дампы базы, служебные страницы с настройками,
  • В базе движка проверяются администраторы: свежие, лишние, а также инъекции в автозагружаемые настройки,
  • Версии веб-сервера, языка, базы и самого движка сверяются с известными уязвимостями,
  • Разбираются журналы веб-сервера: следы попыток взлома, кто и чем стучался,
  • Смотрится состояние обороны: срок и алгоритм сертификата, блокировщик перебора паролей, парольная политика.
Где у метода предел
Сверка с эталоном работает там, где эталон публичен: движок и дополнения из официальных репозиториев. Для платных и самописных компонентов эталона не существует ни у кого — там остаётся эвристика, и мы пишем в отчёте прямо, что именно проверено сверкой, а что косвенными признаками. Глубокий антивирусный сканер и аудитор настроек запускаются, только если они уже стоят на вашем сервере: ставить постороннее ПО в чужой контур без спроса мы не будем.

Что вы получаете

  • Отчёт с общей оценкой состояния и находками по степени критичности — у каждой сказано, что это значит и что делать,
  • Письмо сразу, если есть подозрение на вредоносный код или состояние критическое, а не отчёт в конце месяца,
  • Повторное письмо не приходит по той же неисправленной настройке — иначе оповещения отключают на второй день,
  • Ключ доступа хранится зашифрованным и удаляется вместе с сервером, когда вы убираете его из списка.

Чего мы не делаем

Это важнее списка возможностей: клиент, который ждал лечения, а получил диагностику, вправе считать себя обманутым.

  • Не лечим сайт молча. Аудит ничего не меняет на сервере — правки это отдельный, согласованный шаг,
  • Не гарантируем, что вас не взломают. Это диагностика, а не охрана периметра: между проверками мы за сервером не наблюдаем,
  • Не делаем и не храним резервные копии. Бэкап — ваша сторона, мы можем только проверить, что он вообще разворачивается,
  • Не проверяем сайт «по адресу»: без доступа к серверу видны симптомы, а не причина,
  • Не обещаем найти любой вредонос. Обещаем показать, что проверено сверкой, что эвристикой, а что не проверялось вовсе.

Почему разовой чистки не хватает

Разовая чистка снимает симптом, но не закрывает дверь. Если точка входа осталась прежней — тот же необновлённый плагин, тот же слабый пароль, та же скачанная с торрента тема, — возвращаются через неё же, и часто именно потому, что знают: путь внутрь никуда не делся. Поэтому проверка имеет смысл регулярная, а не однократная.

Частые вопросы

Вы почините сайт, если найдёте заражение?

Аудит ничего не меняет на сервере — он читает состояние и отдаёт список проблем с приоритетом. Лечение это отдельная работа, и она начинается только после вашего согласия: сначала вы видите, что именно нашли и чем это грозит, и только потом решаете, что с этим делать.

Почему нужен доступ к серверу, а не просто адрес сайта?

Снаружи видны только последствия — редирект, чужой текст в выдаче, предупреждение браузера. Сам вредонос лежит в файлах и базе, и найти его можно только там. Проверка по URL показывает симптом, но не источник.

Это безопасно — давать вам доступ?

Доступ нужен на чтение, ключ хранится зашифрованным и удаляется вместе с сервером, когда вы убираете его из списка. Команды аудита заданы в коде: модель разбирает их вывод, но не решает, что выполнить на вашей машине.

Чем это отличается от антивируса хостинга?

Антивирус хостинга ловит известные сигнатуры. Мы сверяем файлы движка и репозиторных дополнений с официальными эталонами, поэтому видно и подброшенный файл без сигнатуры, и модификацию ядра. Там, где публичного эталона нет — платные и самописные компоненты, — остаётся эвристика, и мы говорим об этом прямо.

Как часто нужно проверять?

Первый аудит показывает состояние на сегодня. Дальше имеет смысл повторять регулярно: разовая чистка снимает симптом, но если точка входа осталась прежней, через неё возвращаются. Периодичность выбираете вы — от ручного запуска до ежедневного.

Что вы пришлёте по итогам?

Отчёт с общей оценкой состояния и списком находок по степени критичности, у каждой — что это значит и что с этим делать. Если есть подозрение на вредоносный код или состояние критическое, письмо придёт сразу, а не в конце месяца.

Разбираем эту тему подробнее в блоге: признаки взлома сайта, как проверить сайт на вирусы, чеклист аудита сервера и как ломают через устаревший движок.

Первый аудит — бесплатно

Пришлём отчёт по вашему серверу: что нашли, насколько это срочно и что с этим делать. Дальше вы решаете, нужна ли подписка.

Контакты

Расскажите про свой сервер

Напишите, что за сайт и что вас насторожило. Если поводов для тревоги нет — так и скажем.

Telegram
@StitexBot
Отвечаем
В течение рабочего дня