Данная статья применима к:
|
В настоящей статье описывается интерфейс командной строки (command line interface, CLI) FreeIPA в части работы с регистрацией событий безопасности (аудитом). Указанные операции могут быть выполнены также с использованием Web-интерфейса FreeIPA.
CLI FreeIPA позволяет:
Подробно механизм аудита Astra Linux описан в эксплуатационной документации, Руководство по КСЗ, часть 1.
В Astra Linux используется следующий набор базовых масок событий аудита:
| № п/п | Название маски аудита (событие аудита) | Значение маски аудита (hex) | Описание |
|---|---|---|---|
| 1 | open | 0x0001 | открытие файла |
| 2 | create | 0x0002 | создание файла |
| 3 | exec | 0x0004 | запуск программы |
| 4 | delete | 0x0008 | удаление файла |
| 5 | chmod | 0x00010 | изменение прав доступа к файлу |
| 6 | chown | 0x00020 | изменение владельца файла |
| 7 | mount | 0x00040 | монтирование-размонтирование файловой системы |
| 8 | module | 0x00080 | загрузка-выгрузка модуля |
| 9 | uid | 0x00100 | изменение UID |
| 10 | gid | 0x00200 | изменение GID |
| 11 | audit | 0x00400 | смена списка протоколирования событий |
| 12 | acl | 0x00800 | управление списком прав доступа |
| 13 | mac | 0x01000 | смена мандатных атрибутов |
| 14 | cap | 0x02000 | изменение привилегий |
| 15 | chroot | 0x04000 | изменение корневого каталога |
| 16 | rename | 0x08000 | переименование |
| 17 | net | 0x10000 | сетевые события |
| Примечание: каждая базовая маска аудита представляет собой битовую последовательность с одним единичным битом, остальные биты равны нулю. В интерфейсе FreeIPA значение маски аудита задается в шестнадцатеричном виде (как с префиксом 0x, так и без него). |
Для работы с событиями аудита предназначена группа команд ipa paudit-{add, del, mod, find, show}.
Команда:
| ipa paudit-find |
Пример вывода команды:
---------------------- найдено 17 масок аудита ----------------------- Название маски аудита: acl Значение маски аудита: 800 Название маски аудита: audit Значение маски аудита: 400 Название маски аудита: cap Значение маски аудита: 2000 Название маски аудита: chmod Значение маски аудита: 10 Название маски аудита: chown Значение маски аудита: 20 Название маски аудита: chroot Значение маски аудита: 4000 Название маски аудита: create Значение маски аудита: 2 Название маски аудита: delete Значение маски аудита: 8 Название маски аудита: exec Значение маски аудита: 4 Название маски аудита: gid Значение маски аудита: 200 Название маски аудита: mac Значение маски аудита: 1000 Название маски аудита: module Значение маски аудита: 80 Название маски аудита: mount Значение маски аудита: 40 Название маски аудита: net Значение маски аудита: 10000 Название маски аудита: open Значение маски аудита: 1 Название маски аудита: rename Значение маски аудита: 8000 Название маски аудита: uid Значение маски аудита: 100 ---------------------------------- Количество возвращённых записей 17 ---------------------------------- |
| Примечание: Возможность создания новых масок аудита может быть использована для создания комбинированных масок (т.е. значением таких масок является сумма комбинаций базовых масок). Комбинированные маски могут быть полезны для ускорения и упрощения процесса администрирования. Необходимые базовые маски входят в предустановленный набор и изменять их не следует. |
Команда:
| ipa paudit-add <название_маски_аудита> --amaskrank=<значение_маски_аудита> |
Пример команды создания комбинированной маски fileaud со значением 0x883f, объединяющей следующие события аудита: acl (маска 0x800), chmod (маска 0x4000), chown (0x20), create (маска 0x2), delete (маска 0x8), exec (0x4), open (0x1), rename (0x8000):
ipa paudit-add fileaud --amaskrank=883f |
Пример вывода команды:
-------------------------------- Добавлена маска аудита "fileaud" -------------------------------- Название привилегии: fileaud Значение маски привилегии: 883f |
Команда:
| ipa paudit-show <название_маски_аудита> |
Пример команды просмотра события аудита fileaud:
ipa paudit-show fileaud |
Пример вывода команды:
Название привилегии: fileaud Значение маски привилегии: 883f |
Изменение масок событий аудита имеет смысл только по отношению к добавленным пользователем комбинированным маскам. Базовые маски из предустановленного набора изменять не следует. |
Команда:
| ipa paudit-mod <название_маски_аудита> --amaskrank=<значение_маски_аудита> |
Пример команды изменения составной маски аудита fileaud при исключении из нее регистрации события открытия файла open (маска 0x1):
ipa paudit-mod fileaud --amaskrank=883e |
Пример вывода команды:
---------------------------- Изменена маска аудита "fileaud" ---------------------------- Название маски: fileaud Значение маски аудита: 883e |
| Удаление масок событий аудита имеет смысл только по отношению к добавленным пользователем комбинированным маскам. Базовые маски из предустановленного набора удалять не следует. |
Команда:
| ipa paudit-del <название_маски_аудита> |
Пример команды удаления события аудита fileaud:
ipa paudit-del fileaud |
Пример вывода команды:
-------------------------- Удалена маска аудита "fileaud" -------------------------- |
После изменения маски аудита необходимо перезапустить сессию пользователя, после чего записи о событиях аудита начнут поступать в файл /var/log/audit/audit.log на компьютере пользователя. |
Команды для добавления маски аудита успехов:
для пользователя:
| ipa audmasksucc-add-audmasksucc <название_маски_аудита> --users=<имя_пользователя_1> --users=<имя_пользователя_2> ...--users=<имя_пользователя_N> |
для группы:
| ipa audmasksucc-add-audmasksucc <название_маски_аудита> --groups=<имя_группы_1> --groups=<имя_группы_2> ... --groups=<имя_группы_N> |
Команды для добавления маски аудита отказов:
для пользователя:
| ipa audmaskfail-add-audmaskfail <название_маски_аудита> --users=<имя_пользователя_1> --users=<имя_пользователя_2> ...--users=<имя_пользователя_N> |
для группы:
| ipa audmaskfail-add-audmaskfail <название_маски_аудита> --groups=<имя_группы_1> --groups=<имя_группы_2> ... --groups=<имя_группы_N> |
Пример команды добавления маски аудита события open для группы test_group:
ipa audmasksucc-add-audmasksucc open --groups=test_group |
Вывод команды:
Название параметра аудита успеха: open Значение маски аудита успеха: 1 Пользователи-участники: ipauser00, ipauser01, ipauser02 Группы-участники: test_group ----------------------------------- Количество добавленных участников 1 ----------------------------------- |
Для просмотра текущей маски аудита для доменного пользователя/группы используются команды:
для пользователя:
| ipa user-show <имя_пользователя> --all |
для группы:
| ipa group-show <имя_группы> --all |
Пример команды:
ipa group_show test_group --all |
Вывод команды:
dn: cn=test_group,cn=groups,cn=accounts,dc=testdomain,dc=test
Имя группы: test_group
ID группы: 1415200007
Пользователи-участники: ipauser00, ipauser01, ipauser02, ipauser04
ipauniqueid: e1e58840-db8b-11ed-9059-00a70dd3ddb8
memberof_audmasksucc: open
objectclass: top, groupofnames, nestedgroup, ipausergroup, ipaobject, x-ald-audit-policy,
posixgroup
x-ald-aud-mask: 0x1:0x0 |
Команды для удаления маски аудита успехов:
для пользователей:
| ipa audmasksucc-remove-audmasksucc <название_маски> --users=<имя_пользователя_1> --users=<имя_пользователя_2> ... --users=<имя_пользователя_N> |
для групп:
| ipa audmasksucc-remove-audmasksucc <название_маски> --groups=<имя_группы_1> --groups=<имя_группы_2> ... --groups=<имя_группы_N> |
Команды для удаления маски аудита отказов:
для пользователей:
| ipa audmaskfail-remove-audmaskfail <название_маски> --users=<имя_пользователя_1> --users=<имя_пользователя_2> ... --users=<имя_пользователя_N> |
для групп:
| ipa audmaskfail-remove-audmaskfail <название_маски> --groups=<имя_группы_1> --groups=<имя_группы_2> ... --groups=<имя_группы_N> |
Пример команды удаления маски аудита успеха open для группы test_group:
ipa audmasksucc-remove-audmasksucc open --groups=test_group |
Пример вывода команды:
Название параметра аудита успеха: open Значение маски аудита успеха: 1 Пользователи-участники: ipauser00, ipauser01, ipauser02 --------------------------------- Количество удалённых участников 1 --------------------------------- |
После изменения маски аудита необходимо перезапустить сессию пользователя, после чего записи о событиях аудита начнут поступать в файл /var/log/audit/audit.log на этом компьютере. |
Команды для добавления маски аудита успехов:
| audmasksucc-add-devaudmasksucc <название_маски_аудита> --parsecdevices=<устройство_1> --parsecdevices=<устройство_2> ...--parsecdevices=<устройство_N> |
Команды для добавления маски аудита отказов:
| audmaskfail-add-devaudmaskfail <название_маски_аудита> --parsecdevices=<устройство_1> --parsecdevices=<устройство_2> ...--parsecdevices=<устройство_N> |
Пример выполнения команды добавления маски аудита успеха open для устройства test_flash1:
$ ipa audmasksucc-add-devaudmasksucc open --parsecdevices=test_flash1 Название параметра аудита успеха: open Значение маски аудита успеха: 1 Пользователи-участники: ipauser00, ipauser01, ipauser02 ----------------------------------- Количество добавленных участников 1 ----------------------------------- |
Команды для удаления маски аудита успехов:
| audmasksucc-remove-devaudmasksucc <название_маски_аудита> --parsecdevices=<устройство_1> --parsecdevices=<устройство_2> ...--parsecdevices=<устройство_N> |
Команды для удаления маски аудита отказов:
| audmaskfail-remove-devaudmaskfail <название_маски_аудита> --parsecdevices=<устройство_1> --parsecdevices=<устройство_2> ...--parsecdevices=<устройство_N> |
Пример команды удаления маски аудита успеха open для устройства test_flash1:
ipa audmasksucc-remove-devaudmasksucc open --parsecdevices=test_flash1 |
Пример вывода команды:
Название параметра аудита успеха: open Значение маски аудита успеха: 1 Пользователи-участники: ipauser00, ipauser01, ipauser02 --------------------------------- Количество удалённых участников 1 --------------------------------- |
Команда:
| ipa parsecdevice-show <название_учтенного_устройства> |
Пример команды просмотра маски аудита учтенного устройства test_flash1:
ipa parsecdevice-show test_flash1 |
Пример вывода команды:
Название учтённого устройства: test_flash1
Описание устройства: test_flash1
Правила учёта устройства: TRUE
Владелец устройства: ipauser00
Группа устройства: ipausers
Атрибуты устройства: ENV{ID_SERIAL}==QEMU_QEMU_HARDDISK_1X2Y3Z-0:0
Режим доступа к устройству: 666
Уровень конфиденциальности устройства: 1
Категории конфиденциальности устройства: 0
Аудит успеха устройства: 0x1
Аудит отказа устройства: 0x1 |