Аудит процессов Linux с помощью утилиты Autrace
Утилита Autrace представляет собой решение для проведения аудита процессов операционной системы с помощью командной строки, сохраняющее системные события в специальный журнал. Ее используют для отслеживания критических событий: внезапное завершение работы ОС, изменение сетевой конфигурации, редактирование прав доступа к системным файлам и т.д. Утилита является часть продукта auditd, который по умолчанию не установлен в рабочей среде Linux, за исключением ОС CentOS.
Расскажем, как провести аудит на сервере под управлением Ubuntu Server 18.04.
Предварительная подготовка
Устанавливаем утилиту:
sudo apt-get install auditd audispd-plugins
Процесс займет не более четырех минут.
Конфигурация продукта хранится в файле etc/audit/auditd.conf. Для редактирования используем текстовый редактор, например, Nano или Vi.
Как запустить аудит
В общем виде команда выглядит следующим образом:
autrace –r name_program [keys]
name_program — наименование продукта, который подвергается проверке;
keys — дополнительные опции, доступные утилите.
Ключ r ограничивает данные, которые собираются утилитой. При его активации autrace соберет только те логи, которые необходимы для анализа по указанным параметрам.
Приведем пример: программа DF наблюдает за ресурсами файловой структуры.
Запустим аудит для сервиса:
sudo autrace -r /bin/df –h
Утилита начнет отслеживать операции DF:
Скриншот №1. Пример аудита.
Для просмотра подробной информации используем встроенный журнал. Он открывается через команду ausearch. В зависимости от программы, для которой проводится аудит, синтаксис команды меняется. В нашем примере на изображении выше он выделен красным.
Набираем в терминале без кавычек:
ausearch –I –p 7946
В результате на мониторе появится подробная информация по журналу. Синтаксис для команды ausearch выглядит следующим образом:
ausearch –i –p <id>
Ключ id — это цифровое значение процесса, которое доступно после активации команды autrace.
Ключ –p указывает утилите на идентификатор, по которому ищется журнал, а опция –i проводит интерпретацию цифровых значений.
Если нужна подробная трассировка, используем другой синтаксис:
ausearch -p 7946 --raw | aureport -i –f
, где ключ –f информирует о файлах и сокетах, а комбинация raw задает формат выводимого отчета.
Для вывода информации в зависимости от дня прописываем:
ausearch -p 7946 --raw | aureport -i -f
Как легко заметить, значение 7946 — это идентификатор процесса, который используется в примере статьи.