Что серверные логи могут рассказать об атакующем: разбираем подозрительные запросы на Linux
Подписан на их блог — вышла запись про то, как серверные логи могут выдать атакующего. Прочитал, понял: это не про «хакеров, выбравших вас», а про то, как боты массово сканируют уязвимости. И это касается любого сайта без поддержки.
О чём речь и почему я считаю это важным для сайта
Речь о том, что за каждым подозрительным запросом — не обязательно взлом, но всегда риск. Боты не выбирают сайты. Они сканируют всё подряд. И если у вас есть уязвимость — они её найдут. Даже если вы не думали, что это возможно.
Я считаю это важным, потому что заражение — не сбой, а следствие. Попробовать почистить — это как вытирать воду тряпкой, когда у вас протекает крыша. Надо закрыть причину. А она — в незащищённых путях, устаревшем коде, открытых интерфейсах.
Как это устроено — что тут вообще происходит
Боты не сидят в чате и не ждут, пока вы пропустите пароль. Они автоматически проверяют десятки путей: /admin, /backup.zip, /.env. Каждый запрос — сигнал. И если вы не видите логи, вы не видите, что вас сканируют.
Когда в логах появляется серия запросов к несуществующим страницам, это не случайность. Это система, которая проверяет, есть ли у вас слабые места. И если у вас есть — она вернётся. Потому что боты не устают. Они работают 24/7.
Как понять, что это касается вашего сайта («как я это проверяю»)
Я смотрю на логи веб-сервера. Не на все сразу — на те, что за последний день. Ищу повторяющиеся IP-адреса, которые делают десятки запросов к несуществующим путям. Особенно если это /admin, /wp-login, /phpmyadmin, /backup.zip.
Если в логах — десятки таких строк с одного адреса за час, я смотрю дальше. Не сразу блокирую. Сначала проверяю, не попадает ли это в норму: может, это бот поисковика, или API, или прокси. Но если это не объясняется — это сигнал.
Что с этим делать («что я делаю в таких случаях»)
Первое — не паниковать. Неудачный запрос — не взлом. Но он — вызов. Я сначала проверяю, что на сайте реально доступно. Убираю неиспользуемые пути, блокирую доступ к папкам вроде /backup, /admin, если они не нужны.
Потом — смотрю, нет ли устаревшего кода, необновлённых компонентов. Если есть — ставлю обновление. Не сейчас, а в план. Потому что слепое обновление может сломать сайт. А вот проверка — это часть системы, а не аврал.
Что здесь даёт поддержка
На нашей поддержке это закрывается заранее. Мы не ждём, пока боты найдут уязвимость. Мы смотрим на логи, проверяем пути, убираем риски. Это не разовая чистка. Это постоянная проверка: что открыто, что доступно, что может быть найдено.
Главный итог не «мы починим», а «вы перестанете думать о сайте». У нас — 99,8% доступности, мониторинг каждые несколько минут, 24/7. Работаем с 2002 года, более 100 клиентов по всему миру. И если у вас есть форма заявки — вы оператор персональных данных, и это тоже входит в зону ответственности.
Попробуйте — сделаем бесплатный аудит сайта.