Настройка WLC
Для настройки TLS авторизации необходимо:
- Сгенерировать клиентский сертификат
- Настроить radius-server local
- Загрузить и установить созданный сертификат на клиентское устройство
Генерация клиентского сертификата
Для генерации сертификата клиента нужно:
Генерация private-key
Этот шаг можно пропустить, если private-key уже существует и вы хотите использовать его повторно.
Используется алгоритм RSA, размер ключа в битах задается в диапазоне от 1024 до 4096 (не обязательный параметр, по умолчанию 2048 бит)
Команда имеет вид:
crypto generate private-key rsa [размер ключа 1024-4096] filename <Имя файла для ключа .pem>
если ввести знак "?" после filename, то в подсказке будет показан список файлов с ключами в директории crypto:private-key/.
wlc# crypto generate private-key rsa filename ? WORD(1-31) Name of file ----FILE---- default_ca_key.pem default_cert_key.pem tester.pem wlc-sa.key
Можно выбрать файл, который уже существует и перезаписать его
wlc# crypto generate private-key rsa 1024 filename tester.pem Destination file already exists. Do you really want to overwrite it? (y/N): y ..........++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ..................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Если файлов слишком много, то в списке будет присутствовать только часть сертификатов
wlc# crypto generate cert csr tester.csr ca ? CRYPTO FILES Select file: ----FILE---- E828C1000002.pem E828C1000004.pem E828C1000006.pem E828C1000008.pem E828C100000A.pem E828C100000C.pem E828C100000E.pem E828C1000010.pem E828C1000012.pem E828C1000014.pem E828C1000016.pem E828C1000018.pem E828C100001A.pem E828C100001C.pem E828C100001E.pem E828C1000020.pem E828C1000022.pem E828C1000024.pem E828C1000026.pem E828C1000028.pem E828C100002A.pem E828C100002C.pem E828C100002E.pem E828C1000030.pem E828C1000032.pem E828C1000034.pem E828C1000036.pem E828C1000038.pem E828C100003A.pem E828C100003C.pem E828C100003E.pem E828C1000040.pem E828C1000042.pem E828C1000044.pem E828C1000046.pem E828C1000048.pem E828C100004A.pem E828C100004C.pem E828C100004E.pem E828C1000050.pem E828C1000052.pem E828C1000054.pem E828C1000056.pem E828C1000058.pem E828C100005A.pem E828C100005C.pem E828C100005E.pem E828C1000060.pem E828C1000062.pem E828C1000064.pem E828C1000066.pem E828C1000068.pem E828C100006A.pem E828C100006C.pem E828C100006E.pem E828C1000070.pem E828C1000072.pem E828C1000074.pem E828C1000076.pem E828C1000078.pem E828C100007A.pem E828C100007C.pem E828C100007E.pem E828C1000080.pem E828C1000082.pem E828C1000084.pem E828C1000086.pem E828C1000088.pem E828C100008A.pem ...
В этом случае можно ввести часть слова и знак "?", чтобы увидеть отфильтрованные записи:
wlc-30# crypto generate cert csr tester.csr ca d? CRYPTO FILES Select file: ----FILE---- default_ca.pem default_cert.pem
Работа с файлами аналогична в остальных командах генерации сертификата.
Генерация csr
При генерации csr нужно выбрать private-key (существующий файл), указать common-name в формате <имя пользователя>@<домен> и выбрать файл для сохранения csr (filename). Имя пользователя и домен в common name должны соответствовать реальному домену и имени пользователя в этом домене.
Помимо этих обязательных параметров существуют опциональные параметры:
- alternative-name - альтернативное имя пользователя (5 - 255 символов);
- country - код страны (2 символа);
- email-address - адрес электронной почты (3 - 64 символа);
locality - местонахождение клиента (1 - 128 символов);
- organization - название организации (1 - 64 символа);
- organizational-unit - название структурного подразделения организации (1 - 64 символа);
- state - название региона / области (1 - 128 символов).
wlc# crypto generate csr private-key tester.pem common-name tester@wlc.root filename tester.csr
crypto generate csr private-key tester.pem alternative-name IP:10.10.10.10 common-name tester@wlc.root country ru email-address test@test.com locality 4_floor organization ELTEX organizational-unit wireless state Novosibirsk_oblast filename tester.csr
Посмотреть созданный csr можно с помощью команды show crypto certificates csr <имя файла>
Генерация сертификат, подписанный CA от RADIUS
После генерации csr клиента нужно подписать его с помощью CA-сертификата от RADIUS сервера.
Команда генерации сертификата имеет вид:
crypto generate cert csr <имя csr-файла> ca <Имя файла CA-сертификата> private-key <Имя файла ключа CA-сертификата> filename <имя crt-файла для сохранения>
Создание контейнера PKCS #12 с ключом и сертификатами
Формат .p12, также известный как PKCS #12, является стандартным форматом контейнера, который используется для хранения и обмена зашифрованными или подписанными данными. Он может содержать закрытые ключи, сертификаты, цепочки сертификации, а также другую смежную информацию. Рекомендуется использовать именно этот формат, так как формат .p12 поддерживается практически всеми операционными системами, программным обеспечением и устройствами, включая Windows, macOS, Linux, Android и iOS. Контейнеры формата .p12 могут быть защищены паролем, что обеспечивает дополнительный уровень безопасности. Пароль может быть использован для шифрования закрытых ключей и сертификатов, что делает их доступными только авторизованным пользователям. В формате .p12 можно хранить не только сертификаты, но и целую цепочку сертификации, что упрощает процесс установки и обновления сертификатов на различных устройствах.
Команда генерации контейнера имеет вид:
crypto generate pfx private-key <Имя файла ключа от клиентского сертификата> cert <Имя файла клиентского сертификата> ca <Имя файла CA> password ascii-text <Пароль от контейнера> filename <Имя файла для сохранения сертификата (.p12)>
wlc# crypto generate pfx private-key tester.pem cert tester.crt ca default_ca.pem password ascii-text 12345678 filename tester.p12
Настройка radius-server local
В настройках radius-server local необходимо включить tls mode domain:
wlc(config-radius)# tls mode domain
Настройка SSID и radius-профиля
Для корректной работы tls-авторизации необходимо настроить radius-профиль и ssid-профиль на работу с нужным доменом.
configure wlc ssid-profile default-ssid description default-ssid ssid wlc_tls_ssid radius-profile tls-radius exit radius-profile tls-radius auth-address 192.168.1.1 auth-password ascii-text encrypted 8CB5107EA7005AFF domain wlc.root exit
Настройка пользователя
Для завершения настройки wlc нужно указать сгенерированный сертификат в настройках пользователя, для которого этот сертификат сгенерирован. В примере common-name tester@wlc.root, поэтому нужно перейти к настройкам пользователя tester в домене wlc и указать название файла с сертификатом этого пользователя командой:
crypto cert <имя файла>
wlc# configure wlc(config)# radius-server local wlc(config-radius)# domain wlc wlc(config-radius-domain)# user tester wlc(config-radius-user)# crypto cert tester.crt
После настройки важно не забыть применить изменения:
wlc# commit wlc# confirm
Установка клиентского сертификата
Экспорт сертификата
Для установки сертификата на устройство клиента нужно экспортировать его с wlc. Это можно сделать с помощью команды copy с использованием протоколов ftp, http, https, scp, sftp, tftp, а так же на usb и mmc устройства. Команда передачи контейнера с сертификатом имеет вид:
copy crypto:pfx/<Имя контейнера> <DESTINATION>
где <DESTINATION> – путь для копирования Подробнее о команде copy можно прочитать по ссылке
Установка сертификата для устройств с Android версии 11 и выше
После того как Вы скопировали содержимое архива на клиентское устройство, зайдите в настройки и выберите пункт "Пароли и безопасность".
- В разделе "Безопасность" перейдите в раздел "Конфиденциальность".
- Далее раздел "Шифрование и учетные данные".
- Если имеются старые сертификаты, то их можно удалить кнопкой "Очистить учетные данные".
- Чтобы загрузить новые сертификаты нажмите "Установка сертификатов".
- Корневой и пользовательский сертификат устанавливается нажатием кнопки "Сертификат"
- Выберите расположение распакованного архива.
- Для загрузки корневого сертификата выберите файл "wireless-ca.crt", затем будет предложено ввести название.
- Далее необходимо загрузить пользовательский сертификат, для этого выберите файл "user.p12", далее введите пароль, указанный в сертификате и название.
Установка сертификата в IOS
Для установки сертификата в IOS, отправьте файлы с сертификатами (*.crt и *.p12) почтой на свой e-mail и откройте его на телефоне. Либо загрузите файлы на свой телефон через usb.
Установка корневого сертификата
Открыв письмо с вложенным файлом стандартными приложениями IOS (Safari, Mail), нажимаем на файл с расширением *.crt. При Установке сертификата система будет предупреждать о ненадежности профиля, Вам необходимо согласиться на установку и сертификат будет успешно установлен.
Установка пользовательского сертификата
Установка пользовательского сертификата происходит аналогично установке корневого сертификата, только необходимо ввести пароль сертификата. Пароль соответствует параметру сертификата Password, который Вы всегда можете посмотреть в файле .txt
Установка сертификата в Windows
- Открываем файл .р12. Никакие параметры менять не нужно. Нажимайте "Далее"
- Введите пароль. Напоминаю, что пароль соответствует параметру сертификата Password, который Вы указали при генерации контейнера на wlc
- Подтвердите установку пользовательского сертификата
- Установка пользовательского и корневого сертификата успешно завершена
Подключение к SSID с поддержкой TLS
Подключение с Android
В меню Wi-Fi найдите созданный ранее SSID test_enterprise
Задайте параметры подключения к сети:
Метод EAP : TLS
Сертификат: wireless-ca
Сертификат пользователя: test
Удостоверение: test
Значение параметра "Удостоверение" задается в соответствии с именем пользователя в сертификате
При правильности введенных данных, авторизация пройдет успешно.
Подключение с Windows
Перед подключением к сети необходимо создать и настроить новое подключение.
Для этого перейдите в "Центр управления сетями и общим доступом" → "Создание и настройка нового подключения или сети".
В открывшемся окне выберите пункт "Подключение к беспроводной сети вручную" и нажмите "Далее".
Введите информацию о беспроводной сети:
- Имя сети;
- Тип безопасности: WPA2-Enterprise
Поставьте галочку напротив "Запускать это подключение автоматически".
Нажмите "Далее".
Сеть успешно добавлена. Переходим к настройке параметров подключения.
Откройте раздел "Безопасность", выберите метод проверки подлинности "Microsoft: смарт-карта или иной сертификат".
Нажмите кнопку "Параметры".
Поставьте флажок напротив:
- Использовать сертификат на этом компьютере;
- Использовать выбор простого сертификата;
- Подтверждать удостоверение сервера с помощью проверки сертификата;
- Использовать для подключение другое имя пользователя.
В списке "Доверенных корневых центов сертификации" выберите корневой сертификат "Eltex default certificate authority". Это сертификат УЦ, который установился при установке клиентского сертификата.
Нажмите кнопку "ОК".
В открывшемся окне выберите "Дополнительные параметры".
Укажите режим проверки подлинности - "Проверка подлинности пользователя".
Нажмите "ОК".
Найдите нужную сеть и нажмите "Подключиться".
Выберите пользовательский сертификат для подключения к сети и введите логин пользователя.
Нажмите "ОК".
Если параметры введены верно, подключение пройдет успешно.
Подключение с Ubuntu
Создайте новое подключение к сети:
Укажите ssid:
Введите параметры для подключения к сети:
- Security - WPA & WPA2 Enterprice
- Authentication - TLS
- Identity - имя пользователя на радиус сервере
- CA certificate - сертификат УЦ (Скачивается c wlc отдельно)
- User certificate - контейнер с сертификатом клиента
- User private key - контейнер с сертификатом клиента (он так же содержит ключ)
- User key password - пароль импорта, заданный при генерации контейнера
Если все сделано верно, подключение пройдет успешно.
Подключение с IOS
В меню настройки Wi-Fi находим нужную сеть. При подключении к сети вводим свой личный логин, выбираем режим EAP-TLS. Нажимаем на пункт удостоверение, ставим галочку на наш сертификат, возвращаемся назад на ввод пароля, жмем подключиться. В появившемся окне жмем кнопку принять.
Обновление и замена серверного сертификата
Существуют команды для обновления CA-сертификата и/или сертификата сервера:
wlc-30# update crypto default ca wlc-30# update crypto default cert
Для замены сертификата сервера нужно загрузить новый сертификат, CA сертификат и ключ от сертификата сервера и поместить их в директории crypto:cert/ и crypto:private-key/. После загрузки файлов следует указать сертификаты сервера и CA, а так же ключ от сертификата сервера в настройках radius-server local. По умолчанию указан дефолтный сертификат.
configure radius-server local crypto private-key my_cert_key.pem crypto cert my_cert.pem crypto ca my_ca.pem
После обновления или замены сертификатов нужно перезагрузить WLC или перезапустить RADIUS сервер :
wlc-30(config)# radius-server local wlc-30(config-radius)# no enable wlc-30(config-radius)# do commit wlc-30(config-radius)# do restore wlc-30(config-radius)# do rollback