| Объекты и субъекты доступа в RSBAC |
Rule Set Based Access Control (RSBAC) для Linux. Переводы документации, описаний и статьи по данной теме. [ALT Linux Team] [ Перевод: Александр Блохин ] ЦелиRSBAC разграничивает доступ от субъектов к объектам. Субъектом всегда является процесс, действующий со стороны пользователя с определенными атрибутами. Объекты в RSBAC называются Target (Цель). Определяются следующие типы объектов: FILE |
Файлы, включая специальные файлы устройств. Идентифицируются по устройствам и номерам inode. | |||
| DIR | Каталоги, идентифицированные по устройствам и номерам inode. | |||
| FIFO | (впервые появились в v1.1.1) специальные файлы FIFO. | |||
| DEV | Устройства, различаемые по типу (char или block), значениям major и minor. | |||
| IPC | InterProcess Communication: Semaphores (sem), Messages (msg), Shared Memory (shm), Sockets (sock) и FiFo (fifo, удалено в 1.1.1). | |||
| SCD | System Control Data: Объекты затрагивающие всю систему. Цели этого типа являются единственными с фиксированным числом объекта, идентифицируемому по по номеру (смотри ниже). | |||
| USER | Пользователи как объекты, в основном для информации контроля доступа (ACI). | |||
| PROCESS | Процессы как объекты. | |||
| NONE | Нет объектов, ассоциированных с этим запросом. В некоторых моделях (RC, ACL) это приравнено к SCD-цели "other". | |||
| FD | (Только в пользовательской области): Позволяет средствам командной строки делать различие между типами FILE и DIR. |
Цели System Control Data (SCD) выглядят следующим образом:
| time_strucs | Системный таймер |
| clock | Системные время и дата |
| host_id | Имя машины |
| net_id | Имя домена |
| ioports | Access Control для прямого доступа к оборудованию |
| rlimit | Установка ограничения ресурсов процесса |
| swap | Контроль свопирования |
| syslog | Системный журнал регистрации событий |
| rsbac | Данные RSBAC в /proc |
| rsbaclog | Собственный журнал регистрации событий RSBAC |
| kmem | Прямой доступ к памяти ядра через proc или устройство |
| other | (только встроенное в RC и ACL): Подстановка для цели NONE |
| auth_administration | (только в RC и ACL): AUTH-модель администрирования |
Перед тем, как будет разрешен доступ к объекту, производится запрос к средствам Access Control Decision (ADF). Решение о разрешении и запрете доступа принимается в зависимости от типа запроса и цели.
Запросы RSBAC и его системные вызовы описаны в следующей таблице. Обратите пожалуйста внимание, что некоторые запросы составлены в соответствии с некоторыми условиями, например EXECUTE только из mmap(), если запрос нацелен на режим EXEC. Также, некоторые вызовы зависимы от установок конфигурации ядра, например поддержка сети в RSBAC.
Некоторые вызовы выполнены со вспомогательными функциями, например do_fork(). Эти функции также производят уведомляющий вызов rsbac_adf_set_attr() для запросов, маркированных при помощи *.
В добавок, некоторые запросы предоставляют дополнительные данные со встроенными типами атрибутов ядра. Этими атрибутами являются: A_group, A_sockaddr_p, A_signal, A_mode, A_nlink, A_switch_target, A_mod_name, A_request, A_ms_segment, A_trace_request, A_auth_add_f_cap, A_auth_remove_f_cap, A_auth_get_caplist, A_prot_bits. Ознакомьтесь пожалуйста с ними в include/rsbac/types.h.
| Запрос | Описание | Допустимые Типы Объектов | Системные вызовы и функции |
| ADD_TO_KERNEL | Добавить модуль ядра | NONE | create_module(NONE), init_module(NONE) |
| ALTER | Изменить контрольную информацию IPC | IPC | msgctl(IPC), shmctl(IPC) |
| APPEND_OPEN | Открыть для дополнения | FILE, DEV, IPC | open(FILE,DEV)*, msgsnd(IPC)*, sendto(IPC)*, sendmsg(IPC)* |
| CHANGE_GROUP | Сменить активную группу | IPC, PROCESS, NONE | setgid(PROC), setregid(PROC), setresgid(PROC), setgroups(PROC), setfsgid(NONE) (for DAC only), shmctl(IPC), msgctl(IPC) |
| CHANGE_OWNER | Сменить владельца | FILE, DIR, FIFO, IPC, PROCESS, NONE | chown(FILE, DIR, FIFO), lchown(FILE, DIR, FIFO), fchown(FILE, DIR, FIFO), setuid(PROC)*, setreuid(PROC)*, setresuid(PROC)*, setfsuid(NONE) (for DAC only), shmctl(IPC), msgctl(IPC) |
| CHDIR | Сменить рабочий каталог | DIR | chdir(DIR), fchdir(DIR), chroot(DIR) |
| CLONE | Разветвить/дублировать процесс | PROCESS | fork(PROC)*, vfork(PROC)*, clone(PROC)* |
| CLOSE | Закрыть открытый файл. Должно быть всегда разрешено. | FILE, DIR, FIFO, DEV, IPC | close(FILE, DIR, FIFO, DEV, IPC), shmdt(IPC)*, msgrcv(IPC)*, msgsnd(IPC)*, send(IPC)*, sendto(IPC)*, sendmsg(IPC)*, recv(IPC)*, recvfrom(IPC)*, recvmsg(IPC)* |
| CREATE | Создать объект | DIR (где), IPC | creat(DIR, IPC)*, open(DIR, IPC)*, mknod(DIR)*, mkdir(DIR)*, symlink(DIR)*, shmget(IPC)*, msgget(IPC)*, socket(IPC)*, accept(IPC)* |
| DELETE | Удалить объект | FILE, DIR, FIFO, IPC | unlink(FILE, DIR, FIFO)*, rmdir(DIR)*, msgctl(IPC)*, shmctl(IPC)*, shutdown(IPC)*. close(IPC)* |
| EXECUTE | Выполнить файл или библиотечный код из файла или выполнить другой код (цель NONE) | FILE, NONE | exec(FILE)*, mmap(FILE) (EXEC mode), mprotect(FILE, NONE) (EXEC mode) |
| GET_PERMISSION_DATA | Считать права доступа Unix (режим) | FILE, DIR, FIFO | access(FILE, DIR, FIFO) |
| GET_STATUS_DATA | Получить статус (stat() подобный) | FILE, DIR, FIFO, IPC, SCD | open_port(SCD) (/dev/kmem etc.), open_kcore(SCD) (/proc/kcore), stat(FILE, DIR, FIFO, IPC), newstat(FILE, DIR, FIFO, IPC), lstat(FILE, DIR, FIFO, IPC), newlstat(FILE, DIR, FIFO, IPC), fstat(FILE, DIR, FIFO, IPC), newfstat(FILE, DIR, FIFO, IPC), stat64(FILE, DIR, FIFO, IPC), lstat64(FILE, DIR, FIFO, IPC), fstat64(FILE, DIR, FIFO, IPC), statfs(FILE, DIR, FIFO), fstatfs(FILE, DIR, FIFO), rsbac_stats(SCD), rsbac_check(SCD), rsbac_stats_pm(SCD), rsbac_stats_rc(SCD), rsbac_stats_acl(SCD), rsbac_log(SCD), (access to RSBAC proc-files(SCD)) |
| LINK_HARD | Жесткая ссылка | FILE, DIR, FIFO | link(FILE, DIR, FIFO) |
| MODIFY_ACCESS_DATA | Изменить информацию доступа, например время, дату | FILE, DIR, FIFO | utimes(FILE, DIR, FIFO) |
| MODIFY_ATTRIBUTE | Изменить значение атрибутов RSBAC | Цели всех типов | (специфический запрос необходимый для различных моделей безопасности) |
| MODIFY_PERMISSIONS_DATA | Изменить права доступа Unix | FILE, DIR, FIFO, SCD | ioperm(SCD), iopl(SCD), chmod(FILE, DIR, FIFO) , fchmod(FILE, DIR, FIFO) |
| MODIFY_SYSTEM_DATA | Изменить системные установки | SCD | stime(SCD), settimeofday(SCD), adjtimex(SCD), sethostname(SCD), setdomainname(SCD), setrlimit(SCD), syslog(SCD), sysctl(SCD), swapon(SCD), swapoff(SCD), rsbac_log(SCD) |
| MOUNT | Смонтировать файловую систему | DIR, DEV | mount(DIR, DEV) (раздельные уведомления монтирования для структур данных) |
| READ | Читать из DIR. Дополнительно: читать из других объектов | DIR (Дополнительно: FILE, FIFO, DEV, IPC) | read(FILE, FIFO, DEV, IPC)*, readv(FILE, FIFO, DEV, IPC)*, pread(FILE, DEV, IPC)*, readdir(DIR), open(DIR) |
| READ_ATTRIBUTE | Считать значение атрибута RSBAC | Цели всех типов | (специфический запрос необходимый для различных моделей безопасности) |
| READ_OPEN | Открыть для чтения | FILE, FIFO, DEV, IPC | open(FILE, FIFO, DEV, IPC)*, shmat(IPC)*, msgrcv(IPC)*, recv(IPC)*, recvfrom(IPC)*, recvmsg(IPC)* |
| READ_WRITE_OPEN | Открыть для чтения и записи | FILE, FIFO, DEV, IPC | open(FILE, FIFO, DEV, IPC)*, shmat(IPC)*, bind(IPC)*, connect(IPC)*, listen(IPC)* |
| REMOVE_FROM_KERNEL | Удалить модуль ядра | NONE | delete_module(NONE) |
| RENAME | Переименовать | FILE, DIR, FIFO | rename(FILE, DIR, FIFO) (идентификация RSBAC при переименовании не меняется) |
| SEARCH | Поиск в каталоге из ядра для доступа с полным именем пути | DIR | (встроенные функции lookup_dentry(DIR) / path_walk(DIR) / lookup_hash(DIR)) |
| SEND_SIGNAL | Послать сигнал | PROCESS | kill(PROC) |
| SHUTDOWN | Останов/Перезагрузка системы | NONE | reboot(NONE) |
| SWITCH_LOG | Изменить установки RSBAC | NONE | rsbac_adf_log_switch(NONE) |
| SWITCH_MODULE | Включить/Выключить модуль принятия решений | NONE | rsbac_switch(NONE) |
| TERMINATE | Закончить вызов процесса, для очистки атрибутов. Должно быть всегда разрешено. | PROCESS | exit(PROC) |
| TRACE | Отслеживать процесс | PROCESS | ptrace(PROC) (архитектурозависимо) |
| TRUNCATE | Усечь | FILE | open(FILE)*, truncate(FILE)*, ftruncate(FILE)*, truncate64(FILE)*, ftruncate64(FILE)* |
| UMOUNT | Размонтировать файловую систему | DIR, DEV | umount(DIR, DEV) (раздельные уведомления де-монтирования для структур данных) |
| WRITE | Запись в каталог или SCD. Используется для перемещения объектов в целевой каталог. Дополнительно: запись в файл | DIR, SCD (Дополнительно: FILE, FIFO, DEV, IPC-sock) | write(FILE, FIFO, IPC, DEV)*, writev(FILE, FIFO, IPC, DEV)*, pwrite(FILE, IPC, DEV)*, rename(DIR), rsbac_write(SCD) |
| WRITE_OPEN | Открыть для записи | FILE, FIFO, DEV, IPC | open(FILE, FIFO, DEV, IPC)* |
Обратите внимание, что некоторые модели (RC, ACL) контроля доступа имеют встроенное изменение целей NONE на SCD-цель <<other>>.
www.linuxcenter.ru
Слежка в законе 05-10-2007 Безопасность сетей
В Великобритании собираются ввести поправки,которые обяжут пользователей передавать ключи шифрования своих данных по требованию властей.В случае отказа в разных случаях можно будет схватить от 2 до 5 лет тюрьмы.Министерство внутренних дел говорит, что эти действия соответствуют с Европейской конвенцией о правах человека и требования властей "необходимые и соразмерные"."Эти меры предназначены для обеспечения государственной безопасно...
WatchGuard улучшил защиту Zero-Day в UTM-устройствах Firebox 28-09-2007 Безопасность сетей
Москва, 26 сентября 2007 года – Rainbow Technologies (www.rainbow.msk.ru) – единственный дистрибьютор WatchGuard Technologies (www.watchguard.com) на территории России и стран СНГ сообщает, что в UTM-устройствах Firebox улучшена защита Zero-Day, обеспечивающая безопасность компьютерных сетей от новых неизвестных атак в период, когда еще нет сигнатур. Реализованная в Firebox линеек Core и Peak технология Zero-Day защищает от угроз в момент их появ...
Unisys винят в хакерских атаках на компьютеры Министерства национальной безопасности 27-09-2007 Безопасность сетей
На днях стало известно, что Федеральное бюро расследований начало следствие по заявлению о том, что зарубежные хакеры повторно атаковали компьютеры Министерства национальной безопасности США. Запрос на проведение расследования в ФБР направили конгрессмены Джеймс Ланжевен и Бенни Томпсон, демократ от штата Миссисипи и глава Комитета внутренней безопасности Палаты представителей, сообщает агентство Reuters. Томпсон также потребовал проверить, какие...
© 2007. При перепечатке информации с данного сайта, гиперссылка обязательна.
По всем возникшим у вас вопросам к администрации сайта обращайтесь через страницу обратной связи.