Описание
В данной инструкции описано, как выполнить настройку аутентификации по протоколу EAP-TLS с использованием "машинного" сертификата компьютера, подключенного к домену MS Active Directory.
В рамках инструкции описывается:
1) Добавление в NAICE сертификатов, необходимых для работы EAP-TLS.
2) Настройка подключения к MS AD, а также добавление MS AD в качестве внешнего источника пользовательских учетных данных.
3) Настройка необходимых для EAP-TLS авторизации сущностей, с учетом требуемых для использования машинных сертификатов изменений.
4) Настройка сетевого подключения ПК-клиента на примере ОС Windows 10.
Требования и ограничения
Общие требования к сертификатам
- Работа с сертификатами, использующими ГОСТ шифрование, не поддерживается.
- NAICE не имеет встроенного средства управления сертификатами. Выпуск и управление жизненным циклом сертификатов возлагается на стороннее ПО (ЦС Windows Server).
Требования к сертификату, используемому сервисом NAICE-RADIUS
- Сертификат, используемый сервисом, должен иметь формат PEM или CRT без включения ключа шифрования в сертификат сервера.
- Использование DER-кодировки не поддержано.
- Использование сертификатов в контейнере PKCS не поддержано.
- В пароле к приватному ключу не допускается использование символов: $, ', ", `, знаки скобок и пробел.
- Возможно использование только одного сертификата сервисом NAICE-RADIUS.
- Сертификат, используемый NAICE-RADIUS, должен содержать атрибуты:
- Subject: CN;
- X509v3 Key Usage: Digital Signature, Key Encipherment;
- X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication.
- Сертификат, используемый пользователем, должен содержать атрибуты:
- Subject: CN;
- X509v3 Key Usage: Digital Signature, Key Encipherment;
- X509v3 Extended Key Usage: TLS Web Client Authentication.
Требования к Active Directory
- Минимальная версия контроллера Active Directory: Windows Server 2008 R2.
- Использование протокола NTLM контроллером Active Directory, на котором выполняется авторизация пользователей должна быть разрешена.
DNS-сервер, который будет использоваться хостом с установленным NAICE должен обеспечивать:
- разрешение полного имени домена (например
test.loc), в котором будет работать NAICE; - разрешение полного имени контроллеров AD (например
srv1.test.loc) обслуживающих домен; - возвращать ответ на DNS-запрос типа SRV со списком контроллеров обслуживающих домен.
Как правило используется DNS-сервер, входящий в состав домена.
Все IP-адреса, которые могут возвращаться как адреса домена или контроллеров домена должны быть доступны с хоста на котором установлен NAICE.
Список портов для взаимодействия с Active Directory:
| Протокол | Порт | Назначение | Примечания |
|---|---|---|---|
| UDP | 53 | DNS | Сервер, отвечающий за разрешение доменных имен. |
| TCP | 389 | LDAP | Для выполнения поиска данных о пользователях и группах в домене. |
| TCP | 3268 | LDAP | Можно использовать вместо порта 389, если нет леса деревьев. |
| TCP | 49152-65535 | RPC Dynamic Port Range | Для выполнения аутентификации пользователей по протоколу netlogon (MS-NRPC). |
Подробнее о требованиях и работе с Active Directory можно узнать в инструкции v1.0_4.1 Настройка интеграции с Active Directory.
Установка сертификатов
Установка сертификатов выполняется плейбуком Ansible. Для корректной работы требуется файлы сертификата расположить на хосте, с которого будет выполняться плейбук Ansible в папке ansible/roles/docker/files/eap-tls.
Требуется три файла:
- Файл сертификата ЦС, который отвечает за выпуск сертификатов, используемых для аутентификации в формате pem или crt;
- Файл сертификата, который будет использоваться NAICE-RADIUS для проверки сертификатов пользователей;
- Файл ключа сертификата NAICE-RADIUS.
Далее приведен пример с расположением файлов в на хосте выполнения плейбуков Ansible:
|
Файлы могут иметь произвольное наименование.
Настройка переменных для копирования сертификатов
После расположения файлов на хосте, требуется в файле "group_vars/all.yml" указать значения переменных:
# параметры для авторизации по протоколу EAP-TLS # параметры сертификатов # для включения установки сертификатов протокола EAP-TLS необходимо расположить файлы сертификатов сервера в папке ansible/roles/docker/files/eap-tls radius_eap_tls_cert_dir_copy: true # включить копирование сертификатов из директории ansible/roles/docker/files/eap-tls radius_eap_tls_certs_ca_cert_file: trusted_server.crt # имя файла корневого (CA) сертификата radius_eap_tls_certs_private_key_file: trusted_server.k # имя файла приватного ключа сертификата сервера radius_eap_tls_certs_private_key_password: # пароль к файлу приватного ключа сертификата сервера, оставьте пустым, если файл приватного ключа не запаролен radius_eap_tls_certs_certificate_file: trusted_server_chain.crt # имя файла серверного сертификата
Указать при необходимости параметры взаимодействия с OCSP-сервером (опционально):
# настройки проверки статуса отозванных сертификатов по протоколу OCSP radius_eap_tls_ocsp_enable: 'false' # Включение проверки статуса отзыва сертификата по протоколу OCSP radius_eap_tls_ocsp_override_url: 'false' # Использовать URL сервиса OCSP из сертификата radius_eap_tls_ocsp_url: 'http://127.0.0.1/ocsp' # URL для обращения к сервису OCSP radius_eap_tls_ocsp_softfail: 'false' # Мягкая проверка доступа к серверу проверки OSCP, если сервер недоступен, процесс не завершится, а продолжится radius_eap_tls_ocsp_timeout: 0 # Таймаут обращения к серверу OSCP radius_eap_tls_ocsp_use_nonce: 'true' # Позволяет включить одноразовый код в запрос - nonce, который может быть включен в соответствующий ответ
Работа с OCSP-сервером поддержана только по протоколу HTTP с реализацией MS Windows Server!
С описанием каждого параметра можно ознакомиться в основной инструкции v1.0_4.7 Настройка EAP-TLS аутентификации.
Настройка NAICE
Добавление сетевого устройства
Необходимо:
- Настроить профиль для сетевого устройства либо выбрать один из профилей доступных по умолчанию.
- Добавить сетевое устройство в NAICE и назначить ему профиль.
В инструкции будет использоваться встроенный профиль "Eltex-MES". Для настройки своего профиля можно воспользоваться встроенной документацией: v1.0_5. Встроенная документация.
Для работы авторизации 802.1x необходимо соответствующим образом сконфигурировать порты сетевого коммутатора, для этого необходимо обратиться к инструкции производителя.
Для настройки сетевого устройства в NAICE необходимо открыть раздел Администрирование → Сетевые ресурсы → Устройства и нажать (слева в верхней части страницы). Откроется окно добавления сетевого устройства:
Заполните следующие поля:
- Имя - Задать произвольное имя устройства.
- Профиль - Необходимо выбрать профиль устройства с поддержкой Radius настроенный ранее, либо выбрать один из доступных по умолчанию.
- IPv4 - IP-адрес коммутатора.
- Настройки аутентификации RADIUS - Пароль с которым устройство пройдет аутентификацию. как RADIUS-client
Нажать Сохранить после заполнения настроек.
Настройка подключения к MS AD
Подробно весь процесс настройки подключения к Active Directory описан в статье v1.0_4.1 Настройка интеграции с Active Directory, но в текущей инструкции потребуются лишь некоторые шаги, рассмотренные ниже.
Создание источника идентификации
Для работы "машинной" авторизации при интеграции с MS AD нельзя использовать в настройке внешнего источника идентификации схему "ACTIVE_DIRECTORY"!
В этом случае используется схема "CUSTOM"!
Открыть раздел Администрирование → Управление идентификацией → Внешние источники идентификации и нажать . Откроется окно добавления внешнего источника идентификаций:
Настройка структурно разделена на блоки.
Имя- произвольное наименование источника идентификаций.
Блок "Схема"
Схема- CUSTOM.- В поле Subject Object Class внести значение computer
- В поле Subject name attribute внести значение cn
- В поле Group name attribute внести значение cn
- В поле Group object class внести значение group
- В поле Group map attribute внести значение memberOf
- В поле Subject in group attribute внести значение DISTINGUISHED_NAME
Блок "Подключение"
Admin dn- имя пользователя, который будет использоваться для обращения в Active Directory. Пользователь должен быть предварительно добавлен администратором в Active Directory. Имя пользователя можно задавать в форматах:Admin password- пароль пользователя.Имя хоста- полное имя домена, в котором будет выполняться аутентификация пользователей, напримерtest.loc. Так же можно указать предпочтительный контроллер домена, который будет использоваться для обращений, напримерsrv1.test.loc.Port- порт подключения к контроллеру домена по протоколу LDAP. Как правило используется порт 389.
Блок "Структура каталога"
Subject search base- строка поиска атрибутов объектов (в данном случае - компьютеров) в Active Directory по протоколу LDAP, напримерdc=test,dc=loc.Group search base- строка поиска групп в Active Directory по протоколу LDAP, напримерdc=test,dc=loc.
При необходимости ограничить поиск определенными подразделениями можно указать их в строке поиска, например: ou=naice,dc=example,dc=org . Если подразделения является вложенным для другого подразделения необходимо перечислить их все до корня домена, начиная с требуемого подразделения, например: ou=test,ou=naice,dc=example,dc=org .
После заполнения настроек необходимо нажать кнопку "Проверить связь с сервером". Если настройки корректны, появится сообщение:
Нажать кнопку Добавить.
Добавить источник идентификаций можно независимо от успешности проверки связи с сервером.
Более подробно о настраиваемых параметрах можно узнать во встроенной документации .
Добавление групп
Добавление групп не является обязательным и требуется только если планируется использовать их в условиях политик авторизации.
После добавления источника идентификаций кнопка Добавить смениться на кнопку Далее. Можно нажать её, что бы перейти в раздел Группы или нажать наверху страницы на 2 Группы и добавить группы, которые предполагается использовать в политиках авторизации:
Нажать кнопку Получить данные и выбрать группы, которые требуется добавить. В данном примере добавляем группу Гости домена.
При необходимости найти определенную группу надо в поле Фильтр ввести имя группы. При необходимости можно добавить "*" в начале или конце названия группы, что позволит выполнить поиск по словосочетанию.
После выбора необходимых групп нажать кнопку Сохранить.
Добавление атрибутов объектов
Добавление атрибутов не является обязательным шагом, но может потребоваться в случае настройки доступа по одному из атрибутов объектов. Например, существует возможность выдавать пользователю VLAN или ACL, получая их значение из какого-либо атрибута объекта в MS AD.
С данным блоком настроек можно ознакомиться в общей инструкции по интеграции с Active Directory: v1.0_4.1 Настройка интеграции с Active Directory.
Настройка EAP-TLS авторизации
Создание цепочки идентификаций с использованием ранее созданного источника идентификации
Открыть раздел Администрирование → Управление идентификацией → Цепочки идентификации и нажать кнопку :
Необходимо:
- Задать понятное имя для цепочки, например "ActiveDirectoryChain"
- В блоке "Список источников аутентификации" выбрать созданный ранее источник Active Directory.
- В блоке "Аутентификация по сертификату" отметить чекбокс "Использовать для идентификации атрибут сертификата" и выбрать атрибут "Subject - Common Name"
После создания цепочки идентификации с использованием ранее созданного источника нажать кнопку Добавить.
Настройка списка разрешенных протоколов
Настройка возможности использовать протокол EAP-TLS выполняется в разделе Политики → Элементы → Разрешенные протоколы. В списке разрешенных протоколов по умолчанию Default protocols поддержка протокола уже включена. Если создается новый список доступных протоколов, необходимо включить поддержку EAP-TLS:
Настройка набора политик авторизации/аутентификации
Необходимо перейти в раздел Политики → Наборы политик и нажать значок добавления нового набора политик:
Заполнить:
Имя - название политики, например EAP-TLS PolicySet- В выпадающем меню Доступные протоколы выбрать созданный ранее список разрешенных протоколов EAP-TLS
Кликнуть Условия, в открывшемся редакторе заполнить:
- Атрибут - Normalised Radius·Authentication Protocol
- Оператор - Равно
- Атрибут/Значение - eap-tls
Далее необходимо подтвердить выбор кнопкой Использовать. После чего откроется предыдущее окно создания набора политик, но с уже заполненным полем Условия.
Затем необходимо кликнуть Сохранить, и перейти к настройке политики значком ">>"
Откроется окно настройки политики:
Здесь необходимо выбрать настроенную ранее цепочку идентификации, а затем в поле Профили авторизации выбрать PermitAccess, далее нажать Сохранить.
В инструкции рассмотрена настройка базового минимального набора политик для работы авторизации, подробнее ознакомиться с настройкой политик можно во встроенной документации v1.0_5. Встроенная документация.
Настройка сетевого подключения на примере клиента Windows 10
Предполагается, что ПК-клиенты уже подключены к домену, а также имеют сертификаты машинной авторизации и сертификат ЦС, добавленные в Сертификаты компьютера.
Для настройки сетевого подключения потребуется перейти Пуск → Параметры → Сеть и Интернет → Ethernet → Настройка параметров адаптера. В открывшемся окне выбрать адаптер, дважды нажать на него левой кнопкой мыши и перейти в окно свойств. Перейти во вкладку Проверка подлинности:
- Выберите метод проверки подлинности в сети - выбрать "Microsoft: смарт-карта или иной сертификат".
- Запоминать мои учетные данные для этого подключения при каждом входе в систему - отключить.
Нажать кнопку Параметры справа от метода проверки подлинности, в открывшемся окне:
- Использовать сертификат на этом компьютере - выбрать;
- Подтверждать удостоверение сервера с помощью проверки сертификата - включить;
- Доверенные корневые центры сертификации - выбрать сертификат ЦС.
Нажать ОK.
На вкладке Проверка подлинности нажать в нижней части на кнопку Дополнительные параметры, в открывшемся окне:
- Указать режим проверки подлинности - включить, выбрать Проверка подлинности компьютера.
Повторно в двух окнах подряд нажать ОК, закрыв вкладку свойств подключения.
После выполнения данных действий подключить компьютер к сети и убедиться в возможности авторизации с использованием сертификата.
Проверка успешности подключения
Пример успешной авторизации в разделе Мониторинг → RADIUS:
Информация при выборе успешной сессии авторизации:















