Product SiteDocumentation Site

73.5. Команда ausearch

Команда ausearch является инструментом поиска по журналу аудита. ausearch может также принимать данные со стандартного ввода (stdin) до тех пор, пока на входе будут необработанные данные логов. Все условия, указанные в параметрах, объединяются логическим «И».
Каждый системный вызов ядра из пользовательского пространства и возвращение данных в пользовательское пространство имеет один уникальный (для каждого системного вызова) идентификатор события.
Различные части ядра могут добавлять дополнительные записи. Например, в событие аудита для системного вызова «open» добавляется запись PATH с именем файла. ausearch показывает все записи события вместе. Это означает, что при запросе определенных записей результат может содержать записи SYSCALL.
Не все типы записей содержат указанную информацию. Например, запись PATH не содержит имя узла или loginuid.
Синтаксис команды:
ausearch [опции]

Таблица 73.7. Опции команды ausearch

Опция
Описание
-a, --event <идентификатор события>
Искать события с заданным идентификатором события. В сообщении: msg=audit(1116360555.329:2401771), идентификатор события — число после «:». Все события аудита, связанные с одним системным вызовом, имеют одинаковый идентификатор.
--arch <CPU>
Искать события на основе определенной архитектуры процессора. Для определения архитектуры необходимо использовать команду uname –m. В случае, если архитектура ПЭВМ неизвестна, необходимо использовать таблицу 32-х битных системных вызовов, если она поддерживается ПЭВМ, можно использовать b32. Аналогичным образом применяется таблица системных вызовов b64.
-c, --comm <comm-name>
Искать события с заданным «comm name», именем исполняемого файла из структуры задачи.
--debug
Вывести сообщения, пропущенные stderr.
--checkpoint <файл контрольной точки>
Контрольная точка — это вывод между последовательными вызовами ausearch, так что в последующих вызовах будут выводиться только события, не попавшие в предыдущий вывод.
Событие auditd состоит из одной или нескольких записей. При обработке события ausearch определяет события как завершенные и незавершенные. Завершенное событие — это одно событие записи или то, которое произошло раньше, чем за две секунды по сравнению с текущим обрабатываемым событием. Контрольная точка обеспечивается путем записи последнего завершенного события вывода вместе с номером устройства и индексом файла последнего завершившегося события в файл контрольной точки. При следующем вызове ausearch загрузит данные контрольной точки и при обработке файлов журнала, будет отбрасывать все завершенные события, пока они не соответствуют контрольной точке, в этот момент ausearch начнет выводить события.
-e, --exit <код>
Искать события на основе кода системного вызова exit или errno.
--escape <опция>
Экранировать вывод. Возможные значения: raw, tty, shell и shell_quote. Каждый режим включает в себя символы предыдущего режима и экранирует больше символов. То есть shell включает все символы, экранируемые tty, и добавляет новые. Значение по умолчанию — tty.
--extra-keys
Если параметр format имеет значение csv, вывести столбец с дополнительной информацией.
Работает только с записями SYSCALL, которые были записаны в результате запуска правила аудита, определенного ключом.
--extra-labels
Если параметр format имеет значение csv, добавить информацию о метках субъекта и объекта (если метки существуют).
--extra-obj2
Если параметр format имеет значение csv, добавить информацию о втором объекте (если он существует). Второй объект иногда является частью записи, например, при переименовании файла или монтировании устройства.
--extra-time
Если параметр format имеет значение csv, добавить информацию о времени простоя.
-f, --file <файл>
Искать события с заданным именем файла.
--format <опции>
Отформатировать события, которые соответствуют критериям поиска. Поддерживаемые форматы: raw, default, interpret, csv и text. Значение raw описано в опции raw. При значении default строки выводятся без форматирования, в выводе используется одна строка в качестве визуального разделителя, далее указывается метка времени, а затем следуют записи события. Значение interpret объясняется в описании опции -i. При значении csv результат поиска выводится в формате CSV. Значение text преобразует вывод к формату предложений, что упрощает понимание вывода, но происходит это за счет потери деталей.
-ga, --gid-all all-<идентификатор группы>
Искать события с заданным эффективным или обычным идентификатором группы.
-ge, --gid-effective <эффективный идентификатор группы>
Искать события с заданным эффективным идентификатором группы или именем группы.
-gi, --gid <группа>
Искать события с заданным идентификатором группы или именем группы.
-h, --help
Справка
-hn, --host <имя узла>
Искать события с заданным именем узла. Имя узла может быть именем узла, полным доменным именем или цифровым сетевым адресом.
-i, --interpret
Транслировать числовые значения в текстовые. Например, идентификатор пользователя будет транслирован в имя пользователя. Трансляция выполняется с использованием данных с той машины, где запущена команда ausearch.
-if, --input <файл>|<каталог>
Использовать указанный файл или каталог вместо логов аудита. Это может быть полезно при анализе логов с другой машины или при анализе частично сохраненных логов.
--input-logs
Использовать местоположение файла журнала из auditd.conf как исходные данные для анализа. Применяется при использовании команды ausearch в задании cron.
--just-one
Остановиться после выдачи первого события, соответствующего критериям поиска.
-k, --key <ключевое слово>
Искать события с заданным ключевым словом.
-l, --line-buffered
Сбрасывать вывод после каждой строки.
-m, --message <тип>|<список типов>
Искать события с заданным типом, при этом можно указать список значений, разделенных запятыми. Можно указать несуществующий в событиях тип «ALL», который позволяет получить все сообщения системы аудита (список допустимых типов будет показан, если указать эту опцию без значения). Тип сообщения может быть строкой или числом. В списке значений этого параметра в качестве разделителя используются запятые и пробелы недопустимы.
-n , --node
Искать события с определенного узла. Допускается указание нескольких узлов (для вывода достаточно совпадение любого узла).
-p, --pid <идентификатор процесса>
Искать события с заданным идентификатором процесса.
-pp, --ppid <идентификатор процесса>
Искать события с заданным идентификатором родительского процесса.
-r, --raw
Необработанный вывод. Используется для извлечения записей для дальнейшего анализа.
-sc, --syscall <системный вызов>
Искать события с заданным системным вызовом. Можно указать номер или имя системного вызова. При указании имени системного вызова, оно будет проверено по таблице системных вызовов на машине, где запущена команда ausearch.
--session <идентификатор сеанса>
Искать события с заданным идентификатором сеанса. Этот атрибут устанавливается, когда пользователь входит в систему и может связать любой процесс с определенным именем пользователя.
-sv, --success <флаг>
Искать события с заданным флагом успешного выполнения. Допустимые значения: yes (успешно) и no (неудачно).
-te, --end <дата> <время>
Искать события, которые произошли раньше (или во время) указанной временной точки. Формат даты и времени зависит от региональных настроек. В случае если дата не указана, то подразумевается текущий день (today). В случае если не указано время, то подразумевается текущий момент (now).
--ts, --start <дата> <время>
Искать события, которые произошли после (или во время) указанной временной точки.
-tm, --terminal <терминал>
Искать события с заданным терминалом. Некоторые службы (такие как cron и atd) используют имя службы как имя терминала.
-ua, --uid-all <идентификатор пользователя>
Искать события, у которых любой из идентификатора пользователя, эффективного идентификатора пользователя или loginuid (auid) совпадают с заданным идентификатором пользователя.
-ue, --uid-effective <эффективный идентификатор пользователя>
Искать события с заданным эффективным идентификатором пользователя.
-ui, --uid <идентификатор пользователя>
Искать события с заданным идентификатором пользователя.
-ul, --loginuid <идентификатор пользователя>
Искать события с заданным идентификатором пользователя. Все программы, которые его используют, должны использовать pam_loginuid.
-uu, --uuid <идентификатор гостя>
Искать события с заданным идентификатором гостя.
-v, --verbose
Показать версию и выйти.
--vm, --vm-name <имя гостя>
Искать события с заданным именем гостя.
-x, --executable <программа>
Искать события с заданным именем исполняемой программы.
Нотацию времени следует использовать в формате «24 часа», а не «AM/PM». Например, дата может быть задана как «10/24/2005», а время — как «18:00:00». Также допускается использовать следующие ключевые слова:
  • now — сейчас;
  • recent — десять минут назад;
  • boot — время за секунду до того, когда система загружалась в последний раз;
  • today — первая секунда после полуночи текущего дня;
  • yesterday — первая секунда после полуночи предыдущего дня;
  • this-week — первая секунда после полуночи первого дня текущей недели, первый день недели определяется из региональных настроек;
  • week-ago — первая секунда после полуночи ровно 7 дней назад;
  • this-month — первая секунда после полуночи первого числа текущего месяца;
  • this-year — первая секунда после полуночи первого числа первого месяца текущего года.