ausearch(8)
| AUSEARCH:(8) | Системное администрирование | AUSEARCH:(8) |
ИМЯ
ausearch - инструмент поиска по журналу аудита
СИНТАКСИС
ausearch [опции]
ОПИСАНИЕ
Программа ausearch является инструментом поиска по журналу аудита. ausearch может также принимать данные со стандартного ввода (stdin) до тех пор, пока на входе будут необработанные данные логов. Все условия, указанные в параметрах, объединяются логическим И. К примеру, при указании -m и -ui в качестве параметров будут показаны события, соответствующие заданному типу и идентификатору пользователя. Исключением являются параметры -m и -n (в строке поиска допускается указание несколько типов записей и имен узлов, которые будут возвращать любой соответствующий узел и запись).
Стоит отметить, что каждый системный вызов ядра из пользовательского пространства и возвращение данных в пользовательское пространство имеет один уникальный (для каждого системного вызова) идентификатор события.
Различные части ядра могут добавлять дополнительные записи. Например, в событие аудита для системного вызова "open" добавляется запись PATH с именем файла. ausearch показывает все записи события вместе. Это означает, что при запросе определенных записей результат может содержать записи SYSCALL.
Также помните, что не все типы записей содержат указанную информацию. Например, запись PATH не содержит имя узла или loginuid.
ОПЦИИ
- -a, --event идентификатор_события
- Искать события с заданным идентификатором события. В сообщении msg=audit(1116360555.329:2401771), идентификатор события - число после ':'. Все события аудита, связанные с одним системным вызовом имеют одинаковый идентификатор. Второй системный вызов, сделанный тем же приложением, будет иметь другой идентификатор события.
- --arch CPU
- Искать события на основе определенной архитектуры процессора. В случае если архитектура машины неизвестна, однако необходимо использовать таблицу 32-х битных системных вызовов, и машина поддерживает 32 бита, можно использовать b32. Аналогичным образом применяется таблица системных вызовов b64. Для определения архитектуры необходимо использовать команду 'uname -m'.
- -c, --comm comm-name
- Искать события с заданным comm-name, именем исполняемого файла из структуры задачи.
- --debug
- Вывести сообщения, пропущенные stderr.
- --checkpoint контрольная_точка
- Контрольная
точка это
вывод
между
последовательными
вызовами ausearch,
ак что в
последующих
вызовах
будут
выводиться
только
события, не
попавшие в
предыдущий
вывод.
Событие auditd состоит из одной или нескольких записей. При обработке события ausearch определяет события как завершенные и незавершенные. Завершенное событие - это одно событие записи или то, которое произошло раньше, чем за 2 секунды по сравнению с текущим обрабатываемым событием.
Контрольная точка обеспечивается путем записи последнего завершенного события вывода вместе с номером устройства и индексом файла последнего завершившегося события в файл контрольной точки. При следующем вызове ausearch загрузит данные контрольной точки и при обработке файлов журнала, будет отбрасывать все завершенные события, пока они не соответствуют контрольной точке, в этот момент ausearch начнет выводить события.
Если файл или последнее событие контрольной точки не будут найдены, произойдет ошибка, и команда ausearch прекратит работу. Подробнее см. EXIT STATUS.
- -e, --exit exit-или-errno
- Искать события на основе кода системного вызова exit или errno.
- --escape option
- Экранировать вывод. Возможные значения 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 файл
- Искать события с заданным именем файла. Аргумент будет соответствовать обычным файлам, а также сокетам af_unix.
- --format опция
- Отформатировать события, которые соответствуют критериям поиска. Поддерживаемые форматы: raw, default, interpret, csv и text. Значение raw описано в опции --raw. При значении default строки выводятся без форматирования, в выводе используется одна строка в качестве визуального разделителя, далее указывается метка времени, а затем следуют записи события. Значение interpret объясняется в описании опции -i. При значении csv результат поиска выводится в формате CSV (от англ. Comma-Separated Values - значения, разделённые запятыми). Значение text преобразует вывод к формату предложений, что упрощает понимание вывода, но происходит это за счет потери деталей. В большинстве случаев это очень удобно, так при этом сохраняется почти вся исходная информация.
- -ga, --gid-all идентификатор_группы
- Искать события с заданным эффективным или обычным идентификатором группы.
- -ge, --gid-effective эффективный_идентификатор_группы
- Искать события с заданным эффективным идентификатором группы или именем группы.
- -gi, --gid группа
- Искать события с заданным идентификатором группы или именем группы.
- -h, --help
- Справка
- -hn, --host имя_узла
- Искать события с заданным именем узла. Имя узла может быть именем узла, полным доменным именем или цифровым сетевым адресом. Попытка разрешить числовые адреса в доменные имена или псевдонимы не производится. Поиск обычно соответствует полю addr или host событий аудита. Также см. команду --node, которая ищет поле узла.
- -i, --interpret
- Транслировать числовые значения в текстовые. Например, идентификатор пользователя будет транслирован в имя пользователя. Трансляция выполняется с использованием данных с той машины, где запущен ausearch. То есть если вы переименовали учетные записи пользователей или не имеете таких же учетных записей на вашей машине, то вы можете получить результаты, вводящие в заблуждение. Если журналы расширены, для преобразования используются дополнительные данные. Это позволяет получать точные отчеты журнала, даже если поиск запускается на компьютере, отличном от исходного журнала.
- -if, --input файл | каталог
- Использовать указанный файл или каталог вместо логов аудита. Это может быть полезно при анализе логов с другой машины или при анализе частично сохраненных логов.
- --input-logs
- Использовать местоположение файла журнала из auditd.conf как исходные данные для поиска. Применяется при использовании команды ausearch из задания cron.
- --just-one
- Остановиться после выдачи первого события, соответствующего критериям поиска.
- -k, --key ключевое_слово
- Искать события с заданным ключевым словом.
- -l, --line-buffered
- Сбрасывать вывод после каждой строки. Полезно если стратегия буферизации блоков по умолчанию нежелательна.
- -m, --message тип_сообщения | список_типов_сообщений
- Искать события с заданным типом, при этом можно указать список значений, разделенных запятыми или несколько отдельных типов сообщений, каждый со своей опцией -m. Можно указать несуществующий в событиях тип ALL, который позволяет получить все сообщения системы аудита. Список допустимых типов будет выведен, если указать эту опцию без значения. Тип сообщения может быть строкой или числом. В списке значений этого параметра в качестве разделителя используются запятые и пробелы недопустимы.
- -n, --node
- Искать события с определенного узла. Допускается указание нескольких узлов (для вывода достаточно совпадение любого узла). Поиск использует поле node в событиях аудита. Также см. описание опции --host, которая позволяет искать события, связанные с заданным именем узла.
- -o, --object контекст
- Искать события с заданным контекстом (в контексте SELinux).
- -p, --pid идентификатор_процесса
- Искать события с заданным идентификатором процесса.
- -pp, --ppid идентификатор_родительского_процесса
- Искать события с заданным идентификатором родительского процесса.
- -r, --raw
- Необработанный вывод. Используется для извлечения записей для дальнейшего анализа.
- -sc, --success системный_вызов
- Искать события с заданным системным вызовом. Можно указать номер или имя системного вызова. При указании имени системного вызова, оно будет проверено по таблице системных вызовов на машине, где запущен ausearch.
- -se, --context контекст_SELinux
- Искать события с заданным контекстом SELinux (scontext/субъект или tcontext/object).
- --session идентификатор_сеанса
- Искать события с заданным идентификатором сеанса. Этот атрибут устанавливается когда пользователь входит в систему, и может связать любой процесс с определенным именем пользователя.
- -su, --subject SE-Linux-context-string
- Искать события с заданным контекстом SELinux - scontext (субъект).
- -sv, --success флаг
- Искать события с заданным флагом успешного выполнения. Допустимые значения: yes (успешно) и no(неудачно).
- -te, --end [дата] [время]
- Искать
события,
которые
произошли
раньше (или
во время)
указанной
временной
точки.
Формат
даты и
времени
зависит от
региональных
настроек.
Просмотреть
формат,
можно
выполнив
команду date
'+%x'. Если
дата не
указана, то
подразумевается
текущий
день (today).
Если не
указано
время, то
подразумевается
текущий
момент (now).
Используйте
24-часовую
нотацию
времени, а
не AM/PM.
Например,
дата может
быть
задана как
09/03/2009, а время -
как 18:00:00. На
принятый
формат
даты
влияет
переменная
среды LC_TIME.
Также допускается использовать следующие ключевые слова: now (сейчас), recent, boot, today, yesterday, this-week, week-ago, this-month, this-year. Now - сейчас. Recent - 10 минут назад. Boot - время за секунду до того, когда система загружалась в последний раз. Today - первая секунда после полуночи текущего дня. Yesterday - первая секунда после полуночи предыдущего дня. This-week - первая секунда после полуночи первого дня текущей недели, первый день недели определяется из ваших региональных настроек (см. localtime). Week-ago - первая секунда после полуночи ровно 7 дней назад. This-month - первая секунда после полуночи первого числа текущего месяца. This-year - первая секунда после полуночи первого числа первого месяца текущего года.
- -ts, --start [дата] [время]
- Искать
события,
которые
произошли
после (или
во время)
указанной
временной
точки.
Формат
даты и
времени
зависит от
региональных
настроек.
Просмотреть
формат,
можно
выполнив
команду date
'+%x'. Если
дата не
указана, то
подразумевается
текущий
день (today).
Если не
указано
время, то
подразумевается
полночь
(midnight).
Используйте
24-часовую
нотацию
времени, а
не AM/PM.
Например,
дата может
быть
задана как
09/03/2009, а время -
как 18:00:00.
Также допускается использовать следующие ключевые слова: now (сейчас), recent, boot, today, yesterday, this-week, week-ago, this-month, this-year. Now - сейчас. Recent - 10 минут назад. Boot - время за секунду до того, когда система загружалась в последний раз. Today - первая секунда после полуночи текущего дня. Yesterday - первая секунда после полуночи предыдущего дня. This-week - первая секунда после полуночи первого дня текущей недели, первый день недели определяется из ваших региональных настроек (см. localtime). Week-ago - первая секунда после полуночи ровно 7 дней назад. This-month - первая секунда после полуночи первого числа текущего месяца. This-year - первая секунда после полуночи первого числа первого месяца текущего года.
Контрольная точка означает, что ausearch будет использовать метку времени, найденную в файле контрольных точек, игнорируя inode, device, serial, node и тип события, а также найденные в файле контрольные точки. По сути, это восстановление в случае сбоя вызова ausearch с опцией контрольной точки с кодом выхода 10, 11 или 12. Его можно использовать в скрипте примерно так:
ausearch --checkpoint /etc/audit/auditd_checkpoint.txt -i _au_status=$? if test ${_au_status} eq 10 -o ${_au_status} eq 11 -o ${_au_status} eq 12 then
ausearch --checkpoint /etc/audit/auditd_checkpoint.txt --start checkpoint -i fi
- -tm, --terminal терминал
- Искать события с заданным терминалом. Некоторые демоны (такие, как cron и atd) используют имя демона как имя терминала.
- -ua, --uid-all идентификатор_пользователяfP
- Искать события, у которых любой из идентификатора пользователя, эффективного идентификатора пользователя или loginuid (auid) совпадают с заданным идентификатором пользователя.
- -ue, --uid-effective Эффективный_идентификатор_пользователя
- Искать события с заданным эффективным идентификатором пользователя.
- -ui, --uid идентификатор_пользователя
- Искать события с заданным идентификатором пользователя.
- -ul, --loginuid идентификатор_пользователя
- Искать события с заданным идентификатором пользователя. Все программы, которые его используют, должны использовать pam_loginuid.
- -uu, --uuid идентификатор_гостя
- Искать события с заданным идентификатором гостя.
- -v, --verbose
- Показать версию и выйти.
- -vm, --vm-name имя_гостя
- Искать события с заданным именем гостя.
- -w, --word
- Совпадение с полным словом. Поддерживается для имени файла, имени узла, терминала, ключевого слова и контекста SELinux.
- -x, --executable программа
- Искать события с заданным именем исполняемой программы.
СТАТУС ВЫХОДА
- 0
- все хорошо,
- 1
- ничего не найдено, или ошибка в аргументе, или незначительные ошибки доступа/чтения файла,
- 10
- в файле контрольной точки найдены неверные данные,
- 11
- ошибка обработки контрольной точки,
- 12
- событие контрольной точки не найдено в соответствующем файле журнала.
СМ. ТАКЖЕ
ПЕРЕВОД
Перевод с английского Николай Шафоростов <shafff@ukr.net> 2007
Перевод с английского Елена Мишина <lepata@altlinux.org> 2019
| Март 2017 | Red Hat |
