Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение. |
Ролевое управление доступом (RBAC). Вопросы безопасности
Зачем нужно ролевое управление доступом
Слабым местом систем UNIX с давних пор была невозможность делегировать часть полномочий системного администратора другим пользователям. Мы хорошо знаем, как передаются полномочия в системах Windows: существуют предопределенные группы, которым дано право выполнять некоторые определенные администраторские действия (Printer Operator, Backup Operator и т.п.) В UNIX для делегирования части администраторских прав в свое время использовалась программа sudo. Второй выход был в том, чтобы установить в правах доступа к некоей административной программе типа useradd бит SUID и доверенный пользователь мог бы запустить ее от имени владельца, т.е. пользователя root.
Оба этих решения не являются совершенными: некоторые виды операций трудно выполнить, имея право запуска отдельных программ. Например, управление учетными записями пользователей не ограничивается их добавлением, и разрешения запускать useradd недостаточно для доверенного пользователя, чтобы помогать системному администратору во всем, что связано с управлением пользователями.
В Solaris начиная с версии 8 была введена новая для UNIX система управления доступом – RBAC (role-based access control). Основанное на ролях управление доступом имеет такую же функциональность, как разнообразие групп с некоторыми административными правами в Windows. Смысл ролей в том, что любому пользователю может быть назначена роль. Ответственность и право выполнения части администраторских функций делегированы роли, и пользователь имеет право ее играть.
Что такое роль
Физически роль представляет собой учетную запись специального типа, пользователь не может зайти в систему, указав имя роли, но может "переключиться в роль", дав команду
su имя_роли
Можно сказать, что роль – это псевдопользователь, который обладает правами, большими, чем обычный пользователь, но меньшими, чем root. Каждой роли могут быть делегированы те или иные права путем назначения ей профилей прав или авторизаций (наборов прав).
Компоненты RBAC
Рассмотрим все компоненты RBAC последовательно, начиная с пользователей и ролей.
Всего существует пять компонент: пользователи, роли, профили, авторизации, команды.
Пользователи
Пользователи – это те самые обычные пользователи. Они имеют самые обычные учетные записи. Пользователям может быть дано право играть ту или иную роль, согласно записям в файле /etc/user_attr.
Роли
Роли могут быть назначены пользователям. Предопределенных ролей не существует, но можно легко создать новые роли, назначив им один из трех предопределенных профилей. Предполагается, что системный администратор будет самостоятельно создавать роли и назначать их, по мере необходимости, тем или иным пользователям. Соответствие ролей и пользователей (т.е. разрешение конкретному пользователю играть ту или иную роль) описывается файлом /etc/user_attr:
# Copyright (c) 1999-2001 by Sun Microsystems, Inc. All rights reserved. # # /etc/user_attr # # user attributes. see user_attr(4) # #pragma ident "@(#)user_attr 1.5 01/12/11 SMI" # root::::auths=solaris.*,solaris.grant;profiles=All lp::::profiles=Printer Management adm::::profiles=Log Management printmgr::::type=role;profiles=All
Значащих полей в этом файле всего два: имя пользователя (или роли) и атрибуты. Среди атрибутов выделяется атрибут type: он имеет значение role для записи о роли и normal – о пользователе. По умолчанию подразумевается запись о пользователе.
Формат записей в /etc/user_attr следующий:
user:qualifier:res1:res2:attr
где:
- user – имя пользователя, такое, как в /etc/passwd ;
- qualifier – зарезервировано на будущее;
- res1 – зарезервировано на будущее;
- res2 – зарезервировано на будущее;
- attr – атрибуты, разделенные точкой с запятой, вида имя=значение ; допустимые атрибуты – это auths, profiles, roles, type, and project.
Атрибут auths предназначен для перечисления предопределенных прав (authorizations), в том числе и групп прав, где значение "все возможные" представляется символом "звездочка" ( * ), например,
auths=solaris.printer.*
обозначает все возможные права набора прав solaris.printer.
Атрибут roles позволяет разрешить пользователю играть различные роли, здесь они перечисляются через запятую. Если в строке, описывающей пользователя, не указан атрибут roles, пользователю запрещается играть какие бы то ни было роли. Например, запись о ролях может быть такой:
roles=printmgrs, useradmin
Атрибут type служит для определения того, относится ли текущая запись к обычному пользователю или описывает роль. Для обычного пользователя следует указывать атрибут
type=normal
и для роли
type=role
Аналогичным образом может быть назначен проект ( project ) и профиль прав ( profiles ) для пользователя или роли.
Профили прав
Профиль в данном контексте – это набор свойств, который можно назначить той или иной роли. В англоязычной литературе профиль, используемый в RBAC, называется профилем прав (Rights Profile). Профиль прав объединяет различные авторизации, чтобы можно было назначить той или иной роли логически связанный набор авторизаций (например, профиль Operator может быть назначен роли, которая нужна для выполнения простых задач администрирования: выполнения резервных копий, управления доступом к принтеру и свойствами принтера). Информация о профилях хранится в файле /etc/security/prof_attr, поля в котором имеют следующие значения:
profname:res1:res2:desc:attr
- profname – это имя профиля; регистр букв в имени имеет значение;
- res1, res2 – зарезервированные поля;
- desc – описание профиля, в котором указывается смысл данного профиля; это описание должно быть пригодно в качестве пояснения назначения профиля для пользователей приложений высокого уровня (типа Solaris Management Console);
- attr – атрибуты в таком же виде, как и в других файлах RBAC, допустимые атрибуты – это auths и help. Атрибут auths предполагает указание в качестве его значения списка наборов прав (авторизаций) из числа определенных в файле /etc/security/auth_attr. Атрибут help требует указания страницы в формате HTML, содержащей справку по данному профилю.
В нижеследующем примере файла /etc/security/prof_attr опущены некоторые строки, каждый профиль прав описан отдельным абзацем, поскольку в реальном файле он описывается одной длинной строкой, которая не умещается на книжной странице:
# # Copyright (c) 1999-2001 by Sun Microsystems, Inc. All rights reserved. # # /etc/security/prof_attr # # profiles attributes. see prof_attr(4) # #ident "@(#)prof_attr 1.1 01/10/23 SMI" # iPlanet Directory Management:::Manage the iPlanet directory server:help=RtiDSMngmnt.html Media Restore:::Restore files and file systems from backups:help=RtMediaRestore. html Name Service Security:::Security related name service scripts/commands:help=RtNameS erviceSecure.html Device Management:::Control Access to Removable Media:auths=solaris. device.*,solaris.admin.serialmgr.*;help=RtDeviceMngmnt.html Media Backup:::Backup files and file systems:help=RtMediaBkup.html User Security:::Manage passwords, clearances:auths=solaris.role.*,solaris. profmgr.*,solaris.admin.usermgr.*;help=RtUserSecurity.html Audit Control:::Configure BSM auditing:auths=solaris.audit.config,solaris.jobs. admin,solaris.admin.logsvc.purge,solaris.admin.logsvc.read;help=RtAuditCtrl.html User Management:::Manage users, groups, home directory:auths=solaris.profmgr. read,solaris.admin.usermgr.write,solaris.admin.usermgr.read;help=RtUserMngmnt.html Mail Management:::Manage sendmail & queues:help=RtMailMngmnt.html Printer Management:::Manage printers, daemons, spooling:help=RtPrntAdmin. html;auths=solaris.admin.printer.read,solaris.admin.printer.modify,solaris.admin. printer.delete Log Management:::Manage log files:help=RtLogMngmnt.html Audit Review:::Review BSM auditing logs:auths=solaris.audit. read;help=RtAuditReview.html Software Installation:::Add application software to the system:help=RtSoftwareInstall.html;auths=solaris.admin.prodreg.read,solaris.admin. prodreg.modify,solaris.admin.prodreg.delete,solaris.admin.dcmgr.admin,solaris.admin. dcmgr.read,solaris.admin.patchmgr.* Network Security:::Manage network and host security:help=RtNetSecure. html;auths=solaris.network.* Operator:::Can perform simple administrative tasks:profiles=Printer Management,Media Backup,All;help=RtOperator.html FTP Management:::Manage the FTP server:help=RtFTPMngmnt.html Project Management:::Manage Solaris projects:auths=solaris.project.read,solaris. project.write;help=RtProjManagement.html DHCP Management:::Manage the DHCP service:auths=solaris. dhcpmgr.*;help=RtDHCPMngmnt.html System Administrator:::Can perform most non-security administrative tasks:profiles=Audit Review,Printer Management,Cron Management,Device Management,File System Management,Mail Management,Maintenance and Repair,Media Backup,Media Restore,Name Service Management,Network Management,Object Access Management,Process Management,Software Installation,User Management,All;help=RtSysAdmin.html Basic Solaris User:::Automatically assigned rights:auths=solaris.profmgr. read,solaris.jobs.users,solaris.mail.mailq,solaris.admin.usermgr.read,solaris.admin. logsvc.read,solaris.admin.fsmgr.read,solaris.admin.serialmgr.read,solaris.admin. diskmgr.read,solaris.admin.procmgr.user,solaris.compsys.read,solaris.admin.printer. read,solaris.admin.prodreg.read,solaris.admin.dcmgr.read,solaris.snmp.read,solaris. project.read,solaris.admin.patchmgr.read,,solaris.network.hosts.read,solaris.admin. volmgr.read;profiles=All;help=RtDefault.html