В инструкции описана установка и использование утилиты autrace для аудита процессов на серверах с операционной системой Linux.
Что это такое?
autrace - это утилита командной строки, которая запускает программу с правилами аудита, пока она не выполнится; autrace добавляет правила аудита для отслеживания процесса и сохраняет информацию в файле /var/www/audit/audit.log.
Установка
Утилита autrace входит в состав демона auditd, подробнее о работе с демоном читайте в нашей инструкции.
Для установки используйте ваш пакетный менеджер, например для Debian/Ubuntu:
На серверах CentOS демон auditd обычно уже предустановлен (пакеты audit and audit-libs).
Примеры использования
Синтаксис команды autrace выглядит следующим образом:
autrace -r <программа> <аргументы для программы>
Параметр -r - ограничивает сбор данных, которые необходимы для оценки использования ресурсов процесса.
Если у вас есть какие-либо правила аудита, autrace показывает следующую ошибку.
Например, чтобы отследить выполнение команды df, которая показывает использование файловой системы, выполните следующее действие:
autrace -r /bin/df -h
Все записи журнала, связанные с трассировкой, из файла журнала аудита можно вывести с помощью утилиты ausearch, аргументы для которой показаны в последней строке:
Выполните команду:
ausearch -i -p <id процесса>
Например:
ausearch -i -p 2596
Опция -i позволяет интерпретировать числовые значения, -p передает идентификатор процесса для поиска.
Вывод:
- name - имя команды, трассировка которой была выполнена
- cwd - текущий рабочий путь, из которого происходил доступ к файлу
- syscall - связанный системный вызов (execve - выполнение программы)
- auid - идентификатор пользователя аудита
- exe - двоичный файл, выполняющий действие над файлом.
Обратите внимание, что auid определяет исходного пользователя вошедшего в систему. Другие поля могут указывать на другого пользователя, в зависимости от того, какой пользователь используется при выполнении действия.
Чтобы создать отчет о деталях трассировки, выполните следующую команду:
ausearch -p <id процесса> --raw | aureport -i -f
Опция -i позволяет интерпретировать числовые значения, -f сообщает о файлах и сокетах, --raw формат для генератора отчетов aureport.
Например:
ausearch -p 2596 --raw | aureport -i -f
Пример отчета:
Предполагая, что запущенная программа уже работает в течении последней недели, это означает, что в журналах аудита имеется много информации. Чтобы создать отчет только для сегодняшних записей, используйте флаг -ts, чтобы указать дату и время начала поиска:
ausearch -ts today -p <id процесса> --raw | aureport -i -f
Например:
ausearch -ts today -p 2596 --raw | aureport -i -f
Таким образом вы можете отслеживать и проверять определенный процесс Linux с помощью инструмента autrace, для получения дополнительной информации обратитесь к man-страницам.