Управление зонами ответственности при администрировании#
Разграничение зон ответственности администраторов позволяет определять полномочия и/или зоны ответственности пользователей (администраторов ПКД), что обеспечивает удобство и информационную безопасность.
В ПКД реализованы следующие инструменты разграничения зон ответственности администраторов:
Пользовательские роли — создание пользовательских типов администратора, назначение их на пользователей и группы пользователей.
Назначение типа администратора — определение полномочий администраторов в соответствии с назначенным типом.
Политики повышения возможностей по администрированию (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 из карточки необходимо перейти в карточку правила, кликнуть кнопку Удалить правило и подтвердить удаление.
Для удаления правила из списка необходимо перейти к списку правил, отметить чек-боксом правило (несколько правил) на удаление и кликнуть кнопку Удалить.