FreeIPA: настройка репликации
При выполнении приведенных ниже инструкций на виртуальных машинах рекомендуется выделить машинам достаточное количество ресурсов:
Недостаток ресурсов ведет к сложно диагностируемым случайным ошибкам.
Службы FreeIPA крайне чувствительны к правильным настройкам параметров операционной системы. Даже при запуске FreeIPA в тестовом режиме следует придерживаться приведенных ниже правил.
- Установку FreeIPA (реплик FreeIPA) необходимо выполнять на чистой ОС, на которой ранее не были установлены другие сервисы.
- Перед установкой убедиться, что установлены последние обновления безопасности, и обеспечить их установку.
- Работа FreeIPA в Astra Linux Special Edition c включенным МКЦ осуществляется только при отключенном режиме AstraMode web-сервера Apache2.
Добавление репликации к настроенному серверу
Исходные данные и план действий
Имеется настроенный и работающий сервер FreeIPA (см. Контроллер ЕПП FreeIPA в Astra Linux):
- Сервер может быть установлен сразу с одновременной установкой службы сертификатов DogTag (ситуация, характерная для Astra Linux Common Edition), или установлен без службы DogTag (ситуация, характерная для Astra Linux Special Edition);
- IP-адрес сервера 10.0.2.102;
- Полное доменное имя (FQDN) сервера ipa.ipadomain.ru;
- Имя администратора сервера FreeIPA admin;
Добавляться будет реплика сервера FreeIPA
Для добавления реплики будут выполнены следующие действия:
- Если сервер был установлен без службы DogTag, то устанавливается и включается на основном сервере FreeIPA служба инфраструктуры открытых ключей DogTag.
Для Astra Linux Special Edition решение о возможности использования службы DogTag должно основываться на общей политике безопасности, см. FreeIPA: Подключение центра сертификации DogTag в Astra Linux Special Edition 1.6. Если службу DogTag использовать не представляется возможным, следует использовать другие способы выпуска сертификатов, например, astra-freeipa-server-crt — инструмент для создания и обновления сертификатов FreeIPA или графический инструмент XCA.
Подготовка основного сервера
На всякий случай, проверить работоспособность FreeIPA, получив билет Kerberos:
В Astra Linux Common Edition добавить сервер сертификации DogTag (минимальный набор служб — служба CA и служба KRA ) командами:
Войти в WEB-интерфейс FreeIPA:
Проверить, что при настройке DNS в процессе инициализации FreeIPA создана обратная зона DNS 2.0.10.in-addr.arpa.:
А в обратной зоне создана реверсивная запись для основного сервера 10.0.2.102:
Если записи реверсивной зоны и реверсивной записи основного сервера FreeIPA нет — создать их вручную
Далее, в реверсивной зоне вручную создать реверсивную запись для сервера репликации :
- Кнопка «Добавить»
- Имя записи 103 (адрес сервера репликации 103 в сети без адреса сети 10.0.2.0/24)
- Тип записи «PTR» (реверсивная запись)
- В поле Hostname указываем имя сервера replica.ipadomain.ru.
Реверсивные записи для серверов репликации можно добавлять из командной строки, выполняя на основном сервере команды вида:
Дополнительно (не обязательно) можно создать запись A для сервера репликации в прямой зоне домена. Если такой записи не будет, то далее при вводе сервера репликации в домен будет выдано предупреждение о возможной нестабильности работы из-за отсутствия A/AAAA записи. Предупреждение некритичное, все нужные записи будут созданы автоматически в процессе добавления клиента в домен.
Настройка сервера реплики
Введение
FreeIPA позволяет настраивать правила разрешения и запрета на использование sudo для пользователей и групп пользователей. В правилах могут задаваться:
- пользователи (группы пользователей), к которым применяются правила;
- команды (группы команд), которые можно (нельзя) выполнять этим пользователям с применением sudo ;
- хосты (группы хостов), на которых применяется правило;
- опции команды sudo , использующиеся при применении правила.
При инициализации контроллера (реплики) FreeIPA или при вводе клиента в домен FreeIPA система автоматически конфигурируется так, чтобы команда sudo использовала доменную службу sssd как источник данных о разрешениях использования sudo . Эта конфигурация задается в файле /etc/nsswitch.conf :
- files — использовать данные из локального файла /etc/sudoers ;
- sss — использовать данные, предоставленные службой sssd .
Служба sssd настроена таким образом, чтобы получать данные по правилам sudo от доменной службы каталогов (LDAP). Подробная информация по работе команды sudo приведена в справочной системе man sudo , man sudoers .
Правила sudo не могут применяться к встроенной доменной группе хостов ipaserver , т. к. эта группа не имеет свойства mepmanagedentry , следовательно, не имеет в objectclass запись mepOriginEntry , что необходимо для идентификации группы. Это является особенностью схемы в FreeIPA .
Служба sssd выполняет кеширование данных с периодом обновления по умолчанию 5 400 секунд . Для немедленного применения правил sudo необходимо очистить кеш, выполнив на клиентской машине следующие команды:
Регистрация команд
Команды, которые будут далее использоваться в правилах sudo (т. е. которые далее могут выполняться от имени sudo указанными в правилах пользователями) должны быть зарегистрированы. Зарегистрировать можно любую команду, имеющуюся в системе, на которой будет применяться правило. Для регистрации:
- Войти в веб-интерфейс FreeIPA.
- Перейти во вкладку Политика .
- В ыбрать в выпадающем меню Sudo — Команды Sudo и нажать Добавить .
- В появившемся окне:
- Указать полный путь расположения команды, которая должна выполняться от имени sudo (например, для редактора nano — /usr/bin/nano );
Узнать полный путь расположения команды можно командой which , например:
Пути расположения команд стандартны и обычно не зависят от системы, однако в случае нестандартных путей расположения системе может понадобиться получить пути на той машине, на которой будет применяться правило.
Опционально указать описание команды в произвольной форме (например, Текстовый редактор nano):
Для сохранения изменений нажать кнопку Добавить. В результате указанная команда будет добавлена в список зарегистрированных команд:
Создание правила
Для создания нового правила sudo :
- Перейти во вкладку Политика.
- Выбрать в выпадающем меню Sudo— Правила Sudo.
- Нажать кнопку Добавить и ввести имя правила.
- Нажать кнопку Добавить и изменить, будет создано «пустое» правило и откроется форма настройки его параметров:
- Раздел Основные содержит поля:
- Порядок Sudo — необязательный приоритет правила. Представляется целым числом, определяет очередность выполнения правила. Правила с большим значением выполняются раньше;
- Описание — необязательный комментарий к правилу;
- Раздел Параметры — параметры для команды sudo . Например, наиболее распространенная опция — не запрашивать пароль у пользователя при использовании команды sudo (опция !authenticate ). Если в правиле указать эту опцию, то указанные в правиле команды можно будет выполнять через sudo без ввода пароля, если опция не используется, то потребуется ввести пароль пользователя, выполняющего команду.
Удаление или отключение правила
Для удаления или отключения правила:
- Выбрать из списка правило, которое необходимо отключить или удалить;
- Для отключения правила нажать кнопку Отключить , для удаления — Удалить .
Объединение команд в группу
Для удобства управления команды можно объединять в группы. Для этого:
- Перейти во вкладку Политика.
- Выбрать в выпадающем меню Sudo — Группы команд Sudo.
- Нажать кнопку Добавить и ввести имя группы.
- Нажать кнопку Добавить и изменить и добавить команды, которые следует объединить в группу.
- Раздел Основные содержит поля:
- Указать полный путь расположения команды, которая должна выполняться от имени sudo (например, для редактора nano — /usr/bin/nano );