Какие плюсы и недостатки использования аутентификации EAP-TLS с сертификатами для клиентских подключений WiFi? Чем это лучше, чем просто использование стандартной аутентификации пароля WPA2?
Как настроить аутентификацию EAP-TLS для MikroTik роутер?
Версии RouterOS: Процедуры были задокументированы и разработаны с использованием * RouterOS v6.45.1 - v 6.46 *. Протестировано и работает правильно по состоянию на 20191214.
Процедуры создания сертификата: Протестировано и известно, что работает с клиентами IOS 11-13.3 и OSX Mojave и Catalina. YMMV при подключении Windows или других клиентов с помощью EAP-TLS.
В RouterOS Команды интерфейса командной строки, предлагаемые в этом руководстве, создают отличные шаблоны. Но ты ДОЛЖЕН просмотреть и изменить мои заполнители и значения по умолчанию включая парольную фразу экспорта сертификата перед выполнением команд в этом руководстве.
А) СОЗДАТЬ СЕРТИФИКАТЫ: (3) типы сертификатов должны быть созданы:
Сервер: Создайте сертификат для MikroTik стороны EAP-TLS соединения. Это будет использоваться беспроводным интерфейсом с использованием аутентификации EAP-TLS.
Клиент (ы): Создать сертификат для КАЖДЫЙ Клиент подключается к SSID с помощью беспроводного интерфейса, который мы настраиваем для EAP-TLS.
Центр сертификации: Этот сертификат используется для создания Цепь доверия для сертификатов, подписав сертификаты клиента и сервера.
Б) НАСТРОЙКА профилей безопасности беспроводной сети: Укажите сертификаты в Wireless Профили безопасности. Мы создадим беспроводной Security Profile
для беспроводного интерфейса с использованием аутентификации EAP-TLS и для каждого подключающегося клиента.
C) НАСТРОЙКА беспроводного интерфейса: Наконец, мы создадим беспроводной интерфейс, указав беспроводной Security Profile
для интерфейса.
/certificate add name=CAF1Linux-template common-name=CAF1Linux country=GB days-valid=3650 key-size=4096 locality="Your Town" organization="Your Orgsanization" state=YourCounty trusted=yes unit="Technical Services" subject-alt-name="IP:1.2.3.4" key-usage=digital-signature,key-cert-sign,crl-sign;
/certificate sign CAF1Linux-template ca-crl-host="1.2.3.4" name=CAF1Linux
Экспорт PEM Формат сертификата:
/certificate export-certificate CAF1Linux export-passphrase="REPLACE ME WITH YOUR OWN CERTIFICATE PASSPHRASE"
Команда /certificate export-certificate
создает (2) новых сертификата в файлах:
cert_export_CAF1Linux.crt
cert_export_CAF1Linux.key
Экспорт PKCS12 Формат сертификата:
/certificate export-certificate CAF1Linux export-passphrase="REPLACE ME WITH YOUR OWN CERTIFICATE PASSPHRASE" type=pkcs12
Добавление type=pkcs12
к /certificate export-certificate
команда выдаст в файлах следующее:
cert_export_CAF1Linux.p12
Это сертификат, используемый беспроводным интерфейсом MikroTik, предлагающим аутентификацию EAP-TLS.
НОТА: Вы заметите в key-usage
Дополнительно уточняю ipsec-tunnel,ipsec-end-system
. Я использую одни и те же сертификаты для доступа Wi-Fi и VPN, что упрощает централизованное аннулирование сертификата для обеих служб, если сервер скомпрометирован, или для отзыва доступа пользователя.
/certificate add name=F1LinuxServer-template common-name="F1LinuxServer" country=GB days-valid=3650 key-size=4096 locality="Your City or Town" organization="Your Company" state=YourStateOrCounty trusted=yes unit="Technical Services" subject-alt-name="IP:1.2.3.4" key-usage=digital-signature,data-encipherment,key-agreement,ipsec-tunnel,ipsec-end-system,tls-server,tls-client;
/certificate sign F1LinuxServer-template ca=CAF1Linux name=F1LinuxServer
/certificate set F1LinuxServer trusted=yes
Экспорт PEM Формат сертификата:
/certificate export-certificate F1LinuxServer export-passphrase="REPLACE ME WITH YOUR OWN CERTIFICATE PASSPHRASE"
Экспорт PKCS12 Формат сертификата: клиентам Apple требуются сертификаты pkcs12, поэтому мы дополнительно экспортируем все клиентские сертификаты в формате pkcs12.
/certificate export-certificate F1LinuxServer export-passphrase="REPLACE ME WITH YOUR OWN CERTIFICATE PASSPHRASE" type=pkcs12
Повторите описанный выше процесс, чтобы создать уникальный сертификат для КАЖДЫЙ подключение клиента.
Пример для iPad Pro показан ниже, однако процесс такой же для любого устройства, поддерживающего аутентификацию EAP-TLS.
/certificate add name=F1LinuxClientIpadPro-template common-name=F1LinuxClientIpadPro country=GB days-valid=3650 key-size=4096 locality="Your City or Town" organization="Your Company" state=YourStateOrCounty trusted=yes unit="Technical Services" subject-alt-name="" key-usage=digital-signature,data-encipherment,key-agreement,ipsec-tunnel,ipsec-end-system,tls-client;
/certificate sign F1LinuxClientMacbook-template ca=CAF1Linux name=F1LinuxClientMacBook
/certificate set F1LinuxClientMacBook trusted=yes
Экспорт PEM Формат сертификата:
/certificate export-certificate F1LinuxClientMacBook export-passphrase="REPLACE ME WITH A DIFFERENT PASSPHRASE FOR EACH CLIENT CERTIFICATE"
Экспорт PKCS12 Формат сертификата:
/certificate export-certificate F1LinuxClientMacBook export-passphrase="REPLACE ME WITH A DIFFERENT PASSPHRASE FOR EACH CLIENT CERTIFICATE" type=pkcs12
После создания сертификатов для каждого подключающегося беспроводного клиента с использованием аутентификации EAP-TLS вы можете использовать эти сертификаты для создания беспроводного подключения. Профиль безопасностис.
В отличие от стандартного шифрования паролей WPA2, которое устанавливает единый пароль для всех подключающихся клиентов, поскольку каждый беспроводной клиент будет иметь уникальный сертификат, мы должны создать Профиль безопасности для каждого устройства и самого беспроводного интерфейса.
Security Profile
/interface wireless security-profiles add name="24083_F1_EAP_TLS_Server" mode=dynamic-keys authentication-types=wpa2-eap unicast-ciphers=aes-ccm group-ciphers=aes-ccm wpa-pre-shared-key="" wpa2-pre-shared-key="" supplicant-identity="" eap-methods=eap-tls tls-mode=verify-certificate tls-certificate=F1LinuxServer mschapv2-username="" mschapv2-password="" disable-pmkid=no static-algo-0=none static-key-0="" static-algo-1=none static-key-1="" static-algo-2=none static-key-2="" static-algo-3=none static-key-3="" static-transmit-key=key-0 static-sta-private-algo=none static-sta-private-key="" radius-mac-authentication=yes radius-mac-accounting=yes radius-eap-accounting=yes interim-update=0s radius-mac-format=XX:XX:XX:XX:XX:XX radius-mac-mode=as-username radius-called-format=mac:ssid radius-mac-caching=disabled group-key-update=5m management-protection=allowed management-protection-key=""
Security Profile
/interface wireless security-profiles add name="24083_F1_EAP_TLS_iPadPro" mode=dynamic-keys authentication-types=wpa2-eap unicast-ciphers=aes-ccm group-ciphers=aes-ccm wpa-pre-shared-key="" wpa2-pre-shared-key="" supplicant-identity="" eap-methods=eap-tls tls-mode=verify-certificate tls-certificate=F1LinuxClientIpadPro mschapv2-username="" mschapv2-password="" disable-pmkid=no static-algo-0=none static-key-0="" static-algo-1=none static-key-1="" static-algo-2=none static-key-2="" static-algo-3=none static-key-3="" static-transmit-key=key-0 static-sta-private-algo=none static-sta-private-key="" radius-mac-authentication=yes radius-mac-accounting=yes radius-eap-accounting=yes interim-update=0s radius-mac-format=XX:XX:XX:XX:XX:XX radius-mac-mode=as-username radius-called-format=mac:ssid radius-mac-caching=disabled group-key-update=5m management-protection=allowed management-protection-key=""
Повторите указанную выше команду для каждого устройства, аутентифицируемого с помощью EAP-TLS, не забывая изменить имя сертификата.
Наконец, настройте беспроводной интерфейс для использования профиля безопасности EAP-TLS сервера:
/interface wireless name="wlan1010" mtu=1500 l2mtu=1600 mac-address=74:4D:28:XX:XX:XX arp=proxy-arp interface-type=virtual master-interface=wlan5ghz mode=ap-bridge ssid="240E83_F1_EAP" vlan-mode=no-tag vlan-id=1 wds-mode=disabled wds-default-bridge=none wds-ignore-ssid=no bridge-mode=enabled default-authentication=no default-forwarding=yes default-ap-tx-limit=0 default-client-tx-limit=0 hide-ssid=yes security-profile=24083_F1_EAP_TLS_Server
Теперь, когда вы приложили все усилия, убедитесь, что вы сделали резервную копию config. Я использую систему именования для своих резервных копий RBmodelNumber-YearMonthDay-Time_ROSversionNumber.rsc:
/export compact file=RB4011-20191214-1644_ROSv6.46.0.rsc
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ*: Хотя можно восстановить конфигурация в новый MikroTik эти резервные копии не будет захватите свои сертификаты. Откройте веб-браузер и подключитесь к MikroTik через веб-интерфейс. Перейти к "Файлы", и вы можете загрузить каждый из них на свой ноутбук, а затем поместить их в безопасное и удобное место для длительного хранения.
Чтобы узнать, как настроить клиентов IOS и OSX для использования аутентификации EAP-TLS, перейдите ВОТ