События контроля
Событие контроля - это любое событие в системе, имеющее отношение к защите. К таковым относится любое изменение состояния защиты, а также любое потенциальное или фактическое нарушение правил доступа к системе и/или стратегий защиты и учета ресурсов. Программы и модули ядра, обнаруживающие события контроля, сообщают о них системной программе ведения протокола контроля, представляющей собой часть ядра. Обратиться к этой программе можно либо с помощью подпрограммы (в пользовательском режиме), либо путем вызова процедуры ядра (в режиме супервизора). Информация о событии контроля включает его имя, сведения об успешном или неудачном завершении, а также другую дополнительную информацию, имеющую отношение к системе защиты.
Для того чтобы начать контроль какого-либо действия, необходимо выяснить, какая программа или процесс инициализируют контрольное событие, и указать это событие в файле /etc/security/audit/events вашей системы. Процесс присвоения контрольных событий пользователям можно упростить, объединив похожие события в контрольные классы. Их определения находятся в разделе классов файла /etc/security/audit/config.
В следующей таблице перечислены отдельные общие события контроля, возникающие в операционной системе AIX:
| Вызов пользователя или системный вызов | Событие контроля | Описание |
|---|---|---|
| fork | PROC_Create | Указывает, что создается процесс. |
| exit | PROC_Delete | Указывает, что вызывающий процесс завершен. |
| exec | PROC_Execute | Запускает новую программу. |
| setuidx | PROC_RealUID | Задает ИД пользователя процесса. |
| PROC_AuditID | ||
| PROC_SetUserIDs | ||
| setgidx | PROC_RealGID | Задает ИД группы процессов. |
| accessx | FILE_Accessx | Определяет, доступен ли файл. |
| statacl | FILE_StatAcl | Извлекает информацию об управлении доступом к файлу. |
| revoke | FILE_Revoke | Аннулирует доступ к файлу для всех процессов. |
| frevoke | FILE_Frevoke | Аннулирует доступ к файлу для других процессов. |
| usrinfo | PROC_Environ | Изменяет часть информации о пользователе. |
| sigaction | PROC_SetSignal | Задает действие, которое выполняется в ответ на доставку в процесс, вызвавший эту процедуру, конкретного сигнала. |
| setrlimit | PROC_Limits | Управляет использованием максимальных системных ресурсов. |
| nice | PROC_SetPri | Задает использование функции nice. |
| setpri | PROC_Setpri | Задает фиксированный приоритет для процессов. |
| setpriv | PROC_Privilege | Изменяет один или несколько векторов прав доступа для процессов. |
| settimer | PROC_Settimer | Задает текущее значение указанного таймера уровня системы. |
| adjtime | PROC_Adjtime | Изменяет системные часы. |
| ptrace | PROC_Debug | Обеспечивает трассировку другого процесса. |
| kill | PROC_Kill | Передает сигнал в процесс или группу процессов. |
| setpgid | PROC_setpgid | Задает ИД группы процессов. |
| ld_loadmodule | PROC_Load | Загружает новый модуль объектов в адресное пространство процесса. |
| PROC_LoadError | Указывает на сбой загрузки объекта. | |
| setgroups | PROC_SetGroups | Изменяет параллельный набор групп процессов. |
| sysconfig | PROC_Sysconfig | Получает действие над ядром или конфигурацией системы. |
| audit | AUD_It | Запускает и останавливает операцию контроля. Кроме того, запрашивает состояние контроля. |
| auditbin | AUD_Bin_Def | Изменяет системный вызов auditbin. |
| auditevents | AUD_Events | Изменяет события. |
| auditobj | AUD_Objects | Изменяет системный вызов auditobj. |
| auditproc | AUD_Proc | Получает или задает состояние контроля процесса. |
| acct | ACCT_Disable | Выключает учет ресурсов системы. |
| ACCT_Enable | Включает учет ресурсов системы. | |
| open and create | FILE_Open | Вызывает процедуру open. |
| read | FILE_Read | Считывает данные из дескриптора файла. |
| write | FILE_Write | Записывает данные в дескриптор файла. |
| close | FILE_Close | Закрывает открытый дескриптор файла. |
| связь | FILE_Link | Создает новую запись каталога для объекта файловой системы. |
| unlink | FILE_Unlink | Удаляет объект файловой системы. |
| rename | FILE_Rename | Изменяет имя объекта файловой системы. |
| chown | FILE_Owner | Изменяет принадлежность файла. |
| chmod | FILE_Mode | Изменяет режим файла. |
| fchmod | FILE_Fchmod | Изменяет права доступа к дескриптору файла. |
| fchown | FILE_Fchown | Изменяет принадлежность дескриптора файла. |
| truncate | FILE_Truncate | Изменяет длину обычных файлов или объекта общей памяти. |
| symlink | FILE_Symlink | Создает символьную ссылку. |
| pipe | FILE_Pipe | Создает канал без имени. |
| mknod | FILE_Mknod | Создает специальный файл устройства или специальный файл FIFO. |
| fcntl | FILE_Dupfd | Создает копию дескриптора файла. |
| fscntl | FS_Extend | Расширяет файловую систему. |
| mount | FS_Mount | Подключает файловую систему к именованному каталогу. |
| umount | FS_Umount | Отключает смонтированную файловую систему. |
| chacl | FILE_Acl | Изменяет список управления доступом (ACL) файла. |
| fchacl | FILE_Facl | Изменяет ACL дескриптора файла. |
| chpriv | FILE_Privilege | Задает список управления привилегиями (PCL) для пути к файлу. |
| FILE_Chpriv | Изменяет PCL. | |
| FILE_Fchpriv | Изменяет PCL дескриптора файла. | |
| chdir | FS_Chdir | Изменяет текущий рабочий каталог. |
| fchdir | FS_Fchdir | Изменяет текущий рабочий каталог с помощью дескриптора файла. |
| chroot | FS_Chroot | Изменяет значение корневого каталога (/) для текущего процесса. |
| rmdir | FS_Rmdir | Удаляет объект каталога. |
| mkdir | FS_Mkdir | Создает каталог. |
| utimes | FILE_Utimes | Вызывает процедуру utimes. |
| stat | FILE_Stat | Вызывает процедуру stat. |
| msgget | MSG_Create | Создает очередь сообщений. |
| msgrcv | MSG_Read | Получает сообщение из очереди сообщений. |
| msgsnd | MSG_Write | Отправляет сообщение в очередь сообщений. |
| msgctl | MSG_Delete | Удаляет очередь сообщений. |
| MSG_Owner | Изменяет принадлежность очереди сообщений и права доступа к ней. | |
| MSG_Mode | Запрашивает права доступа к очереди сообщений. | |
| semget | SEM_Create | Создает набор семафоров. |
| semop | SEM_Op | Увеличивает или уменьшает один или несколько семафоров. |
| semctl | SEM_Delete | Удаляет набор семафоров. |
| SEM_Owner | Изменяет принадлежность набора семафоров и права доступа к нему. | |
| SEM_Mode | Запрашивает права доступа к набору семафоров. | |
| shmget | SHM_Create | Создает новый сегмент общей памяти. |
| shmat | SHM_Open | Вызывает процедуру shmat с помощью параметра Open. |
| shmat | SHM_Detach | Вызывает процедуру shmat с помощью параметра Detach. |
| shmctl | SHM_Close | Закрывает сегмент общей памяти. |
| SHM_Owner | Изменяет принадлежность сегмента общей памяти и права доступа к нему. | |
| SHM_Mode | Запрашивает права доступа к сегменту общей памяти. | |
| tcpip user level | TCPIP_connect | Вызывает процедуру connect. |
| TCPIP_data_out | Данные отправлены. | |
| TCPIP_data_in | Данные получены. | |
| TCPIP_set_time | Регистрирует в протоколе попытки изменить системное время по сети. | |
| tcpip kernel level | TCP_ksocket | Указывает, что создается сокет. |
| TCP_ksocketpair | Указывает, что создается пара подключенных сокетов. | |
| TCP_kclose | Указывает, что сокет закрывается. | |
| TCP_ksetopt | Указывает, что заданы параметры сокета. | |
| TCP_kbind | Указывает, что имя связано с сокетом. | |
| TCP_klisten | Принимает соединение через сокет. | |
| TCP_kconnect | Указывает, что создается соединение между двумя сокетами. | |
| TCP_kaccept | Принимает новый сокет и указывает, что создается соединение через сокет. | |
| TCP_kshutdown | Указывает, что все операции приема и передачи через сокеты завершаются. | |
| TCP_ksend | Указывает, что сообщения отправляются из подключенного сокета. | |
| TCP_kreceive | Указывает, что сообщения принимаются из подключенного сокета. | |
| tsm | USER_Login | Обеспечивает вход пользователя в систему. |
| PORT_Locked | Указывает, что порт блокирован вследствие недопустимых попыток входа в систему. | |
| TERM_Logout | Обеспечивает выход пользователя из системы. | |
| rlogind или telnetd | USER_Exit | Указывает, что пользователь вышел из системы. |
| usrck | USER_Check | Проверяет точность определения пользователя. |
| USRCK_Error | ||
| logout | USER_Logout | Останавливает все процессы на порте. |
| chsec | PORT_Change | Указывает на изменение значений атрибутов порта. |
| chuser | USER_Change | Изменяет атрибуты пользователя. |
| rmuser | USER_Remove | Удаляет пользователя. |
| mkuser | USER_Create | Создает пользователя. |
| setgroups | USER_SetGroups | Задает дополнительный ИД группы текущего процесса. |
| setsenv | USER_SetEnv | Задает переменную среды. |
| su | USER_SU | Изменяет ИД пользователя, связанный с сеансом. |
| grpck | GROUP_User | Удаляет несуществующих пользователей из группы. |
| GROUP_Adms | Удаляет несуществующих администраторов из группы. | |
| chgroup | GROUP_Change | Изменяет атрибуты группы. |
| mkgroup | GROUP_Create | Создает группу. |
| rmgroup | GROUP_Remove | Удаляет группу. |
| passwd | PASSWORD_Change | Изменяет пароль пользователя. |
| pwdadm | PASSWORD_Flags | Изменяет пароль администратора. |
| pwdck | PASSWORD_Check | Проверяет точность локальной идентификационной информации. |
| PASWORD_Ckerr | ||
| startsrc | SRC_Start | Запускает контроллер ресурсов системы. |
| stopsrc | SRC_Stop | Останавливает контроллер ресурсов системы. |
| addssys | SRC_Addssys | Добавляет определение SRCsubsys к объектному классу подсистем. |
| chssys | SRC_Chssys | Изменяет определение подсистемы в объектном классе подсистем. |
| addserver | SRC_Addserver | Добавляет определение субсервера к объектному классу субсерверов. |
| chserver | SRC_Chserver | Изменяет определение субсерверы в объектном классе субсерверов. |
| rmsys | SRC_Delssys | Удаляет определение подсистемы из объектного класса подсистем. |
| rmserver | SRC_Delserver | Удаляет определение субсервера из объектного класса Subserver. |
| enq | ENQUE_admin | Помещает файл в очередь. |
| qdaemon | ENQUE_exec | Планирует задания в очереди. |
| sendmail | SENDMAIL_Config | Управляет пересылкой почты в локальной и внешней сетях. |
| SENDMAIL_ToFile | ||
| at | AT_JobAdd | Удаляет или добавляет команды, запуск которых запланирован с помощью команды at. |
| At_JobRemove | ||
| cron | CRON_JobRemove | Удаляет или добавляет команды, запуск которых запланирован с помощью команды cron. |
| CRON_JobAdd | ||
| CRON_Start | Указывает на запуск задания cron. | |
| CRON_Finish | Указывает на завершение задания cron. | |
| nvload | NVRAM_Config | Задает доступ к памяти NVRAM. |
| cfgmgr | DEV_Configure | Настраивает устройства. |
| chdev и mkdev | DEV_Change | Указывает на изменение устройства. |
| mkdev | DEV_Create | Указывает, что устройство создано. |
| DEV_Start | Указывает, что устройство запущено. | |
| installp | INSTALLP_Inst | Устанавливает доступные программные продукты в совместимом установочном пакете. |
| INSTALLP_Exec | ||
| rmdev | DEV_Stop | Указывает, что устройство остановлено. |
| DEV_Unconfigure | Указывает, что устройство не настроено. | |
| DEV_Remove | Указывает, что устройство удалено. | |
| lchangelv, lextendlv и lreducelv | LVM_ChangeLV | Указывает, что логический том был изменен. |
| lchangepv, ldeletepv и linstallpv | LVM_ChangeVG | Указывает, что группа томов была изменена. |
| lcreatelv | LVM_CreateLV | Указывает, что логический том был добавлен в систему. |
| lcreatevg | LVM_CreateVG | Указывает, что группа томов была создана в системе. |
| ldeletepv | LVM_DeleteVG | Указывает, что группа томов была удалена из системы. |
| rmlv | LVM_DeleteLV | Указывает, что логический том был удален из системы. |
| lvaryoffvg | LVM_VaryoffVG | Деактивирует группу томов. |
| lvaryonvg | LVM_VaryonVG | Активирует группу томов. |
| Операции над логическим томом | LVM_AddLV | Добавляет логический том в существующую группу томов. |
| LVM_KDeleteLV | Удаляет логический том из существующей группы томов. | |
| LVM_ExtendLV | Увеличивает размер логического тома путем добавления незанятых физических разделов из группы томов. | |
| LVM_ReduceLV | Уменьшает размер логического тома. | |
| LVM_KChangeLV | Изменяет существующий логический том. | |
| LVM_AvoidLV | Запрещает Не позволяет тому выполнять отдельные операции. | |
| Операции над физическим томом | LVM_MissingPV | Добавляет отсутствующий физический том в существующую группу томов. |
| LVM_AddPV | Добавляет физический том в существующую группу томов. | |
| LVM_AddMissPV | Добавляет отсутствующий физический том в существующую группу томов. | |
| LVM_DeletePV | Удаляет физический том из существующей группы томов. | |
| LVM_RemovePV | Удаляет физический том из существующей группы томов. | |
| LVM_AddVGSA | Добавляет область состояния группы томов (VGSA) в существующий физический том. | |
| LVM_DeleteVGSA | Удаляет VGSA из существующего физического тома. | |
| Операции над группой томов | LVM_SetupVG | Настраивает группу томов путем определения логических томов и указания информации о VGSA и кэше согласования зеркальной записи (MWCC). |
| LVM_DefineVG | Настраивает группу томов в ядре. | |
| LVM_KDeleteVG | Удаляет группу томов из ядра. | |
| Операции резервного копирования и восстановления | BACKUP_Export | Получает состояние операции резервного копирования. |
| RESTORE_Import | Получает состояние операции восстановления. | |
| оболочка | USER_Shell | Получает информацию о tty пользователя. |
| reboot | USER_Reboot | Получает событие перезагрузки системы. |
| PROC_Reboot | Получает событие перезагрузки процесса. Процедура reboot перезапускает систему или повторяет операцию загрузки начальной программы (IPL) в системе. |