Перейти к основному контенту

Проверка безопасности Linux‑сервера

intro-linux-Security-Checking-planetahost.png

Подробности урока

Уровень сложности Лёгкий
Права root Требуются
Требования Терминал Linux
Категория Безопасность
Совместимость с ОС AlmaLinux, Arch, CentOS, Debian, Fedora, Linux Mint, openSUSE, Pop!_OS, RHEL, Rocky Linux, Slackware, CentOS Stream, SUSE, Ubuntu
Примерное время чтения 6 минут

Введение

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

Цель данной статьи - предоставить подробное, структурированное и практико‑ориентированное руководство по проверке Linux‑сервера на предмет взлома, а также пояснить, как интерпретировать результаты выполняемых команд.

Материал предназначен для начинающих администраторов серверов под управлением Debian, Ubuntu, CentOS, AlmaLinux и других дистрибутивов Linux.

Что считается компрометацией сервера

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

Компрометация может проявляться в следующих формах:

  • несанкционированный интерактивный доступ (SSH, консоль);
  • создание скрытых или фиктивных учетных записей;
  • установка вредоносного ПО (майнеры, прокси, боты);
  • внедрение backdoor‑механизмов для повторного доступа;
  • подмена или модификация системных бинарных файлов;
  • установка rootkit‑компонентов, скрывающих процессы и файлы;
  • несанкционированные сетевые соединения и передача данных.

Важно понимать, что отсутствие явных симптомов (например, высокой нагрузки) не означает, что сервер не скомпрометирован.

1. Анализ пользовательской активности

1.1 Проверка активных пользовательских сессий

Команда:

w

изображение.png

Команда отображает список пользователей, которые в данный момент вошли в систему, а также:

  • источник подключения (IP‑адрес);
  • время входа;
  • выполняемые команды.

Обратите внимание следует на:

  • неизвестные или неиспользуемые учетные записи;
  • подключения с внешних или нетипичных IP‑адресов;
  • активные сессии в ночное время или вне регламентных окон обслуживания.

Наличие активной сессии, происхождение которой администратор не может объяснить, является серьёзным индикатором возможной компрометации.

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

Команда:

last

изображение.png

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

  • имя пользователя;
  • источник подключения;
  • дату и продолжительность сессии.

Обратите внимание следует на:

  • регулярные входы под учетной записью root;
  • попытки входа с различных IP‑адресов за короткий период времени;
  • входы из сетей, не относящихся к вашей инфраструктуре.

1.3 Анализ истории выполняемых команд

Команда:

history

изображение.png

Команда показывает список команд, выполнявшихся пользователем в рамках его сессий.

Подозрительными считаются:

  • загрузка файлов через wget и curl;

  • использование bash, sh, python, perl для запуска скриптов;

  • выполнение команд из каталогов /tmp, /var/tmp, /dev/shm;

  • очистка логов и истории команд.

2. Анализ процессов и системных ресурсов

2.1 Мониторинг нагрузки

Команда:

top

изображение.png

Команда отображает процессы в реальном времени и их потребление CPU, памяти и других ресурсов.

Следует насторожиться, если:

  • неизвестный процесс стабильно потребляет значительную долю CPU;
  • процесс работает под root без очевидной необходимости;
  • нагрузка сохраняется даже при отсутствии пользовательской активности.

Такие признаки часто характерны для майнеров и бот‑клиентов.

2.2 Полный список процессов

Команда:

ps aux

изображение.png

Что стоит проверять:

  • имя и назначение процесса;
  • пользователя, от имени которого он запущен;
  • путь к исполняемому файлу.

Процессы с неочевидными именами или запускаемые из нестандартных каталогов требуют дополнительного анализа.

2.3 Проверка исполняемого файла процесса

Команда:

ls -l /proc/<PID>/exe

изображение.png

Команда позволяет определить фактический путь к бинарному файлу запущенного процесса.

Стоит обратить внимание на исполняемые файлы, расположенные в:

  • /tmp
  • /var/tmp
  • /dev/shm

В большинстве случаев такое расположение указывает на вредоносную активность.

3. Анализ сетевой активности

3.1 Проверка открытых портов

Команда:

ss -tulnp

nload изображение.png

Что показывает команда:

  • какие порты прослушиваются системой;
  • какие процессы связаны с сетевыми сокетами;
  • какие сервисы принимают входящие соединения.

Необходимо убедиться, что:

  • открыты только ожидаемые порты (SSH, HTTP/HTTPS и т.д.);
  • отсутствуют неизвестные сервисы;
  • процессы соответствуют установленному ПО.

3.2 Анализ трафика в реальном времени

Утилиты iftop и nload позволяют наблюдать сетевой трафик.

# Для Debian

sudo apt update
# Обновление списка пакетов

sudo apt install -y iftop nload
# Установка утилит iftop и nload


# Для RHEL

sudo dnf install -y epel-release
# Подключение репозитория EPEL, необходимого для iftop и nload

sudo dnf install -y iftop nload
# Установка утилит iftop и nload

изображение.png

изображение.png

Признаки угрозы

  • постоянный исходящий трафик без нагрузки;
  • соединения с неизвестными внешними IP‑адресами;
  • высокая активность при отсутствии пользовательских запросов.

4. Проверка планировщика заданий (cron)

Команды:

crontab -l
crontab -u <user> -l
ls -la /etc/cron.*

изображение.png

Что проверять:

  • неизвестные задания;
  • зашифрованные или обфусцированные команды;
  • загрузку скриптов из сети;
  • регулярный запуск бинарных файлов из временных каталогов.

Cron один из наиболее популярных механизмов закрепления злоумышленников в системе.

5. Анализ системных журналов

5.1 Журналы аутентификации

Debian / Ubuntu:

tail /var/log/auth.log

CentOS / RHEL:

tail /var/log/secure

изображение.png

Что надо искать:

  • массовые неудачные попытки входа;
  • успешные логины с подозрительных IP;
  • использование sudo неизвестными пользователями.