Управление зонами ответственности при администрировании#
Разграничение зон ответственности администраторов позволяет определять полномочия и/или зоны ответственности пользователей (администраторов ПКД), что обеспечивает удобство и информационную безопасность.
В ПКД реализованы следующие инструменты разграничения зон ответственности администраторов:
Пользовательские роли — создание пользовательских типов администратора, назначение их на пользователей и группы пользователей.
Назначение типа администратора — определение полномочий администраторов в соответствии с назначенным типом.
Политики повышения возможностей по администрированию (SUDO) — возможность запрещать и разрешать определенным пользователям или группам выполнение конкретного набора программ, а также разрешить выполнение определенных программ без необходимости ввода своего пароля.
Политики доступа к узлу (HBAC) — определение правил для настройки доступа пользователей или групп пользователей к определенным хостам с использованием определенных сервисов
Назначение типов администратора#
Модель ПКД для типа администратора#
Модель ПКД для типа администратора включает следующие сущности:
Разрешение — право на выполнение операции/действия;
Возможности по администрированию — «тематический» набор разрешений. Например, для управления группами пользователей необходимы разрешения на создание, удаление, редактирование группы пользователей. Эти три действия можно объединить в возможности по администрированию на управление группами пользователей. Аналогично можно создать возможности по администрированию на управление группами компьютеров;
Тип администратора — набор возможностей по администрированию. Например, для выделенного типа, участники которого будут управлять только группами пользователей и группами компьютеров, можно назначить два вида возможностей (одна на управление группами пользователей, вторая — на управление группами компьютеров) вместо назначения множества разрешений на операции с группами, которые надо выбрать из большого общего списка разрешений.
Предупреждение
Любые возможности при администрировании запрещают создание и работу с следующими пользователями и группами пользователей:
Пользователи — root
, daemon
, bin
, sys
, sync
, games
, man
, lp
, mail
, news
, uucp
, proxy
, www-data
, backup
, list
, irc
, gnats
, nobody
, systemd-timesync
, systemd-network
, systemd-resolve
, _apt
, messagebus
, sshd
, systemd-coredump
, _chrony
, postgres
, opendnssec
, zabbix
, _rpc
, statd
, redis
, sssd
, custodia
, dirsrv
, bind
, gluster
, pkiuser
, kdcproxy
, ipaapi
.
Группы пользователей — root
, daemon
, bin
, sys
, adm
, tty
, disk
, lp
, mail
, news
, uucp
, man
, proxy
, kmem
, dialout
, fax
, voice
, cdrom
, floppy
, tape
, sudo
, audio
, dip
, www-data
, backup
, operator
, list
, irc
, src
, gnats
, shadow
, utmp
, video
, sasl
, plugdev
, staff
, games
, users
, nogroup
, systemd-journal
, systemd-timesync
, systemd-network
, systemd-resolve
, crontab
, input
, kvm
, render
, netdev
, messagebus
, ssh
, astra-admin
, astra-console
, systemd-coredump
, softhsm
, _chrony
, ssl-cert
, postgres
, opendnssec
, zabbix
, redis
, rdma
, sssd
, custodia
, dirsrv
, bind
, gluster
, sambashare
, winbindd_priv
, pkiuser
, kdcproxy
, ipaapi
.
Функция назначения типа администратора предназначена для предоставления списка разрешений, т.е. действий, доступных обладателю конкретного типа администратора. Набор разрешений логически объединен в возможности. Конкретный вид возможности позволяет управлять только заданной группой параметров.
По умолчанию наборы возможностей разграничены между следующими типами:
предустановленная роль главного администратора;
роли для администрирования подразделов портала управления;
роль на чтение всего портала;
роль регионального администратора.
У пользователей есть возможность создать свои типы администраторов с требуемыми наборами возможностей.
Список доступных опций для каждого типа содержится в разделе Управление доменом — Роли и права доступа — Типы администратора в системе — Таблица соответствий «Возможность (Доступный раздел/подраздел) — Роль администратора».
В ПКД реализован механизм суммирования типов, т.е. при назначении пользователю нескольких типов все доступные возможности и разрешения суммируются.
Учетная запись, которой не присвоен ни один системный тип, имеет доступ только к Личному кабинету и не может использовать другие функции Системы.
Тип главного администратора по умолчанию назначен учетной записи admin
.
Кроме типов администратора в разделе представлены базовые типы FreeIPA:
ALDPRO — CIFS server;
ALDPRO — Organization units;
ALDPRO — Organizational Units Service Account;
ALDPRO — RuPost Service Integrations;
ALDPRO — SaltStack Administrators;
ALDPRO — Service Role;
ALDPRO — Trusts Service Account;
Enrollment Administrator;
helpdesk;
Security Architect;
User Administrator.
Примечание
При назначении пользователю типа администратора для работы с порталом ПКД рекомендуется использовать типы, созданные пользователем, и типы с префиксом ALDPRO: предустановленный и пользовательские. Использование базовых типов FreeIPA без префикса ALDPRO не рекомендуется.
Для просмотра списка функций (возможностей при администрировании) доступных для конкретного типа администратора необходимо выбрать наименование необходимого типа, после чего, справа в связанной таблице отобразится перечень возможностей администратора (список разделов, подразделов ПКД, доступных для данного типа).
Управление типами администратора#
Управление типами администратора доступно:
из карточки роли администратора;
из карточки пользователя.
Управление типами администратора из карточки роли осуществляется в разделе Управление доменом — Роли и права доступа — вкладка Роли в системе — карточка Роли. На вкладке в списке Выбранные пользователи приведен список пользователей, наделенных данным типом администратора. Доступна опция настройки данного списка.
Управление типами администратора из карточки пользователя осуществляется в разделе Пользователи и компьютеры — Пользователи — карточка Пользователя — вкладка Роли. На вкладке задаются типы, которыми будет наделена учетная запись пользователя.
Политики повышения возможностей при администрировании (SUDO)#
Команда sudo
(Substitute User and do, дословно «подменить пользователя и выполнить») предоставляет возможность пользователям выполнять команды от имени суперпользователя root
, либо других пользователей. Правила, используемые sudo
для принятия решения о предоставлении доступа, находятся в файле /etc/sudoers
(для редактирования файла можно использовать специальный редактор visudo
, запускаемый из командной строки без параметров, в том числе без указания пути к файлу). Язык их написания и примеры использования подробно изложены в man sudoers
.
В большинстве случаев грамотная настройка sudo
делает небезопасную работу от имени суперпользователя ненужной. Все действия оказываются выполнимы из-под аккаунта пользователя, которому разрешено использовать sudo
без ограничений.
Возможно запрещать и разрешать определенным пользователям или группам выполнение конкретного набора программ, а также разрешить выполнение определенных программ без необходимости ввода своего пароля.
ПКД позволяет настраивать правила разрешения и запрета на использование sudo
для пользователей и групп пользователей. В правилах могут задаваться:
пользователи (группы пользователей), к которым применяются правила;
команды (группы команд), которые можно (нельзя) выполнять этим пользователям с применением
sudo
;компьютеры (группы компьютеров), на которых применяется правило;
опции команды
sudo
, использующиеся при применении правила.
При инициализации контроллера (реплики) FreeIPA или при вводе клиента в домен FreeIPA система автоматически конфигурируется так, чтобы команда sudo
использовала доменную службу sssd
как источник данных о разрешениях использования sudo
. Эта конфигурация задается в файле /etc/nsswitch.conf
:
sudoers: files sss
где:
files
— использовать данные из локального файла/etc/sudoers
;sss
— использовать данные, предоставленные службойsssd
.
Служба sssd
, в свою очередь, настроена таким образом, чтобы получать данные по правилам sudo
от доменной службы каталогов (LDAP). Подробная информация по работе команды sudo
приведена в справочной системе man sudo
, man sudoers
.
Примечание
Правила sudo
не могут применяться к встроенной доменной группе хостов ipaserver
, т.к. эта группа не имеет свойства mepmanagedentry
и не имеет в objectclass
запись mepOriginEntry
, что необходимо для идентификации группы. Это является особенностью схемы в FreeIPA.
Служба sssd
выполняет кеширование данных с периодом обновления по умолчанию 5400 секунд. Для немедленного применения правил sudo
необходимо очистить кеш, выполнив на клиентской машине следующие команды:
sudo systemctl stop sssd
sudo rm /var/lib/sss/db/*
sudo systemctl start sssd
Или воспользоваться инструментом sssctl
, входящим в пакет sssd-tools
:
sudo sssctl cache-remove
Команды sudo#
В разделе Групповые политики — Политики повышения привилегий — вкладка Команды Sudo перечислены зарегистрированные команды sudo
, которые могут быть затронуты при создании правил sudo
. Регистрация команд sudo
осуществляется вручную.
Команды, которые будут далее использоваться в правилах sudo (т.е. которые далее могут выполняться от имени sudo указанными в правилах пользователями) должны быть зарегистрированы. Зарегистрировать можно любую команду, имеющуюся в системе, на которой будет применяться правило.
Для регистрации:
Перейти в раздел Групповые политики — Политики повышения привилегий — вкладка Команды Sudo.
Нажать кнопку + Новая команда.
В появившемся окне карточки команды
sudo
:указать полный путь расположения команды, которая должна выполняться от имени sudo (например, текстовый редактор
nano
, имеющий полный путь/usr/bin/nano
);
Примечание
Узнать полный путь расположения команды, можно командой
which
, напримерwhich nano
. Пути расположения команд стандартны и обычно зависят от системы, но в случае нестандартных систем может понадобиться получить пути на той машине, на которой будет применяться правило.опционально указать описание команды в произвольной форме.
Для сохранения и редактирования вкладки Группы нажать Сохранить. В результате указанная команда будет добавлена в список зарегистрированных команд. Далее эту команду можно будет использовать в правилах
sudo
.Во вкладке Группы опционально настроить список групп команд
sudo
, в которые должны быть включена вновь добавленная команда.
Группы команд Sudo#
В разделе Групповые политики — Политики повышения привилегий — вкладка Группы команд Sudo для удобства администратора возможно объединять несколько команд sudo
в группу.
Для создания новой группы команд sudo
необходимо нажать на кнопку + Новая группа, будет выполнен переход в карточку новой группы. В карточке заполнить обязательное поле Имя группы и нажать кнопку Сохранить.
Новая группа служб успешно создана, после чего доступен просмотр и настройка данной группы из ее карточки. Карточка группы содержит вкладки:
Основное — отображается информация о группе команд
sudo
: ее название и описание. Для редактирования доступно описание группы;Команды — осуществляется добавление команд
sudo
в состав данной группы командsudo
.
Для добавления команд sudo
в состав данной группы необходимо в списке Все команды отметить требуемые записи и перенести их в список Выбранные команды.
Создание и настройка правила sudo#
Для создания нового правила sudo
:
Перейти в раздел Групповые политики — Политики повышения привилегий — вкладка Правила Sudo.
Нажать кнопку + Новое правило, будет выполнен переход в карточку нового правила.
В карточке на вкладке Основное заполнить обязательное поле Имя правила. Остальные вкладки станут доступны после сохранения правила.
Настройка правила sudo
осуществляется во вкладках:
Параметры — параметры для команды
sudo
. Например, наиболее распространенная опция — не запрашивать пароль у пользователя при использовании командыsudo
(опция!authenticate
). Если в правиле указать эту опцию, то указанные в правиле команды можно будет выполнять черезsudo
без ввода пароля, если опция не используется — то потребуется ввести пароль пользователя, выполняющего команду. Полный список поддерживаемых параметров описан в справочной системеman sudoers
;Пользователи — список пользователей и групп пользователей, которым разрешено применять
sudo
в соответствии с правилом. Можно разрешить применять правило всем пользователям (группам пользователей);Компьютеры — список узлов в домене, на которых применяется правило. Можно разрешить применять правило на всех узлах;
Команды Sudo — команды, к которым применяется данное правило. Возможно Разрешить или Запретить выполнение команды или группы команд, также возможно разрешить выполнять все команды;
Запуск от имени — от имени какого пользователя или группы пользователей (не root-пользователя) может быть выполнена команда. При добавлении группы пользователей в Группы пользователей запуска от имени для выполнения команды могут использоваться идентификаторы пользователей (UID) членов этой группы. При добавлении в Группы запуска от имени для выполнения команды могут использоваться GID этой группы.
После внесения изменений в правило следует убедиться, что все изменения сохранены (кнопка Сохранить в начале формы) и нажать эту кнопку для сохранения изменений, если она доступна.
Удаление или отключение правила sudo#
Для удаления или отключения правила:
Выбрать из списка правило, которое необходимо отключить или удалить.
Для отключения правила нажать кнопку Отключить, для удаления — Удалить.
Политики доступа к узлу (HBAC)#
HBAC (Host-based access control) — набор правил для настройки доступа пользователей или групп пользователей к определенным хостам с использованием определенных сервисов. Например:
ограничение доступа по SSH к контроллеру домена определенной локации только для группы администраторов этой локации;
разрешение использовать только определенную службу для доступа определенным пользователям на определенных хостах.
Примечание
Правила предоставляют только разрешения доступа. Правила запрета доступа настроить невозможно.
В домене ПКД по умолчанию установлено правило allow_all
, которое после настройки и проверки своих правил следует отключить.
FreeIPA хранит основную группу пользователя в виде числового значения атрибута gidNumber
. В связи с этим, правила HBAC могут ссылаться только на дополнительные группы пользователя, но не на его основную группу.
Службы HBAC#
В разделе Групповые политики — Политики доступа к узлу — вкладка Службы HBAC перечислены службы и программы, которые могут быть затронуты при создании правил HBAC. Например, ftp
, sshd
, su
, login
.
Администратор имеет возможность добавить любые необходимые службы.
Группы служб HBAC#
В разделе Групповые политики — Политики доступа к узлу — вкладка Группы служб HBAC для удобства администратора возможно объединять несколько служб HBAC в группу.
Для создания новой группы служб необходимо нажать на кнопку + Новая группа, будет выполнен переход в карточку новой группы. В карточке заполнить обязательное поле Имя группы и нажать кнопку Сохранить.
Новая группа служб успешно создана, после чего доступен просмотр и настройка данной группы из ее карточки. Карточка группы содержит вкладки:
Основное — отображается информация о группе служб: ее название и описание. Для редактирования доступно описание группы;
Службы — осуществляется добавление служб HBAC в состав данной группы служб.
Для добавления служб HBAC в состав данной группы необходимо в списке Все службы отметить требуемые записи и перенести их в список Выбранные службы.
Добавление правила HBAC#
В разделе Групповые политики — Политики доступа к узлу — вкладка Правила HBAC нажать кнопку + Новое правило, откроется окно, в котором необходимо указать имя правила и нажать кнопку Сохранить.
Новое правило успешно создано, после чего доступен просмотр и настройка данного правила из его карточки. Карточка правила содержит вкладки:
Основное — содержит информацию о правиле (название и описание) и опцию включения/отключения правила;
Пользователи — осуществляется настройка списка пользователей и/или групп пользователей, на которых будет применяться данное правило;
Компьютеры — осуществляется настройка списка рабочих станций и/или групп рабочих станций, на которые будет применяться данное правило;
Службы HBAC — осуществляется настройка списка служб и/или групп служб, использование которых будет регулироваться данным правилом.
Допускается указывать совместно пользователей и группы пользователей, компьютеры и группы компьютеров, службы и группы служб. При этом, если в группе находится только один элемент, и эта группа уже добавлена, то добавить этот элемент отдельно невозможно.
Отключение и удаление правила#
Для отключения правила HBAC необходимо перейти в карточку правила и выбрать Выключено.
Удаление правила HBAC доступно как из карточки правила так и из общего списка правил.
Для удаления правила HBAC из карточки необходимо перейти в карточку правила, кликнуть кнопку Удалить правило и подтвердить удаление.
Для удаления правила из списка необходимо перейти к списку правил, отметить чек-боксом правило (несколько правил) на удаление и кликнуть кнопку Удалить.