Исходные настройки

Предполагается, что к началу настройки аутентификации пользователей выполнены следующие условия:

  • Имеется домен Active Directory (AD), с настроенным и работающим контроллером домена:
    • контроллеру домена присвоен фиксированный IP-адрес (далее по тексту: <IP-адрес_контроллера_AD>);
    • для учетной записи администратора домена известны имя (по умолчанию — Administrator) и пароль;

      Если для администратора домена AD была создана дополнительная учетная запись, недостаточно добавить эту учетную запись в группу Domain Admins, а эта группа должна быть выбрана основной для учетной записи администратора домена, иначе может возникать ошибка доступа CIFS 3221225506.

      В данном примере использовался английский вариант операционной системы выделенного сервера контроллера домена AD. При использовании русского варианта сервера необходимо перевести названия групп AD.

      При настройке доверительных отношений между доменами AD и FreeIPA не допускается использование кириллицы в имени учетной записи администратора домена AD.

      В имени домена AD не допускается использование символа "_"

  • В ПК СВ "Брест" настроен домен FreeIPA, при этом:
    • контроллеру домена присвоен фиксированный IP-адрес (далее по тексту: <IP-адрес_контроллера_FreeIPA>);
    • для учетной записи администратора домена известны имя (по умолчанию — admin) и пароль.
  • Время на контроллерах доменов AD и FreeIPA должно быть синхронизировано и иметь одинаковый формат.

Настройка доверительных отношений между доменами

Для настройки доверительных отношений между доменами необходимо выполнить следующие действия:

  1. На контроллере домена FreeIPA в файле /etc/network/interfaces добавить строку вида:

    dns-nameservers <IP-адрес_контроллера_AD>

  2. На контроллере домена AD запустить командную строку от имени администратора и выполнить команду:

    dnscmd 127.0.0.1 /ZoneAdd <наименование_домена_FreeIPA> /Forwarder <IP-адрес_контроллера_FreeIPA>

  3. На контроллере домена FreeIPA отключить проверку DNSSEC, для этого в файле /etc/bind/ipa-options-ext.conf установить следующие значение параметров:

    dnssec-enable no;
    dnssec-validation no;
    CODE

  4. Выполнить действия, описанные в статье Настройка доверительных отношений FreeIPA -- Active Directory.

Дополнительные настройки ПК СВ "Брест"

Настройка Apache2

На фронтальной машине ПК СВ "Брест"

  1. В конфигурационном файле /etc/apache2/sites-enabled/one-apache2.conf в строку параметра KrbAuthRealms добавить имя области (realm) Kerberos домена AD командой:

    sudo sed -i 's/KrbAuthRealms.*/KrbAuthRealms <НАИМЕНОВАНИЕ_ДОМЕНА_FreeIPA> <НАИМЕНОВАНИЕ_ДОМЕНА_AD>/g' /etc/apache2/sites-enabled/one-apache2.conf

    Имя области (realm) Kerberos указывается заглавными буквами!

  2. В конфигурационном файле /etc/apache2/apache2.conf включить IncludeRealm командой:

    sed -i 's/.*IncludeRealm.*/IncludeRealm on/' /etc/apache2/apache2.conf

  3. В конфигурационном файле /etc/krb5.conf в секции [realms] добавить правило преобразования заглавных букв в строчные в имени области (realm) Kerberos домена AD, а также ее параметры:

    <НАИМЕНОВАНИЕ_ДОМЕНА_FreeIPA> = {
        ...
        auth_to_local = RULE:[1:$1@$0](^.*@<НАИМЕНОВАНИЕ_ДОМЕНА_AD>$)s/@<НАИМЕНОВАНИЕ_ДОМЕНА_AD>/@<наименование_домена_AD>/
        auth_to_local = DEFAULT
    }  
    
    <НАИМЕНОВАНИЕ_ДОМЕНА_AD> = {
        kdc = <полное_доменное_имя_контроллера_домена_AD>
        admin_server = <полное_доменное_имя_контроллера_домена_AD>
    }
    CODE

    В данном примере предполагается, что сервисы центра выдачи ключей (kdc) и контроллера домена (admin_server) развернуты на одном выделенном сервере контроллера домена AD.

  4. Перезапустить службу apache2 командой:

    sudo systemctl restart apache2

На АРМ ПК СВ "Брест"

В конфигурационном файле /etc/krb5.conf установить следующие значение параметров:

dns_lookup_realm = true
dns_lookup_kdc = true
CODE


Настройка контроллера домена FreeIPA

В данном примере предполагается, что в домене AD пользователи, которым необходимо предоставить доступ к ПК СВ "Брест", включены в группу ad_users.

  1. Создать внешнюю группу FreeIPA ad_users_ext командой:

    ipa group-add --desc='AD users for Brest' ad_users_ext --external

  2. Создать POSIX-группу FreeIPA ad_users командой:

    ipa group-add --desc='AD users' ad_users

  3. Включить группу пользователей домена AD во внешнюю группу FreeIPA командой:

    ipa group-add-member ad_users_ext --external "<наименование_домена_AD>\ad_users"

  4. Добавить внешнюю группу FreeIPA в POSIX-группу FreeIPA командой:

    ipa group-add-member ad_users --groups ad_users_ext

  5. Добавить POSIX-группу FreeIPA в группы kvm, libvirt, libvirt-qemu командами:

    ipa group-add-member kvm --groups ad_users

    ipa group-add-member libvirt --groups ad_users

    ipa group-add-member libvirt-qemu --groups ad_users

Настройка Фронтальной машины

  1. Зарегистрировать группу ad_users, для этого добавить соответствующую строку в конфигурационный файл /etc/one/ldap_group.conf командой:

    echo ad_users > /etc/one/ldap_group.conf

  2. Добавить группу ad_users командой:

    onegroup create "ad_users"


Для доступа пользователя домена AD к сервисам ПК СВ "Брест", функционирующем в дискреционном режиме, необходимо на фронтальной машине в конфигурационном файле /etc/parsec/mswitch.conf для параметра zero_if_notfound установить значение yes.

zero_if_notfound: yes
CODE