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

Проверка безопасности 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

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