Вопрос или проблема
Используя NetHogs на сервере Ubuntu 16.04 (веб), то есть на машине, на которой не установлены потребительские приложения или веб-браузеры, кроме ожидаемого трафика (HTTP и SSH)
PID USER PROGRAM DEV SENT RECEIVED
5266 www-data /usr/sbin/apache2 eth0 15.142 2.924 KB/sec
4698 <Я> sshd: <Я>@pts/0 eth0 0.899 0.071 KB/sec
Я также вижу довольно много подозрительных соединений, которые выглядят следующим образом:
PID USER PROGRAM DEV SENT RECEIVED
? root <SERVER_IP_V4>:515-122.228.XXX.XXX:43652 0.000 0.000 KB/sec
? root <SERVER_IP_V4>:4946-92.118.XXX.XXX:44243 0.000 0.000 KB/sec
? root <SERVER_IP_V4>:1703-94.177.XXX.XXX:51820 0.000 0.000 KB/sec
? root <SERVER_IP_V4>:1433-123.207.XXX.XXX:45628 0.000 0.000 KB/sec
? root <SERVER_IP_V4>:34568-223.71.XXX.XXX:40922 0.000 0.011 KB/sec
? root <SERVER_IP_V4>:9444-51.91.XXX.XXX:46170 0.000 0.000 KB/sec
? root unknown TCP 0.000 0.000 KB/sec
У них нет связанного идентификатора процесса [1], все они запущены от root
, кажется, что это исходящие соединения с портов, выглядящих случайными, на другие порты, выглядящие случайными (то есть нет исходящих HTTP-запросов [2] [3]), у них нет связанного устройства и весь трафик минимален [4].
Географические источники адресов назначения по всей видимости находятся в Китае, Российской Федерации и Сейшелах, среди прочих, согласно whois
.
Мои правила файрвола, согласно ufw status verbose
, должны блокировать любой входящий трафик, кроме SSH и HTTP(S). Так что эти исходящие соединения должны быть вызваны вредоносными программами, работающими на хосте, так ведь?
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
22/tcp LIMIT IN Anywhere
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
Это действительно подозрительно или, может быть, даже свидетельство вредоносного трафика, или это ложные срабатывания (по какой-то причине, возможно, я их не вижу)?
Или порядок двух IP-адресов в каждой паре не имеет значения [5] [6], так что это могут быть входящие соединения? Если так, как это может происходить, если UFW настроен на блокировку таких соединений, и как одно из этих соединений может иметь передаваемые данные?
Ответ или решение
На основании вашего описания, ситуация действительно выглядит подозрительно. Приведенные вами данные показывают исходящие соединения от пользователя root
с использованием случайных портов, что может указывать на возможность наличия вредоносного ПО или компрометации системы. Давайте рассмотрим основные аспекты и возможные шаги для диагностики и устранения этой проблемы:
1. Анализ соединений
- Отсутствие PID: Порядок соединений (например,
root <SERVER_IP_V4>:515-122.228.XXX.XXX:43652
) указывает на отсутствие идентификатора процесса. Это может означать, что соединение создается на уровне ядра или с помощью определенных системных вызовов, которые не отображаются в обычном списке процессов. - Случайные IP-адреса: IP-адреса, из которых происходит выходящий трафик, принадлежат к районам, которые часто ассоциируются с вредоносной активностью. Используйте инструменты, такие как
whois
, чтобы дополнительно подтвердить геолокацию и назначение этих IP-адресов.
2. Проверка на наличие вредоносного ПО
При наличии подозрений на вредоносное ПО на сервере, выполните следующие шаги:
-
Сканирование системы: Используйте такие инструменты, как
rkhunter
иchkrootkit
, чтобы проверить наличие корневых атак и скрытых процессов.sudo apt-get install rkhunter chkrootkit sudo rkhunter --check sudo chkrootkit
-
Проверка активных процессов: Посмотрите на активные процессы с помощью
ps aux
иtop
, чтобы выявить потенциально подозрительные приложения, запущенные подroot
. -
Логи системы: Проверьте системные журналы, такие как
/var/log/auth.log
и/var/log/syslog
, на предмет аномалий или неожиданных входов.
3. Изменение конфигурации фаервола (UFW)
Ваши правила для UFW, согласно приведенным данным, действительно блокируют входящий трафик, за исключением определенного (SSH и HTTP(S)). Тем не менее, исходящий трафик остается открытым. Рассмотрите возможность ограничения исходящего трафика, если у вас нет специфической необходимости в этом:
sudo ufw default deny outgoing
sudo ufw allow out 22/tcp
sudo ufw allow out 80/tcp
sudo ufw allow out 443/tcp
4. Изолировать сервер
Если вы задействовали вышеперечисленные проверки и нашли подтверждения наличия вредоносного ПО, рекомендуется временно отключить сервер от сети, чтобы предотвратить возможные утечки данных или дальнейшую компрометацию.
5. Восстановление и анализ ущерба
Если был подтверждён факт компрометации, необходимо:
- Подготовить бэкапы для всех критически важных данных.
- Рассмотреть возможность переустановки операционной системы и восстановления информации из безопасных бэкапов.
- Обновить все пароли, особенно для учётной записи
root
и других привилегированных учётных записей.
Заключение
Использование NetHogs для мониторинга сетевого трафика — это полезный шаг для выявления аномалий. Поскольку вы не видите соответствующих процессов для подозрительных соединений и все они исходят от root
, это может указывать на наличие угрозы. Приняв вышеописанные меры, вы сможете принять более обоснованное решение касательно дальнейших действий по защите вашего сервера. Если вы не уверены в своих действиях, будет полезно подключить специалиста по безопасности для полноценного аудита системы.