aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/handbook/audit/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/handbook/audit/_index.adoc')
-rw-r--r--documentation/content/ru/books/handbook/audit/_index.adoc232
1 files changed, 115 insertions, 117 deletions
diff --git a/documentation/content/ru/books/handbook/audit/_index.adoc b/documentation/content/ru/books/handbook/audit/_index.adoc
index 05808c0bd7..c2a2b9d971 100644
--- a/documentation/content/ru/books/handbook/audit/_index.adoc
+++ b/documentation/content/ru/books/handbook/audit/_index.adoc
@@ -1,12 +1,14 @@
---
-title: Глава 16. Аудит событий безопасности
-part: Часть III. Системное администрирование
-prev: books/handbook/mac
+description: 'В FreeBSD поддерживается аудит событий безопасности, обеспечивающий надежное, детализированное и настраиваемое журналирование различных системных событий, связанных с безопасностью, включая входы в систему, изменения конфигурации, а также доступ к файлам и сети'
next: books/handbook/disks
-showBookMenu: true
-weight: 20
params:
- path: "/books/handbook/audit/"
+ path: /books/handbook/audit/
+part: 'Часть III. Администрирование системы'
+prev: books/handbook/mac
+showBookMenu: true
+tags: ["audit", "terms", "configuration", "guide", "audit trails"]
+title: 'Глава 19. Аудит событий безопасности'
+weight: 23
---
[[audit]]
@@ -17,7 +19,7 @@ params:
:icons: font
:sectnums:
:sectnumlevels: 6
-:sectnumoffset: 16
+:sectnumoffset: 19
:partnums:
:source-highlighter: rouge
:experimental:
@@ -48,63 +50,62 @@ include::../../../../../shared/asciidoctor.adoc[]
endif::[]
[[audit-synopsis]]
-== Краткий обзор
+== Обзор
-Операционная система FreeBSD включает в себя поддержку аудита событий безопасности. Аудит позволяет выполнять надежное, детальное и гибко настраиваемое протоколирование различных событий, связанных с безопасностью, включая входы в систему, изменения конфигурации, доступ к файлам и сети. Эти записи могут быть незаменимы для мониторинга функционирующей системы, обнаружения вторжений и для анализа событий, приведших к краху системы. В FreeBSD реализован опубликованный Sun(TM) интерфейс прикладного программирования (Application Programming Interface, API), называемый Basic Security Module (BSM), и формат файла, который совместим с реализациями аудита в Solaris(TM) и Mac OS(R) X.
+Операционная система FreeBSD включает поддержку аудита событий безопасности. Аудит событий обеспечивает надежное, детализированное и настраиваемое журналирование различных системных событий, связанных с безопасностью, включая входы в систему, изменения конфигурации, доступ к файлам и сети. Эти записи журнала могут быть неоценимыми для мониторинга системы в реальном времени, обнаружения вторжений и "посмертного" анализа после краха системы. FreeBSD реализует опубликованный Sun(TM) программный интерфейс Basic Security Module (BSM) и формат файлов, и также совместима с реализациями аудита Solaris(TM) и Mac OS(R) X.
-В этой главе описывается процесс установки и конфигурирования системы аудита. В том числе, приводится разъяснение политик аудита, а также даются примеры конфигурационных файлов.
+Эта глава посвящена установке и настройке аудита событий. В ней объясняются политики аудита и приводится пример конфигурации аудита.
-После прочтения этой главы вы будете знать:
+Прочитав эту главу, вы будете знать:
-* Что такое система аудита и как она работает.
-* Как настроить аудит во FreeBSD для мониторинга пользователей и процессов.
-* Как просматривать журнал аудита при помощи инструментов просмотра и фильтрации (reduction).
+* Что такое аудит событий и как он работает.
+* Как настроить аудит событий в FreeBSD для пользователей и процессов.
+* Как просмотреть журнал аудита с использованием инструментов сокращения и просмотра аудита.
-Перед прочтением этой главы вы должны:
+Прежде чем читать эту главу, вы должны:
-* Понимать основы UNIX(R) и FreeBSD (crossref:basics[basics, Основы UNIX]).
-* Уметь конфигурировать и компилировать ядро (crossref:kernelconfig[kernelconfig, Настройка ядра FreeBSD]).
-* Понимать основные принципы безопасности в применении к операционной системе FreeBSD (crossref:security[security, Безопасность]).
+* Понимать основы UNIX(R) и FreeBSD (crossref:basics[basics,Основы FreeBSD]).
+* Быть знакомым с основами настройки и компиляции ядра (crossref:kernelconfig[kernelconfig,Настройка ядра FreeBSD]).
+* Иметь некоторое представление о безопасности и о том, как она относится к FreeBSD (crossref:security[security,Безопасность]).
[WARNING]
====
+У системы аудита есть несколько известных ограничений. Не все связанные с безопасностью системные события подлежат аудиту, а некоторые механизмы входа, такие как дисплейные менеджеры на основе Xorg и сторонние демоны, не настраивают аудит для сеансов пользовательского входа должным образом.
-Реализация аудита имеет известные ограничения. Не все события в настоящий момент протоколируемые. Также, некоторые механизмы входа в систему, такие как оконные менеджеры X11 или демоны от сторонних производителей, не настраивают аудит пользовательских сессий должным образом.
-
-Использование системы аудита может привести к генерированию изобилующих подробностями журнальных файлов. Их размер на загруженных серверах в некоторых конфигурациях может превышать несколько гигабайт в неделю. Администраторы должны принимать во внимание требования к дисковому пространству для нагруженных конфигураций системы аудита. Например, желательно выделить отдельный раздел для файловой системы аудита [.filename]#/var/audit#, чтобы заполнение раздела аудита не влияло на другие файловые системы.
+Система аудита событий безопасности способна создавать очень подробные журналы активности системы. На загруженной системе данные файлов журналов могут быть очень большими при настройке высокой детализации, в некоторых конфигурациях превышая гигабайты в неделю. Администраторы должны учитывать требования к дисковому пространству, связанные с конфигурациями аудита с высоким объемом данных. Например, может быть целесообразно выделить отдельную файловую систему для [.filename]#/var/audit#, чтобы другие файловые системы не пострадали, если файловая система аудита переполнится.
====
[[audit-inline-glossary]]
-== Ключевые понятия
+== Ключевые термины
-Следующие термины относятся к аудиту событий безопасности:
+Следующие термины связаны с аудитом событий безопасности:
-* _событие_ (event): событие, которое может быть занесено в журнал. Примерами событий, относящихся к безопасности системы, являются: создание файла, инициализацию сетевого соединения, вход пользователя в систему. События разделяются на "приписываемые" (attributable) - те, которые могут быть отнесены к конкретному пользователю - и "неприписываемые" (non-attributable). Пример неприписываемого события - любое событие, произошедшее до аутентификации пользователя, например, неверно набранный пароль.
-* _класс_ (class): именованные наборы однотипных событий, которые используются в выражениях выбора. Часто используемые классы событий включают "создание файла" (fc), "выполнение файла" (ex) и "события входа в систему и выхода из нее" (lo).
-* _запись_ (record): единичная запись в журнале, описывающая то или иное событие. Записи содержат информацию о типе события, информацию о субъекте события (пользователе), который выполнил некоторое действие, дату и время события, информацию об объектах и аргументах события, а также информацию об успешности или неуспешности выполнения операции.
-* _журнал_ (trail): файл, содержащий последовательность записей аудита, описывающих события безопасности (security events). Журнал содержит записи в ориентировочно хронологическом порядке по времени завершения события. Только авторизованные процессы могут добавлять записи в журнал.
-* _выражение выбора_ (selection expression): строка, содержащая список префиксов и имен классов, используемая для выбора группы событий.
-* _предварительный выбор_ (preselection): процесс, с помощью которого система определяет, какие события имеют важность для администратора. Предварительный выбор использует ряд выражений выбора, задающих какие именно классы событий и для какого пользователя необходимо вносить в журнал, а также - глобальные настройки, которые будут применяться как для авторизованных, так и для неавторизованных процессов.
-* _фильтрация_ (reduction): процесс, в результате которого записи из существующего журнала выделяются для хранения, распечатки или анализа. Также, это процесс, в результате которого нежелательные записи удаляются из журнала аудита. Используя фильтрацию, администраторы могут реализовывать различные политики хранения данных аудита. Например, детализированный журнал может храниться месяц, но после этого он может быть сокращен чтобы хранить только информацию о входе в систему и выходе из нее.
+* _событие (event)_: аудируемое событие — это любое событие, которое может быть зарегистрировано с помощью подсистемы аудита. Примерами событий, связанных с безопасностью, являются создание файла, установка сетевого соединения или вход пользователя в систему. События могут быть "приписываемые", то есть их можно отследить до аутентифицированного пользователя, или "неприписываемые". Примерами неприписываемых событий являются любые события, происходящие до аутентификации в процессе входа в систему, например, неудачные попытки ввода пароля.
+* _класс (class)_: именованный набор связанных событий, используемых в выражениях выбора. Распространённые классы событий включают "создание файла" (fc), "выполнение" (ex) и "вход/выход" (lo).
+* _запись (record)_: запись в журнале аудита, описывающая событие безопасности. Записи содержат тип события, информацию о субъекте (пользователе), выполняющем действие, данные о дате и времени, информацию об объектах или аргументах, а также указание на успешность или неудачу выполнения.
+* _журнал (trail)_: файл журнала, состоящий из серии записей аудита, описывающих события безопасности. Записи в журнале расположены в приблизительном хронологическом порядке относительно времени завершения событий. Только авторизованные процессы имеют право добавлять записи в журнал аудита.
+* _выражение выбора (selection expression)_: строка, содержащая список префиксов и имен классов событий аудита, используемых для сопоставления событий.
+* _предварительный выбор (preselection)_: процесс, в ходе которого система определяет, какие события представляют интерес для администратора. Конфигурация предварительного отбора использует ряд выражений выбора для определения классов событий, подлежащих аудиту для конкретных пользователей, а также глобальные настройки, применяемые как к авторизованным, так и к неавторизованным процессам.
+* _фильтрация (reduction)_: процесс выбора записей из существующих журналов аудита для сохранения, печати или анализа. Аналогично, процесс удаления нежелательных записей аудита из журнала. Используя сокращение, администраторы могут реализовать политики сохранения данных аудита. Например, детальные журналы аудита могут храниться в течение одного месяца, но после этого они могут быть сокращены, чтобы сохранить только информацию о входах в систему для архивных целей.
[[audit-config]]
-== Настройка системы аудита
+== Настройка аудита
-Пользовательская часть системы аудита входит в базовую систему FreeBSD, системная часть включена в ядро [.filename]#GENERIC#, старт демона man:auditd[8] активируется включением следующей записи в [.filename]#/etc/rc.conf#:
+Поддержка аудита событий в пользовательском пространстве устанавливается как часть базовой операционной системы FreeBSD. Поддержка на уровне ядра доступна в ядре [.filename]#GENERIC# по умолчанию, и man:auditd[8] может быть включен добавлением следующей строки в [.filename]#/etc/rc.conf#:
[.programlisting]
....
auditd_enable="YES"
....
-Затем нужно запустить демон аудита:
+Затем запустите демон аудита:
-[source,shell]
+[source, shell]
....
# service auditd start
....
-Пользователям, предпочитающим строить специализированное ядро, необходимо включить следующую запись в файл конфигурации ядра:
+Пользователи, предпочитающие компилировать собственное ядро, должны включить следующую строку в файл конфигурации своего ядра:
[.programlisting]
....
@@ -113,89 +114,89 @@ options AUDIT
=== Выражения выбора событий
-Выражения выбора используются в нескольких местах конфигурации для отбора событий, подлежащих аудиту. Выражения содержат перечень классов событий, с которым сравнивается происшедшее событие. Выражения выбора рассматриваются слева направо, и два выражения объединяются добавлением первого выражения ко второму.
+Выражения выбора используются в нескольких местах конфигурации аудита для определения, какие события должны аудироваться. Выражения содержат список классов событий для сопоставления. Выражения выбора вычисляются слева направо, а два выражения объединяются путем добавления одного к другому.
-<<event-selection>> перечисляет имеющиеся по умолчанию записи:
+crossref:audit[event-selection,Классы событий аудита по умолчанию] содержит сводку классов событий аудита по умолчанию:
[[event-selection]]
-.Классы событий системы аудита
+.Классы событий аудита по умолчанию
[cols="1,1,1", frame="none", options="header"]
|===
| Имя класса
-| Расшифровка
+| Описание
| Действие
|all
|all
-|Соответствует всем классам событий.
+|Совпадает со всеми классами событий.
|aa
|authentication and authorization
-|
+|
|ad
|administrative
-|Аудит административных действий, произошедших в системе.
+|Административные действия, выполняемые с системой в целом.
|ap
|application
-|События, определяемые каким-либо приложением.
+|Определенное приложением действие.
|cl
|file close
-|Аудит вызовов системной функции `close`.
+|Аудит вызовов системного вызова `close`.
|ex
|exec
-|Аудит запуска приложения. Аудит аргументов командной строки и переменных окружения контролируется через man:audit_control[5] используя параметры `argv` и `envv` в опции `policy`.
+|Аудит выполнения программ. Аудит аргументов командной строки и переменных окружения контролируется через man:audit_control[5] с использованием параметров `argv` и `envv` в настройке `policy`.
|fa
|file attribute access
-|Аудит доступа к атрибутам объектов, например таких как man:stat[1], man:pathconf[2].
+|Аудит доступа к атрибутам объектов, таким как man:stat[1] и man:pathconf[2].
|fc
|file create
-|Аудит событий, в результате которых создаются файлы.
+|События аудита, в результате которых создается файл.
|fd
|file delete
-|Аудит событий, в результате которых удаляются файлы.
+|Аудит событий, в которых происходит удаление файлов.
|fm
|file attribute modify
-|Аудит событий, в результате которых изменяются атрибуты файлов, например, man:chown[8], man:chflags[1], man:flock[2].
+|События аудита, связанные с изменением атрибутов файлов, например, с помощью man:chown[8], man:chflags[1] и man:flock[2].
|fr
|file read
-|Аудит событий, в результате которых происходит чтение данных или открываются файлы на чтение.
+|События аудита, в которых данные читаются или файлы открываются для чтения.
|fw
|file write
-|Аудит событий, в результате которых происходит запись данных, запись или изменение файлов.
+|События аудита, в которых данные записываются или файлы создаются либо изменяются.
|io
|ioctl
-|Аудит вызовов системной функции man:ioctl[2].
+|Контроль использования системного вызова `ioctl`.
|ip
|ipc
-|Аудит различных видов взаимодействия процессов, включая создание неименованных каналов (POSIX pipe) и взаимодействие процессов в стиле System V IPC.
+|Аудит различных форм межпроцессного взаимодействия, включая POSIX-каналы и операции System V IPC.
|lo
|login_logout
-|Аудит событий man:login[1] и man:logout[1].
+|Audit man:login[1] и man:logout[1] события.
|na
|non attributable
|Аудит неприписываемых событий.
|no
-|invalid class
-|Не соответствует никаким событиям аудита.
+|ошибочный класс
+|Не соответствует ни одному событию аудита.
|nt
|network
-|Аудит событий, связанных с сетевыми подключениями, например man:connect[2] и man:accept[2].
+|События аудита, связанные с сетевыми действиями, такими как man:connect[2] и man:accept[2].
|ot
|other
@@ -203,68 +204,66 @@ options AUDIT
|pc
|process
-|Аудит действий процессов, таких как man:exec[3] и man:exit[3].
+|Аудит операций процессов, таких как man:exec[3] и man:exit[3].
|===
-Эти классы событий могут быть настроены изменением конфигурационных файлов [.filename]#audit_class# и [.filename]#audit_event#.
+Эти классы событий аудита могут быть настроены путем изменения конфигурационных файлов [.filename]#audit_class# и [.filename]#audit_event#.
+
+Каждый класс событий аудита может быть объединен с префиксом, указывающим, соответствуют ли успешные/неудачные операции, и добавляется или удаляется запись для соответствия классу и типу. В crossref:audit[event-prefixes,Префиксы для классов событий аудита] приведены доступные префиксы:
-Каждый класс аудита можно скомбинировать с префиксом, показывающим, какие операции будут учитываться - удачные или неудачные, а также то, включает ли данная запись аудит для данного класса и типа, либо отключает его. <<event-prefixes>> обобщает доступные префиксы:
[[event-prefixes]]
-.Префиксы классов аудита событий
+.Префиксы для классов событий аудита
[cols="1,1", frame="none", options="header"]
|===
| Префикс
| Действие
|+
-|Аудит успешных событий в данном классе.
+|Аудит успешных событий в этом классе.
|-
-|Аудит ошибочных событий в данном классе.
+|Аудит неудачных событий в этом классе.
|^
-|Отключение аудита как успешных, так и ошибочных событий в данном классе.
+|Не аудировать ни успешные, ни неудачные события в этом классе.
|^+
-|Отключение аудита успешных событий в данном классе.
+|Не аудировать успешные события в данном классе.
|^-
-|Отключение аудита ошибочных событий в данном классе.
+|Не аудировать неудачные события в этом классе.
|===
-Если префикс не указан, то аудиту подлежат как успешные, так и неуспешные события.
+Если префикс отсутствует, будут аудироваться как успешные, так и неудачные экземпляры события.
-Следующий пример выбирает успешные и неуспешные события входа в систему и выхода из нее, и только успешные события выполнения приложения:
+Следующая строка выбора выбирает как успешные, так и неудачные события входа/выхода, но только успешные события выполнения:
[.programlisting]
....
lo,+ex
....
-=== Конфигурационные файлы
+=== Файлы конфигурации
-В каталоге [.filename]#/etc/security# находятся следующие конфигурационные файлы системы аудита:
+В каталоге [.filename]#/etc/security# находятся следующие файлы конфигурации для аудита событий безопасности:
* [.filename]#audit_class#: содержит определения классов аудита.
-* [.filename]#audit_control#: контроллирует некоторые аспекты системы аудита, такие как классы по умолчанию, минимальное дисковое пространство, которое должно оставаться на разделе журнала аудита, максимальный размер журнала аудита.
-*
-+
-[.filename]#audit_event#: связывает идентификаторы событий (eventnum) с их текстовыми именами, описаниями и классами событий.
-* [.filename]#audit_user#: уточняет настройки аудита для конкретных пользователей; они комбинируются с глобальными настройками при входе пользователя в систему.
-* [.filename]#audit_warn#: настраиваемый скрипт командного интерпретатора, который вызывается man:auditd[8] для генерации предупреждений в исключительных ситуациях, таких как исчерпание дискового пространства записями аудита или при ротации журнала аудита.
+* [.filename]#audit_control#: управляет аспектами подсистемы аудита, такими как классы аудита по умолчанию, минимальное свободное место на томе с журналом аудита и максимальный размер журнала аудита.
+* [.filename]#audit_event#: текстовые названия и описания системных событий аудита, а также список классов, к которым относится каждое событие.
+* [.filename]#audit_user#: пользовательские требования аудита, которые объединяются с глобальными настройками по умолчанию при входе в систему.
+* [.filename]#audit_warn#: настраиваемый сценарий оболочки, используемый man:auditd[8] для генерации предупреждающих сообщений в исключительных ситуациях, например, когда заканчивается место для записей аудита или когда файл журнала аудита был перезаписан.
[WARNING]
====
-
-Файлы конфигурации аудита должны редактироваться и изменяться с осторожностью, так как ошибки в конфигурации могут привести к сохранению бесполезных записей.
+Файлы конфигурации аудита следует редактировать и поддерживать тщательно, так как ошибки в конфигурации могут привести к некорректной записи событий.
====
-В большинстве случаев администратору придется вносить изменения только в два конфигурационных файла системы аудита: [.filename]#audit_control# и [.filename]#audit_user#. Первый из них содержит общие настройки системы аудита, второй может использоваться для уточнения настроек аудита для конкретных пользователей.
+В большинстве случаев администраторам потребуется изменить только файлы [.filename]#audit_control# и [.filename]#audit_user#. Первый файл управляет системными настройками и политиками аудита, а второй может использоваться для тонкой настройки аудита по пользователям.
[[audit-auditcontrol]]
==== Файл [.filename]#audit_control#
-Ниже приведен перечень настроек по умолчанию, содержащихся в [.filename]#audit_control#:
+Некоторые параметры подсистемы аудита по умолчанию указаны в файле [.filename]#audit_control#:
[.programlisting]
....
@@ -278,28 +277,28 @@ filesz:2M
expire-after:10M
....
-Запись `dir` используется для установки одного или более каталогов, в которых будет сохраняться журнал системы аудита. Если указан более чем один каталог, то указанные каталоги будут использоваться по очереди, по мере заполнения. Как правило, система аудита настраивается на хранение журнала аудита на отдельном разделе, чтобы предотвратить взаимное влияние подсистемы аудита и остальных подсистем в случае исчерпания свободного места на разделе.
+Запись `dir` используется для указания одного или нескольких каталогов, в которых будут храниться журналы аудита. Если указано несколько каталогов, они будут использоваться по очереди по мере заполнения. Обычно настраивают аудит так, чтобы журналы хранились на выделенной файловой системе — это предотвращает конфликты между подсистемой аудита и другими подсистемами при заполнении файловой системы.
-Если опция `dist` имеет значение `on` или `yes`, то для всех журналов аудита будут создаваться жесткие ссылки, сохраняемые в [.filename]#/var/audit/dist#.
+Если поле `dist` установлено в `on` или `yes`, жесткие ссылки будут созданы для всех файлов журнала в [.filename]#/var/audit/dist#.
-Запись `flags` используется для установки глобальной маски предварительного выбора для приписываемых событий. В примере выше аудиту будут подвергаться как успешные, так и неудачные попытки входа в систему и выхода из нее, а также - аутентификация и авторизация для всех пользователей.
+Поле `flags` устанавливает системную маску предварительного выбора по умолчанию для учитываемых событий. В приведённом примере аудиту подлежат успешные и неудачные события входа/выхода, а также аутентификация и авторизация для всех пользователей.
-Запись `minfree` определяет минимальное количество свободного дискового пространства на разделе, в который сохраняются файлы журналов аудита.
+Запись `minfree` определяет минимальный процент свободного места в файловой системе, где хранится журнал аудита.
-Запись `naflags` определяет классы аудита для неприписываемых событий, например, процессов входа в систему и системных демонов.
+Запись `naflags` определяет классы аудита для событий без атрибутов, таких как процесс входа/выхода, аутентификация и авторизация.
-Запись `policy` определяет разделяемый запятыми список флагов политики, определяющей различные аспекты поведения аудита. Флаг `cnt` указывает, что система должна продолжать работать, несмотря на ошибки аудита (данный флаг настоятельно рекомендуется). Второй флаг, `argv`, заставляет подвергать аудиту аргументы командной строки при вызове системного вызова man:execve[2].
+Запись `policy` определяет список флагов политики, разделённых запятыми, которые контролируют различные аспекты поведения аудита. Флаг `cnt` указывает, что система должна продолжать работу, несмотря на сбой аудита (этот флаг настоятельно рекомендуется). Другой флаг, `argv`, приводит к аудиту аргументов командной строки системного вызова man:execve[2] как части выполнения команды.
-Запись `filesz` определяет максимальный размер журнала событий аудита, по достижении которого журнал будет автоматически закончен и подвергнут ротации. Значение `0` запрещает автоматическую ротацию логов. Если указанный размер ниже минимального значения 512К, то он будет проигнорирован, и будет сгенерировано предупреждающее сообщение в логах.
+`filesz` указывает максимальный размер файла аудита перед автоматическим завершением и ротацией файла. Значение `0` отключает автоматическую ротацию логов. Если запрашиваемый размер файла меньше минимального значения в 512k, он будет проигнорирован, и будет сгенерировано сообщение в логе.
-Поле `expire-after` определяет момент времени, при достижении которого журнальные файлы считаются неактуальными и удаляются.
+Поле `expire-after` указывает, когда файлы журналов аудита устареют и будут удалены.
[[audit-audituser]]
==== Файл [.filename]#audit_user#
-Администратор может определить дополнительные требования к аудиту для конкретных пользователей в файле [.filename]#audit_user#. Каждая строка позволяет уточнить настройки аудита для пользователя при помощи двух полей: `alwaysaudit` - определяющее набор событий, которые должны всегда подвергаться аудиту для данного пользователя, и `neveraudit` - перечисляющее набор событий, которые никогда не должны подвергаться аудиту для пользователя.
+Администратор может указать дополнительные требования аудита для конкретных пользователей в файле [.filename]#audit_user#. Каждая строка настраивает аудит для пользователя с помощью двух полей: поле `alwaysaudit` определяет набор событий, которые всегда должны аудироваться для пользователя, а поле `neveraudit` определяет набор событий, которые никогда не должны аудироваться для пользователя.
-Нижеследующий пример настраивает аудит всех событий входа в систему, выхода из системы, а также аудит всех успешных выполнений команд для пользователя `root`, а также - аудит всех событий, связанных с созданием файлов и успешным выполнением команд пользователем `www`. С настройками по умолчанию в [.filename]#audit_control# запись `lo` для `root` является избыточной, кроме того, события входа в систему и выхода из системы будут подвергаться аудиту и для пользователя `www`.
+Следующие примеры записей аудита фиксируют события входа/выхода и успешного выполнения команд для пользователя `root`, а также создание файлов и успешное выполнение команд для пользователя `www`. Если используется файл [.filename]#audit_control# по умолчанию, запись `lo` для `root` избыточна, и события входа/выхода также будут фиксироваться для `www`.
[.programlisting]
....
@@ -310,18 +309,18 @@ www:fc,+ex:no
[[audit-administration]]
== Работа с журналами аудита
-Так как журнал аудита хранится в бинарном формате BSM, то для его изменения или перевода в текстовый формат предоставляются встроенные утилиты. Утилита `praudit` преобразует журнал аудита в текстовый формат. Утилита `auditreduce` применяется для фильтрации журнальных записей с целью анализа, архивирования или распечатки. Последняя утилита поддерживает разнообразие параметров, позволяющих выбирать записи по типу события, по классу события, по пользователю, по дате или времени события, по пути к файлу или по объекту, над которым производилось действие.
+Поскольку записи аудита хранятся в двоичном формате BSM, для их изменения или преобразования в текстовый формат доступны встроенные инструменты. Для преобразования файлов записей в простой текстовый формат используйте `praudit`. Для сокращения файла записей аудита с целью анализа, архивирования или печати используйте `auditreduce`. Эта утилита поддерживает различные параметры выбора, включая тип события, класс события, пользователя, дату или время события, а также путь к файлу или объект, над которым выполнялось действие.
-Например, для отображения всего содержимого журнала аудита в текстовом формате выполните:
+Например, чтобы вывести всё содержимое указанного журнала аудита в виде обычного текста:
-[source,shell]
+[source, shell]
....
# praudit /var/audit/AUDITFILE
....
-В данном примере _AUDITFILE_ - журнал, который будет выведен в текстовом формате.
+Где _AUDITFILE_ — файл журнала аудита для дампа.
-Журнал аудита состоит из серии записей, которые, в свою очередь состоят из элементов, которые команда `praudit` выводит последовательно - по одному на строку. Каждый элемент имеет определенный тип, например `header` (содержит заголовок записи) или `path` (полный путь к файлу). Следующий пример показывает запись для события `execve`:
+Журналы аудита состоят из последовательности записей аудита, сформированных из токенов, которые `praudit` выводит последовательно, по одному на строку. Каждый токен имеет определённый тип, например, `header` (заголовок записи аудита) или `path` (путь к файлу из поиска по имени). Ниже приведён пример события `execve`:
[.programlisting]
....
@@ -334,66 +333,65 @@ return,success,0
trailer,133
....
-Эта запись отражает результат успешного выполнения системного вызова `execve`, который стал результатом выполнения команды `finger doug`. В элементе записи `exec arg` есть командная строка, которую оболочка передала ядру. Элемент `path` содержит путь к исполняемому файлу в представлении ядра. Элемент `attribute` описывает исполняемый файл, а также права доступа файла. Элемент `subject` описывает ID аудируемого пользователя, исполняющие (effective) UID и GID, реальные ID пользователя и группы, идентификатор процесса, идентификатор сессии, порт и адрес, с которого был осуществлен вход в систему. Обратите внимание: идентификатор аудируемого пользователя и реальный идентификатор пользователя отличаются, так как пользователь `robert` повысил привилегии до пользователя `root` перед выполнением команды, но система аудита занесла его действия в журнал используя изначальный идентификатор. Элемент `return` описывает успешное выполнение операции, а элемент `trailer` завершает запись.
+Этот аудит представляет успешный вызов `execve`, в котором была выполнена команда `finger doug`. Токен `exec arg` содержит обработанную командную строку, переданную оболочкой ядру. Токен `path` содержит путь к исполняемому файлу, найденный ядром. Токен `attribute` описывает бинарный файл и включает режим файла. Токен `subject` хранит аудитный идентификатор пользователя, эффективные идентификаторы пользователя и группы, реальные идентификаторы пользователя и группы, идентификатор процесса, идентификатор сессии, идентификатор порта и адрес входа. Обратите внимание, что аудитный идентификатор пользователя и реальный идентификатор пользователя различаются, так как пользователь `robert` переключился на учетную запись `root` перед выполнением этой команды, но аудит ведется с использованием исходного аутентифицированного пользователя. Токен `return` указывает на успешное выполнение, а `trailer` завершает запись.
-Указав аргумент `-x` можно получить вывод в формате XML.
+Также поддерживается формат вывода XML, и он может быть выбран добавлением опции `-x`.
-Поскольку логи системы аудита могут иметь огромный размер, возможно выделить только часть записей при помощи `auditreduce`. В следующем примере из [.filename]#AUDITFILE# выбираются все записи, касающиеся пользователя `trhodes`:
+Поскольку журналы аудита могут быть очень большими, можно выбрать подмножество записей с помощью `auditreduce`. В этом примере выбираются все записи аудита, созданные для пользователя `trhodes`, хранящиеся в [.filename]#AUDITFILE#:
-[source,shell]
+[source, shell]
....
# auditreduce -u trhodes /var/audit/AUDITFILE | praudit
....
-Члены группы `audit` имеют доступ на чтение к журналу аудита, находящемуся в [.filename]#/var/audit#. По умолчанию эта группа пуста, и только `root` имеет к ним доступ. Для того, чтобы дать пользователю права на чтение журнала, его необходимо добавить в группу `audit`. Право на чтение журнала аудита позволяет получить множество информации о поведении пользователей и процессов, поэтому рекомендуется делегировать права на чтение журнала аудита с большой осторожностью.
+Участники группы `audit` имеют право читать журналы аудита в [.filename]#/var/audit#. По умолчанию эта группа пуста, поэтому только пользователь `root` может читать журналы аудита. Пользователи могут быть добавлены в группу `audit` для делегирования прав просмотра аудита. Поскольку возможность отслеживать содержимое журналов аудита дает значительное представление о поведении пользователей и процессов, рекомендуется делегировать права просмотра аудита с осторожностью.
-=== Мониторинг системы в реальном времени с использованием потоков аудита
+=== Мониторинг в реальном времени с использованием потоков аудита
-Потоки системы аудита - клонирующиеся псевдоустройства, позволяющие приложениям просматривать в реальном времени поток событий аудита. В первую очередь, это должно заинтересовать авторов программ определения вторжений и мониторинга системы. Тем не менее, для администратора поток системы аудита предоставляет возможность организовать наблюдение за системой, избежав проблем с правами доступа на журнал аудита или с прерыванием потока событий из-за ротации журнала. Для отслеживания потока событий аудита в реальном времени, выполните:
+Потоки аудитные (audit pipes) являются клонируемыми псевдоустройствами, которые позволяют приложениям получать доступ к потоку записей аудита в реальном времени. В первую очередь это интересно разработчикам систем обнаружения вторжений и мониторинга. Однако аудитное канальное устройство — это удобный способ для администратора организовать мониторинг в реальном времени без проблем с правами владения файлами аудита или прерывания потока событий из-за ротации логов. Для отслеживания живого потока событий аудита:
-[source,shell]
+[source, shell]
....
# praudit /dev/auditpipe
....
-По умолчанию, потоки доступны только пользователю `root`. Чтобы сделать их доступными членам группы `audit`, добавьте правило `devfs` в файл [.filename]#/etc/devfs.rules#:
+По умолчанию узлы устройств потоков аудита доступны только пользователю `root`. Чтобы сделать их доступными для членов группы `audit`, добавьте правило `devfs` в [.filename]#/etc/devfs.rules#:
[.programlisting]
....
add path 'auditpipe*' mode 0440 group audit
....
-Обратитесь к man:devfs.rules[5] за более полной информацией о настройке файловой системы `devfs`.
+За дополнительной информацией о настройке файловой системы devfs см. man:devfs.rules[5].
[WARNING]
====
-
-Довольно легко создать зацикленный поток событий аудита, в котором просмотр каждого события порождает несколько событий аудита. Например, если аудиту подвергаются все операции сетевого ввода-вывода, и команда `praudit` запущена во время SSH-сессии, то будет сгенерирован интенсивный поток сообщений аудита, так как каждое печатаемое событие вызовет еще одно событие. По этой причине рекомендуется запускать `praudit` на устройстве потока только из сессий, для которых нет детального аудита ввода-вывода.
+Легко создать циклы обратной связи с событиями аудита, когда просмотр каждого события аудита приводит к генерации новых событий аудита. Например, если аудируется весь сетевой ввод-вывод, и `praudit` запускается из сессии SSH, будет создаваться непрерывный поток событий аудита с высокой скоростью, так как каждое выводимое событие будет генерировать новое событие. По этой причине рекомендуется запускать `praudit` на устройстве аудит-канала из сеансов без детального аудита ввода-вывода.
====
-=== Ротация и сжатие журнальных файлов аудита
+=== Ротация и сжатие файлов журнала аудита
-Журнал аудита пишется ядром и управляется демоном аудита man:auditd[8]. Администраторам не следует пытаться использовать man:newsyslog.conf[5] или другие инструменты для прямой ротации логов. Вместо этого, для прекращения аудита, реконфигурации и ротации журнальных файлов должна использоваться команда `audit`. Следующая команда приведет к созданию нового журнального файла и даст указание ядру переключиться на запись в этот файл. Протоколирование в старый файл будет прекращено, а сам файл - переименован, в результате чего с ним можно будет работать администратору:
+Журналы аудита создаются ядром и управляются демоном аудита man:auditd[8]. Администраторам не следует пытаться использовать man:newsyslog.conf[5] или другие инструменты для непосредственной ротации журналов аудита. Вместо этого следует использовать `audit` для остановки аудита, переконфигурации системы аудита и выполнения ротации журналов. Следующая команда заставляет демон аудита создать новый журнал аудита и передать ядру сигнал о переходе на использование нового журнала. Старый журнал будет завершен и переименован, после чего администратор может выполнить с ним необходимые действия:
-[source,shell]
+[source, shell]
....
# audit -n
....
-Если man:auditd[8] не запущен, то эта команда окончится неудачей, и будет выведено сообщение об ошибке.
+Если man:auditd[8] в данный момент не запущен, эта команда завершится ошибкой и будет выведено сообщение об ошибке.
-Добавление следующей строки в файл [.filename]#/etc/crontab# приведет к ротации каждые двенадцать часов:
+Добавление следующей строки в [.filename]#/etc/crontab# позволит выполнять эту ротацию каждые двенадцать часов:
[.programlisting]
....
0 */12 * * * root /usr/sbin/audit -n
....
-Изменения вступят в силу после сохранения файла [.filename]#/etc/crontab#.
+Изменение вступит в силу после сохранения файла [.filename]#/etc/crontab#.
-Автоматическая ротация журнальных файлов на основании их размера возможна при использовании опции `filesz` в файле [.filename]#audit_control#, которая описана в <<audit-auditcontrol>>.
+Автоматическая ротация файла журнала аудита на основе размера файла возможна с использованием `filesz` в [.filename]#audit_control#, как описано в crossref:audit[audit-auditcontrol,Файл audit_control].
-Поскольку журнальные файлы могут достигать очень больших размеров, может возникнуть необходимость сжимать их в целях хранения сразу же после закрытия их демоном аудита. Для выполнения определенных пользователем действий, соответствующих разнообразным событиям системы аудита, включая нормальное завершение журналов аудита при их ротации, может быть использован скрипт [.filename]#audit_warn#. Например, добавление следующих строк в файл [.filename]#/etc/security/audit_warn# приведет к сжатию файла аудита после его закрытия:
+Поскольку файлы журналов аудита могут становиться очень большими, часто возникает необходимость сжимать или архивировать их после закрытия демоном аудита. Скрипт [.filename]#audit_warn# можно использовать для выполнения пользовательских операций при различных событиях, связанных с аудитом, включая корректное завершение журналов при их ротации. Например, следующее можно добавить в [.filename]#/etc/security/audit_warn# для сжатия журналов аудита после закрытия:
[.programlisting]
....
@@ -401,8 +399,8 @@ add path 'auditpipe*' mode 0440 group audit
# Compress audit trail files on close.
#
if [ "$1" = closefile ]; then
- gzip -9 $2
+ gzip -9 $2
fi
....
-Примерами других действий могут быть копирование файлов аудита на централизованный сервер, удаление старых журнальных файлов, фильтрация журнальных файлов для удаления ненужных записей. Скрипт будет запущен только при корректном закрытии журнала системой аудита и не запустится для журнальных файлов, запись в которые была прекращена в результате некорректного завершения.
+Другие действия по архивированию могут включать копирование файлов журналов на централизованный сервер, удаление старых файлов журналов или сокращение журнала аудита для удаления ненужных записей. Этот скрипт будет выполняться только тогда, когда файлы журналов аудита корректно завершены. Он не будет выполняться для журналов, оставшихся незавершёнными после некорректного завершения работы.