Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Предварительная настройка

Перед настройкой интеграции должно быть выполнено добавление компьютера с NAICE в домен. Для этого в момент установки должны были быть настроены параметры подключения, описанные в инструкции по установке или во встроенной документации .

Если при установке они не были настроены, то требуется указать все необходимые данные и выполнить установку плейбуком повторно поверх существующей инсталляции.

Без этих настроек авторизация пользователей через MS AD работать не будет!

Предварительно также необходимо:

  1. Настроить сетевое устройство на взаимодействие с Eltex-NAICE по протоколу RADIUS в соответствие с инструкцией производителя.
  2. Добавить сетевое устройство и его профиль в NAICE.

Подробная информация о настройках содержится во встроенной документации, которую можно просмотреть нажав кнопку  вверху справа.


Создание источника идентификации

Открыть раздел "Администрирование" → "Управление идентификацией" → "Внешние источники идентификации" и нажать кнопку :

Более подробно о настраиваемых параметрах можно узнать во встроенной документации .

После сохранения перейдем в раздел "Группы" и добавить группы, которые предполагается использовать в политиках авторизации:

В данном примере добавляем группу "Гости".

Перейдем в раздел "Атрибуты" и добавим атрибут, значение которого будет использоваться для выдачи cVLAN. При получении списка доступных атрибутов требуется обязательно задать фильтр, в зависимости от которого могут отображаться разные атрибуты. Рекомендуется использовать фильтры: "distinguishedName=*", "objectClass=person", "givenName=<имя пользователя>" и т.п. Так же следует иметь ввиду, что атрибуты, для которых ни разу не задавалось значение, могут не отображаться. Для пользователя в приведенном ниже примере в поле "Описание" задано значение 1000, которое будет использоваться в качестве cVLAN:

И нажать кнопку "Сохранить".

Нажав справа от добавленного атрибута кнопку  отредактируем поле "Имя" на другое, т.к. именно оно будет отображаться при работе с LDAP словарем на более понятное. "Тип" и "Внутреннее наименование" не меняются:

После этого сохраняем новое значение нажав кнопку справа от атрибута.

Создание цепочки идентификаций с использованием ранее созданного источника идентификации

Открыть раздел "Администрирование" → "Управление идентификацией" → "Цепочки идентификации" и нажать кнопку :

После создания цепочки идентификации с использованием ранее созданного источника нажать кнопку "Добавить".

Создание профиля авторизации с использованием ранее созданного атрибута

Открыть раздел "Политика" → "Элементы" → "Результаты" → "Профили авторизации" и нажать кнопку . В открывшемся окне, после выбора профиля сетевого устройства, в блоке "Общие задачи" включить галочку "VLAN", после этого нажать на кнопку выбора атрибута справа , выбрать словарь с именем ранее созданного источника идентификации:

В словаре выбрать ранее созданный атрибут "cVLAN":

И сохранить профиль авторизации нажав кнопку "Добавить":

Если в выбранном профиле сетевого устройства не включена возможность использовать VLAN, то чекбокс в профиле авторизации будет неактивен!

Настройка политик

В разделе "Политика" →  "Наборы политик" добавим новую политику, в которой условием попадания под данную политику будет, например "NAS-IP-address" равно <IP-адресу устройства>. 

Сохранить новую политику нажав кнопку "Сохранить" и перейти к настройке политик аутентификации и авторизации нажатием кнопки справа от добавленной политики.

Добавить политику аутентификации, которая использует созданную цепочку идентификаций (с использованием, например, одинакового условия с политикой):

Добавить политику авторизации, которая использует в качестве условия принадлежность пользователя к ранее созданной группе в источнике идентификации, а в качестве профиля авторизации - ранее созданный профиль:

И нажать кнопку "Сохранить".

Проверка подключения клиентом

Подробнее настройка клиентского конечного устройства для подключения описана в v0.7_8. Настройка подключения клиента.

Проверка пользователя в Active Directory возможна только при подключении клиента по протоколам MSCHAPv2, EAP-PEAP-MSCHAPv2 и EAP-TLS.


Подключиться клиентом и после авторизации перейти в раздел "Мониторинг" → "RADIUS" → "Пользовательские сессии":

Для подробного просмотра информации о сессии можно в колонке "Подробнее" нажать кнопку :

Траблшутинг подключения

Проблемы с проверкой связи при добавлении источника

В случае если не проходит проверка связи с сервером AD необходимо проверить:

  • Внимательно проверить корректность заполнения всех данных для подключения.
  • Проверить, что DNS-имена домена и сервера AD резолвятся через DNS-запросы. Для этого необходимо подключиться по SSH к серверу и выполнить команды:

    Пример команд
    $ dig LABMS.WS.LOC | grep 'ANSWER SECTION' -A 10
    ;; ANSWER SECTION:
    LABMS.WS.LOC. 3600	IN	A	192.168.0.1
    
    ;; Query time: 1 msec
    ;; SERVER: 192.168.0.1#53(192.168.0.1) (UDP)
    ;; WHEN: Fri Dec 13 17:04:14 +10 2024
    ;; MSG SIZE  rcvd: 69
    
    
    $ dig WS.LOC | grep 'ANSWER SECTION' -A 10
    ;; ANSWER SECTION:
    WS.LOC.		600	IN	A	192.168.0.1
    
    ;; Query time: 1 msec
    ;; SERVER: 192.168.0.1#53(192.168.0.1) (UDP)
    ;; WHEN: Fri Dec 13 17:05:30 +10 2024
    ;; MSG SIZE  rcvd: 53

Так же рекомендуется в настройках "Структура каталога" указать строки с учетом подразделений, что бы выполнять поиск пользователей и групп в требуемых подразделениях, что может существенно сократить время поиска и повысить стабильность работы, т.к.  поиск во всем домене может возвращать очень большое число сущностей.

Далее приведен пример как можно задать значения. Например есть домен "eltex.loc", в котором в подразделение "Eltex" находятся подразделения "Сотрудники" и "Группы".

  • "Subject search base": ou=Сотрудники,ou=Eltex,dc=eltex,dc=loc
  • "Group search base": ou=Группы,ou=Eltex,dc=eltex,dc=loc

Ошибка "mschap-ad: Unable to contact winbind!"

Данная ошибка возникает в ходе проверки пароля пользователя. За проверку пароля пользователя отвечает сервис "naice-radius".

Причиной ошибки могут служить некорректное указание переменных отвечающих за взаимодействие с MS AD, которые задаются перед запуском плейбуков Ansible или недостаточные права УЗ NAICE, отвечающей за взаимодействиес MS AD.

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

  1. Проверить корректность значений переменных в файле all.yml. Следует обратить внимание, что домен, рабочая группа и имя сервера AD всегда указываются заглавными буквами!

    Переменные отвечающие за взаимодействие с MS AD
    use_ms_ad: True
    radius_ms_ad_ip: '192.168.0.1'
    radius_kerberos_ad_user_login: 'fill_login'
    radius_kerberos_ad_user_password: 'fill_password'
    radius_kerberos_workgroup: 'WS'
    radius_kerberos_kdc: 'WS.LOC'
    radius_kerberos_admin_server: 'LABMS.WS.LOC'
    radius_samba_ou_structure: 'Computers'

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

  2. Проверить, что DNS имена домена и контроллера домена, указанные в переменных "radius_kerberos_kdc" и "radius_kerberos_admin_server" резолвяться в IP адреса. Для этого необходимо подключиться по SSH к серверу и выполнить команды:

    Пример команд
    $ dig LABMS.WS.LOC | grep 'ANSWER SECTION' -A 10
    ;; ANSWER SECTION:
    LABMS.WS.LOC. 3600	IN	A	192.168.0.1
    
    ;; Query time: 1 msec
    ;; SERVER: 192.168.0.1#53(192.168.0.1) (UDP)
    ;; WHEN: Fri Dec 13 17:04:14 +10 2024
    ;; MSG SIZE  rcvd: 69
    
    
    $ dig WS.LOC | grep 'ANSWER SECTION' -A 10
    ;; ANSWER SECTION:
    WS.LOC.		600	IN	A	192.168.0.1
    
    ;; Query time: 1 msec
    ;; SERVER: 192.168.0.1#53(192.168.0.1) (UDP)
    ;; WHEN: Fri Dec 13 17:05:30 +10 2024
    ;; MSG SIZE  rcvd: 53

    если был изменен DNS-сервер хоста - необходимо выполнить рестарт NAICE для применения изменений. Для этого надо зайти в директорию установки NAICE (по умолчанию "/etc/docker-naice") и выполнить команду:

    sudo docker compose down && sudo docker compose up -d

    Перезапуск всех сервисом может занять до 5 минут.

  3. Для дальнейшей диагностики необходимо зайти в контейнер "naice-radius":

    sudo docker exec -it naice-radius bash

    в контейнере выполнить команду получения токена "kerberos" из MS AD "kinit <логин УЗ>@<домен AD из radius_kerberos_kdc>" и ввести пароль. Пример:

    # kinit admin@TEST.LOC
    Password for admin@TEST.LOC:

    при успешном выполнении команды никакого лога не будет. Можно просмотреть токены командой "klist":

    # klist
    Ticket cache: FILE:/tmp/krb5cc_0
    Default principal: admin@WS.LOC
    
    Valid starting     Expires            Service principal
    12/13/24 14:27:54  12/14/24 00:27:54  krbtgt/WS.LOC@WS.LOC
    	renew until 12/14/24 14:27:51

    В случае возникновения ошибки необходимо проверить корректность используемой УЗ и наличие необходимых прав в MS AD.

  4. Следующим шагом необходимо проверить возможность выполнения включения в домен. Для этого необходимо выполнить команду:

    net ads join -U <логин УЗ>@<домен AD из radius_kerberos_kdc> -S <имя сервера AD из radius_kerberos_admin_server> createcomputer='<подразделение в которое требуется добавить компьютер>'

    Пример команды:

    net ads join -U admin@WS.LOC -S LABMS.WS.LOC createcomputer='Сomputers'

    Если используется иерархия подразделение - необходимо указать их через "/" от корня домена. Пример:

    net ads join -U admin@WS.LOC -S LABMS.WS.LOC createcomputer='naice/servers'

    в результате ожидается вывод:

    # net ads join -U admin@WS.LOC -S LABMS.WS.LOC createcomputer='computers'
    Password for [admin@WS.LOC]:
    Using short domain name -- WS
    Joined 'naice' to dns domain 'ws.loc'
    No DNS domain configured for naice. Unable to perform DNS Update.
    DNS update failed: NT_STATUS_INVALID_PARAMETER
    ошибки в конце о невозможности отрезолвить имя сервера NAICE не имею значения, главное успешный результат "Joined 'naice' to dns domain 'ws.loc'. В результате компьютер с именем сервера NAICE должен появиться в требуемом подразделении AD. В случае возникновения ошибок необходимо проверить прав УЗ NAICE в AD. Обязательно требуется право на добавление компьютера в домен AD!
  5. Проверить внутри контейнера состояние сервиса "winbind" командой "service winbind status". Пример успешного выполнения:

    # service winbind status
     * winbindd is running

    Если сервис не запущен - выполнить рестарт:

    # service winbind restart
     * Stopping Samba Winbind daemon winbindd                                                                                                                                                        [ OK ]
     * Starting Samba Winbind daemon winbindd
  6. Если все вышеперечисленные действия не привели к результату: ошибка сохраняется:

    1. необходимо собрать логи выполняемых действий в отдельный файл.

    2. выгрузить лог "winbind" командой в контейнере:

      # cat /var/log/samba/log.winbindd
      и сохранить лог в файл.
    3. Выйти из контейнера и выгрузить файл "/var/log/radius/radius.log".
    4. Обратиться в техническую поддержку с описанием проблемы и приложить собранные файлы.

Сессия не отображается в разделе "Мониторинг - Пользовательские сессии"

Отсутствие сессии пользователя в разделе "Мониторинг - Пользовательские сессии" может происходить по следующим причинам:

  • некорректная настройка сетевого устройства, используемого для подключения пользователя.
  • некорректная настройка устройства пользователя.
  • не совпадающий секретный ключ сетевого устройства в конфигурации устройства и настройках сетевого устройства NAICE.
  • не совпадающий  IP-адрес сетевого устройства в настройках NAICE.

 Для анализа поведения необходимо проанализировать логи файла "/var/log/radius/radius.log". Просмотр файла доступе с правами "sudo".

  • в файле нет логов о попытках подключения с IP-адреса сетевого устройства - проверить настройки сетевого устройства и пользователя.
  • если наблюдаются логи вида:

    Error: Ignoring request to acct address * port 1813 bound to server default from unknown client 192.168.0.10 port 49206 proto udp

    это означает что сетевое устройство не добавлено в NAICE или у него указан неправильный IP-адрес. Необходимо добавить устройство в раздел "Администрирование - Сетевые ресурсы - Устройство" или исправить его IP-адрес.

  • если наблюдаются логи вида:

    Info: Dropping packet without response because of error: Received Accounting-Request packet from client 192.168.0.10 with invalid Request Authenticator!  (Shared secret is incorrect.) (from client sw1)

    это означает, что в настройках сетевого устройства указан неправильный секретный ключ. Требуется исправить секретный ключ либо в настройках сетевого устройства в разделе "Администрирование - Сетевые ресурсы - Устройство", либо исправить его на сетевом устройстве.

    NAS запись сетевого устройства кэшируется на 1 час! Поэтому новый секретный ключ после изменения не применяется немедленно. Для перечитывания значения секретного ключа необходимо перезапустить сервис naice-radius. Для перезапуска надо зайти в директорию установки NAICE (по умолчанию "/etc/docker-naice") и выполнить команду:

    sudo docker compose stop naice-radius && sudo docker compose up -d naice-radius
  • Нет меток