OS X Server: как настроить доверие RADIUS-сервера в профилях конфигурации при использовании TLS, TTLS или PEAP
В этой статье объясняется, как правильно установить доверие при использовании профилей конфигурации.
В OS X профили конфигурации используются для настройки клиента для подключения к защищенным сетям 802.1x. Если в профиле конфигурации неправильно настроено доверие к RADIUS-серверам для типов EAP, которые устанавливают безопасный туннель (TLS, TTLS, PEAP), вы можете столкнуться с одной из следующих проблем:
Невозможность автоматического подключения
Сбой аутентификации
Роуминг в новые точки доступа не работает
Прежде чем правильно настроить доверие, вы должны знать, какие сертификаты представляются RADIUS-сервером во время аутентификации. Если у вас уже есть эти сертификаты, перейдите к шагу 13.
Журналы EAPOL отображают сертификаты, представленные RADIUS-сервером. Чтобы включить журналы EAPOL в Mac OS X, используйте следующую команду в приложении «Терминал»:
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.eapolclient LogFlags -int -1
После включения журналов EAPOL подключитесь вручную к защищенной сети 802.1x. Должен быть выведен запрос на установку доверия сертификату RADIUS-сервера. Установите доверие для сертификата, чтобы завершить аутентификацию.
Найдите журналы EAPOL.
- In OS X Lion and Mountain Lion, these logs can be found in /var/log/. The log will be called eapolclient.en0.log or eapolclient.en1.log.
- In OS X Mavericks, these logs can be found in /Library/Logs/CrashReporter/com.apple.networking.eapol.XXXXXXXX .
Откройте eapolclient.enX.log в консоли и найдите ключ с именем TLSServerCertificateChain. Он должен выглядеть так:
Блок текста между и — это сертификат. Скопируйте блок текста, а затем вставьте его в текстовый редактор. Убедитесь, что текстовый редактор настроен на сохранение файлов в формате простого текста.
Добавьте заголовок
-----BEGIN CERTIFICATE-----
and a footer of-----END CERTIFICATE-----
. It should look like this:Сохраните файл с расширением .pem.
Откройте приложение «Связка ключей» в папке «Утилиты».
Note: It may be helpful to create a new keychain so that you can easily find the certificate you import in the next step.
Перетащите созданный файл .pem в новую связку ключей либо выберите «Файл» > «Импорт элементов», а затем выберите файл .pem, созданный ранее. Импортируйте файл в выбранную связку ключей.
Повторите указанные выше действия для каждого сертификата в массиве TLSCertificateChain. Скорее всего, у вас будет больше одного сертификата.
Проверьте каждый импортированный сертификат, чтобы знать, что он собой представляет. Как минимум у вас должен быть корневой сертификат и сертификат RADIUS-сервера. У вас также может быть промежуточный сертификат. Вы должны включить все корневые и промежуточные сертификаты, представленные RADIUS-сервером, в полезную нагрузку сертификатов в своем профиле конфигурации. Включение сертификатов RADIUS-серверов является необязательным, если вы включаете имена RADIUS-серверов в раздел «Имена сертификатов доверенных серверов» полезной нагрузки сети. В противном случае также включите сертификаты RADIUS-сервера в профиль.
Как только вы узнаете, какие сертификаты представлены сервером RADIUS, можно экспортировать их в виде файлов .cer из Связки ключей и добавить их в профиль конфигурации. Добавьте каждый из корневых и промежуточных сертификатов в полезную нагрузку сертификатов в профиле конфигурации. При необходимости можно также добавить сертификаты RADIUS-сервера.
В полезной нагрузке сети найдите раздел «Доверие» и отметьте только что добавленные сертификаты как доверенные. Убедитесь, что вы не отмечаете другие сертификаты, которые также могут находиться в полезной нагрузке сертификатов, как доверенные, иначе аутентификация завершится неудачей. Убедитесь, что только те сертификаты, которые фактически представлены вашим RADIUS-сервером, отмечены как доверенные.
Затем добавьте имена RADIUS-серверов в раздел «Имена сертификатов доверенного сервера». Необходимо использовать точное имя (включая регистр), которое отображается в качестве общего имени сертификата RADIUS-сервера. Например, если общее имя сертификата RADIUS-сервера — TEST.example.com, необходимо, чтобы регистр имени соответствовал регистру, используемому в сертификате. Значение test.example.com не будет допустимым, а TEST.example.com — будет. Необходимо добавить новую запись для каждого из RADIUS-серверов. Также можно использовать подстановочный знак для имени хоста. Например, если указать *.example.com, то все RADIUS-серверы в домене example.com будут доверенными.
Если вы ранее включили журналы eapol, вы можете отключить ведение журнала с помощью следующей команды:
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.eapolclient LogFlags -int 0
Если вы не уверены, правильно ли настроено доверие, можете просмотреть файл /var/log/system.log. Откройте system.log в консоли и выполните фильтрацию по eapolclient, чтобы увидеть все сообщения, связанные с процессом eapolclient. Типичная ошибка доверия выглядит следующим образом:
Mar 31 12:27:14 Macintosh.local eapolclient[5961]: [eapttls_plugin.c:968] eapttls_verify_server(): сертификат сервера не является доверенным, состояние 3 0