Вопрос или проблема
У меня на сервере работает служба auditd, и иногда службы таинственным образом отключаются.
Я нахожу инструмент aureport полезным, но пытаюсь выяснить, какой скрипт с параметрами был выполнен, в какое время и кем.
Я пробовал выполнять его с ключами -x и -s, а также с ключом -i, но он показывает лишь до 20 символов команды.
Есть ли способ расширить полную команду с помощью этого инструмента? Или мне нужно вручную разбирайтесь в файле audit.log?
Ответ или решение
Для решения вашей проблемы с анализом команд и параметров, вызванных через auditd, можно использовать утилиту aureport, которая является частью пакета audit. Давайте подробно рассмотрим, как использовать aureport для сбора необходимой информации о выполняемых скриптах, их параметрах, времени выполнения и пользователях, которые их запускали.
Шаг 1: Изучение системной аудиторной информации
Для начала, убедитесь, что у вас включён сервис auditd и что необходимые правила аудита настроены. Обычно, чтобы следить за выполнением скриптов, необходимо добавить определённые правила в файл конфигурации /etc/audit/audit.rules
. Например, чтобы отслеживать выполнение всех сценариев оболочки, можно добавить правило:
-a always,exit -F arch=b64 -S execve
Шаг 2: Использование aureport
Утилита aureport предоставляет сводную информацию по событиям аудита. Для сбора данных о выполненных командах стоит использовать следующие команды:
-
Показ всех выполненных команд:
aureport -x --summary
Этот отчет покажет вам сводную информацию о запущенных командах, однако как вы заметили, он может ограничивать отображение имени команды до 20 символов.
-
Получение более детальной информации:
Для получения более детализированных данных с возможностью отображения полной команды, вам нужно будет обратить внимание на сам файл аудита, а не только на сводный отчет. Используйте команду:ausearch -i -s execve
Эта команда просканирует файл журнала с более большой детализацией, включая параметры команд.
Шаг 3: Увеличение размера отображаемого имени команды
К сожалению, aureport ограничен в возможности визуализации длинных имен команд. Чтобы просмотреть полные команды и их параметры, стоит обратиться к файлу журнала. Выполните команду:
ausearch -ts today -m execve
-
Параметр
-ts today
указывает на временной диапазон. Вы можете указать более конкретные временные метки, если вас интересует более узкий период. -
Параметр
-m execve
отфильтровывает только события, связанные с выполнением команд.
Таким образом, эта команда вернёт полные строки, включая всю информацию о скриптах и параметрах, которые были использованы при их запуске.
Шаг 4: Вывод информации
После выполнения команды ausearch
, вывод будет содержать как временные метки, так и идентификаторы пользователей, которые запускали команды. Каждая запись будет содержать всю нужную информацию, включая полные команды и параметры.
Заключение
Использование aureport
в сочетании с ausearch
предоставляет мощный инструмент для анализа активных скриптов и понимания их параметров. Учтите, что для предотвращения проблем с производительностью сервера и утечки информации, важно настроить фильтры и правила аудита должным образом. Регулярно проверяйте логи и анализируйте данные, чтобы выявить потенциальные проблемы с сервисами.
Если у вас возникают дополнительные вопросы или трудности с настройкой, не стесняйтесь обращаться за помощью к сообществу или к специалистам в области аудита и безопасности информационных технологий.