Failed password for rootТысячи неудачных входов
Пароли подбирают круглосуточно. Вопрос не «будут ли», а что произойдёт, когда один подойдёт.
Расследую взломы, нахожу бэкдоры и путь входа. Ставлю щит перед уязвимыми панелями и детектор, который по содержимому пакетов отличает клиентов от сканеров.
Взлом редко выглядит как взлом. Чаще это странная запись в логе, лишняя служба или соединение, которое никто не открывал.
Failed password for rootПароли подбирают круглосуточно. Вопрос не «будут ли», а что произойдёт, когда один подойдёт.
ESTABLISHED, 0 байтКто-то держит соединения и молчит. Так сканеры проверяют, что за сервис отвечает и как его обойти.
Restart=alwaysБэкдоры прячутся под системными именами и подделывают даты файлов. Снаружи всё выглядит штатно.
GET /info.php 200Одна забытая страница отдаёт пароли и настройки. Её находят автоматические сканеры, а не люди.
PHP 5.x, без обновленийОбновить нельзя, выключить тоже. Значит, её нужно закрыть щитом, а не надеяться на удачу.
ESTAB → неизвестный хостОбратный shell идёт изнутри наружу, и входящий файрвол его не видит. Такое находят только целенаправленно.
Если узнали свой сервер — не переустанавливайте систему. Сначала снимок диска: иначе вместе со взломом исчезнут и следы того, как он произошёл.
Переустановка без разбора не помогает: путь входа остаётся открытым, и через неделю всё повторяется. Сначала выясняю, как вошли.
Работаю с копией диска или резервной копией, а не с живой системой. Ничего не стираю и не перезапускаю.
Службы, планировщики, SSH-ключи, подменённые бинарники, подделанные даты файлов, удалённые данные в свободных блоках.
По журналам и метаданным восстанавливаю, кто, когда и что делал. Отделяю доказанное от предположений.
Закрываю найденную дыру и проверяю остальные серверы на те же ключи и бэкдоры: атакующий редко ограничивается одним.
Файрвол решает по адресу и порту. Я разбираю, что внутри соединения и как ведёт себя отправитель, и отсекаю сканеры по нескольким независимым признакам.
Протокол устройства, задержки, ритм соединений, отпечаток TCP-стека, число сокетов. Каждый признак даёт баллы, порог — блокировка.
Нормализация запросов, закрытие отладочных скриптов, сигнатуры SQL-инъекций и обхода путей, задержки при переборе паролей.
Пороги, рецидивы и белый список в одном месте. Блокировка на уровне ядра, раньше чем запрос дойдёт до приложения.
SSH, открытые порты, привилегированные контейнеры, устаревшие системы. Отчёт с рисками по каждому серверу и планом исправлений.
Плохая защита опаснее её отсутствия: она блокирует своих и её отключают через день. Поэтому каждый шаг проверяемый и обратимый.
Защита поднимает цену атаки и отсекает всех, кто не старался. Против атакующего, который уже знает ваши ключи, нужны их смена и привязка устройств к сетям. Если это ваш случай, скажу об этом прямо.
Не переустанавливайте систему и не удаляйте подозрительные файлы: это уничтожит следы. Если возможно, ограничьте сетевой доступ к серверу и сделайте снимок или резервную копию диска. Пароли и ключи меняйте с другой, чистой машины. Затем напишите мне: разбор начинается со снимка, а не с живой системы.
Да. Щит встаёт перед панелью и закрывает опасные пути, отладочные скрипты, атаки в параметрах и перебор паролей. Код панели он не лечит, но сильно уменьшает то, до чего может дотянуться атакующий.
Новые правила сначала работают только на запись в журнал, вердикты сверяем вместе. Администраторы и известные устройства попадают в белый список, а у каждого изменения есть команда отката.
Файрвол решает по адресу и порту. Анализ пакетов смотрит, что внутри соединения и как ведёт себя отправитель: протокол, задержки, ритм, отпечаток TCP-стека, число соединений. Так сканер отличается от настоящего устройства, даже если стучится в правильный порт.
Да, тот же подход работает для серверов Asterisk: SIP-сканеры и подбор паролей к внутренним номерам видно по поведению. Подробнее — на странице про Asterisk и IP-телефонию.
Что заметили, когда началось, какая система и что на ней работает. Если взлом идёт прямо сейчас, так и напишите.
Не присылайте пароли и ключи в первом сообщении: доступ согласуем отдельно и безопасным способом.
Например: в автозагрузке появилась неизвестная служба, в логах тысячи попыток входа, Ubuntu 20.04, на сервере веб-панель