Выявление подозрительных всплесков трафика на Linux-серверах 🚨
Неожиданные всплески трафика часто вызваны фоновой активностью. Скрытые задачи или процессы могут незаметно занимать канал:- Нежелательные скрипты: скрытые или забытые команды, постоянно передающие данные.
- Криптомайнеры: несанкционированное ПО, использующее процессор и сеть сервера для майнинга.
- Некорректно работающие процессы: обычные сервисы, застрявшие в циклах или повторных попытках и перегружающие сеть.
- Следите за сетевой активностью в реальном времени
Сначала выясните, какие IP-адреса или процессы используют сеть. Для этого подходят лёгкие утилиты iftop и nload.
Перед запуском уточните имя сетевого интерфейса. Это не всегда eth0: возможны ens3, ens18, eno1 и другие. Активные интерфейсы можно найти командой:
eth0 в следующих командах именем своего интерфейса:
-n оставляет адреса в числовом виде, чтобы их было проще сравнить с выводом ss. Уточните, относятся ли самые активные соединения к ожидаемой работе: незнакомый адрес сам по себе не доказывает злоупотребление.

Воссозданный пример с вымышленными адресами и скоростями. Столбцы 2s, 10s и 40s — интервалы усреднения.

Воссозданный пример. Сравните входящую и исходящую скорости; итоговые значения не определяют процесс.
- Определите процесс, создающий трафик
Обнаружив необычную активность, используйте современную утилиту ss или, по желанию, netstat, чтобы найти процесс, которому принадлежат соединения.
netstat, сначала установите net-tools:
198.51.100.40 из статистики трафика найден в соединении процесса с PID 28799. Имя показано как xray-linux-amd6: в этом представлении оно может быть обрезано.

Воссозданный вывод ss с переносами строк и вымышленными адресами. Найдите удалённый адрес, затем запишите PID.
ss определяет сокеты и их процессы, но не измеряет текущую скорость передачи. VPN-программы, например Xray, могут открывать такие соединения совершенно законно. Используйте nethogs, описанный ниже, для сравнения скоростей по процессам и сверьтесь с сервисами, которые вы намеренно запустили. См. руководство ss.
- Изучите подозрительный процесс
Получив подозрительный PID из ss или netstat, выясните, что это за процесс и откуда он запущен.
28799 на PID процесса, который вызвал подозрения на предыдущем шаге.
Сравните путь к исполняемому файлу и аргументы с установленным вами ПО. Пути в /tmp, /dev/shm и /var/tmp требуют проверки, но само расположение файла ещё не доказывает взлом.

Один процесс, две проверки: расположение исполняемого файла и аргументы запуска. Этот пример не является заключением о вредоносности.
- Сохраните свидетельства и остановите подтверждённую нежелательную активность
Имя процесса, незнакомый IP или путь в /tmp — повод для проверки, а не доказательство взлома. Сначала установите назначение процесса и его принадлежность установленному вами ПО.
До остановки запишите PID, путь, командную строку, время запуска, соединения и соответствующие журналы. Если для анализа нужен исполняемый файл, сохраните его, пока он доступен: после завершения процесса /proc/PID/exe может исчезнуть. Не запускайте подозрительный файл. См. справку Linux по /proc/PID/exe.
Если нежелательная активность подтверждена:
- По возможности остановите процесс через приложение или менеджер служб. Иначе управляющая программа может перезапустить завершённый процесс.
- Для отдельного процесса команда
sudo kill -TERM 28799запрашивает штатное завершение. Замените пример PID на только что проверенный. Прежде чем применять принудительную остановку, проверьте, завершился ли процесс. - Отключайте только подтверждённую нежелательную запись автозапуска, предварительно сохранив её копию для исследования.
- Проверьте cron и записи автозапуска
Многие нежелательные скрипты пытаются запускаться после перезагрузки через cron или файлы автозапуска. Внимательно проверьте:
/tmp, /dev/shm или /var/tmp особенно подозрителен.
- Отслеживайте трафик процессов через nethogs
Для непрерывного наблюдения за процессами, больше всего использующими сеть:

Воссозданный пример с вымышленными скоростями в KB/sec. Высокая скорость указывает, что проверить, но не доказывает вредоносность.
ss. Учитывайте единицы: KB/sec — килобайты в секунду, а iftop обычно показывает скорость в битах в секунду. См. проект NetHogs.
- Проверьте общий расход трафика
Если подозреваете, что уже потрачено слишком много данных, посмотрите статистику в панели EDIS. Там доступны общий расход за месяц, ежедневные графики и сроки пополнения.
📘 Как EDIS Global измеряет расход сети и определяет циклы пополнения.
- Восстановите систему и предотвратите повторение
При сбое приложения исправьте его настройки или обновите его, затем убедитесь, что трафик вернулся к ожидаемому уровню.
При подтверждённом взломе сохраните нужные свидетельства, ограничьте работу затронутого сервиса, смените раскрытые учётные данные с доверенного устройства и запланируйте чистое восстановление из проверенных программ и данных. Снижение трафика не означает, что весь несанкционированный доступ устранён.
Проверьте обновления, доступные извне службы и настройки доступа SSH. Правила межсетевого экрана должны разрешать только действительно нужный трафик; UFW не определяет вредоносность процесса по имени. Изменения вроде монтирования с noexec не заменяют расследование причины активности.
О суммарном расходе, пополнении и общем резерве читайте в статьях Статистика трафика и Traffic Pool.