Какой режим безопасности сети wi fi требует наличия radius сервера

Обновлено: 02.07.2024

Тема безопасности беспроводных сетей по-прежнему остается актуальной, хотя уже достаточно давно существуют надежные (на сегодняшний момент, конечно же) методы защиты этих сетей. Разумеется, речь идет о технологии WPA (Wi-Fi Protected Access).

Большинство существующего на данный момент Wi-Fi оборудования имеет поддержку данной технологии, но, к сожалению, до сих пор в нашей лаборатории попадаются экземпляры, не знающие о WPA. Это более чем странно — заканчивается 2005 год, а некоторые производители до сих пор считают, что технология WEP спасет пользователей беспроводной сети от утечки информации. WEP уже давно устарела. На смену этой технологии пришел WPA, а также на горизонте виднеется новый стандарт 802.11i (некоторые производители преподносят его, как WPA2).

  • протокол 802.1x — универсальный протокол для аутентификации, авторизации и учета (AAA)
  • протокол EAP — расширяемый протокол аутентификации (Extensible Authentication Protocol)
  • протокол TKIP — протокол временнОй целостности ключей, другой вариант перевода — протокол целостности ключей во времени (Temporal Key Integrity Protocol)
  • MIC — криптографическая проверка целостности пакетов (Message Integrity Code)
  • протокол RADIUS

За шифрование данных в WPA отвечает протокол TKIP, который, хотя и использует тот же алгоритм шифрования — RC4 — что и в WEP, но в отличие от последнего, использует динамические ключи (то есть ключи часто меняются). Он применяет более длинный вектор инициализации и использует криптографическую контрольную сумму (MIC) для подтверждения целостности пакетов (последняя является функцией от адреса источника и назначения, а также поля данных).

RADIUS-протокол предназначен для работы в связке с сервером аутентификации, в качестве которого обычно выступает RADIUS-сервер. В этом случае беспроводные точки доступа работают в enterprise-режиме.

Если в сети отсутствует RADIUS-сервер, то роль сервера аутентификации выполняет сама точка доступа — так называемый режим WPA-PSK (pre-shared key, общий ключ). В этом режиме в настройках всех точек доступа заранее прописывается общий ключ. Он же прописывается и на клиентских беспроводных устройствах. Такой метод защиты тоже довольно секьюрен (относительно WEP), очень не удобен с точки зрения управления. PSK-ключ требуется прописывать на всех беспроводных устройствах, пользователи беспроводных устройств его могут видеть. Если потребуется заблокировать доступ какому-то клиенту в сеть, придется заново прописывать новый PSK на всех устройствах сети и так далее. Другими словами, режим WPA-PSK подходит для домашней сети и, возможно, небольшого офиса, но не более того.

В этой серии статей будет рассмотрена работа WPA совместно с внешним RADIUS-сервером. Но прежде чем перейти к ней, немного подробнее остановимся на механизмах работы WPA. А перед этим рассмотрим технологию WPA2.

Технология WPA являлась временной мерой до ввода в эксплуатацию стандарта 802.11i. Часть производителей до официального принятия этого стандарта ввели в обращение технологию WPA2, в которой в той или иной степени используются технологии из 802.11i. Такие как использование протокола CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol), взамен TKIP, в качестве алгоритма шифрования там применяется усовершенствованный стандарт шифрования AES (Advanced Encryption Standard). А для управления и распределения ключей по-прежнему применяется протокол 802.1x.

Как уже было сказано выше, протокол 802.1x может выполнять несколько функций. В данном случае нас интересуют функции аутентификации пользователя и распределение ключей шифрования. Необходимо отметить, что аутентификация происходит «на уровне порта» — то есть пока пользователь не будет аутентифицирован, ему разрешено посылать/принимать пакеты, касающиеся только процесса его аутентификации (учетных данных) и не более того. И только после успешной аутентификации порт устройства (будь то точка доступа или умный коммутатор) будет открыт и пользователь получит доступ к ресурсам сети.

  • EAP-SIM, EAP-AKA — используются в сетях GSM мобильной связи
  • LEAP — пропреоретарный метод от Cisco systems
  • EAP-MD5 — простейший метод, аналогичный CHAP (не стойкий)
  • EAP-MSCHAP V2 — метод аутентификации на основе логина/пароля пользователя в MS-сетях
  • EAP-TLS — аутентификация на основе цифровых сертификатов
  • EAP-SecureID — метод на основе однократных паролей



рис.1, структура EAP-кадра

Кроме вышеперечисленных, следует отметить следующие два метода, EAP-TTLS и EAP-PEAP. В отличие от предыдущих, эти два метода перед непосредственной аутентификацией пользователя сначала образуют TLS-туннель между клиентом и сервером аутентификации. А уже внутри этого туннеля осуществляется сама аутентификация, с использованием как стандартного EAP (MD5, TLS), или старых не-EAP методов (PAP, CHAP, MS-CHAP, MS-CHAP v2), последние работают только с EAP-TTLS (PEAP используется только совместно с EAP методами). Предварительное туннелирование повышает безопасность аутентификации, защищая от атак типа «man-in-middle», «session hihacking» или атаки по словарю.

  • Supplicant — софт, запущенный на клиентской машине, пытающейся подключиться к сети
  • Authenticator — узел доступа, аутентификатор (беспроводная точка доступа или проводной коммутатор с поддержкой протокола 802.1x)
  • Authentication Server — сервер аутентификации (обычно это RADIUS-сервер)

Описанный процесс проиллюстрирован на рис.3 (там показан один из простейших методов EAP):



рис.3, процесс аутентификации

Как видно из рисунка, для коммуникации между клиентом (supplicant) и точкой доступа (authenticator) используются пакеты EAPOL. Протокол RADIUS используется для обмена информацией между аутентификатором (точкой доступа) и RADIUS-сервером (сервером аутентификации). При транзитной пересылке информации между клиентом и сервером аутентификации пакеты EAP переупаковываются из одного формата в другой на аутентификаторе.

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

Первоначальная аутентификация производится на основе общих данных, о которых знают и клиент, и сервер аутентификации (как то логин/пароль, сертификат и т.д.) — на этом этапе генерируется Master Key. Используя Master Key, сервер аутентификации и клиент генерируют Pairwise Master Key (парный мастер ключ), который передается аутентификатору со стороны сервера аутентификации. А уже на основе Pairwise Master Key и генерируются все остальные динамические ключи, которым и закрывается передаваемый трафик. Необходимо отметить, что сам Pairwise Master Key тоже подлежит динамической смене.

Теперь перейдем от сухой теории к реальности, а именно реализации WPA в Windows XP. Нормальная поддержка WPA (с поддержкой AES) появилась, только начиная с windows service pack 2.

  • MD5-Challenge — самый примитивный и слабый, рассматривать не будем;
  • PEAP (Protected EAP) позволяет производить аутентификацию на основе сертификатов или логина/пароля. Он нам интересен в первую очередь возможностью аутентификации пользователя, используя логин/пароль. При этом нам не требуется настраивать инфраструктуру открытых ключей (PKI). Достаточно подключить RADIUS-сервер к какой-либо базе (обычный файл, mysql, ldap) с хранящимися пользователями и производить аутентификацию пользователей по ней.
  • Smart Card or Other Certificate — обычный EAP-TLS. Требует настроенной PKI, использует сертификаты для аутентификации клиентов. Более гибок (разумеется, после настройки PKI), чем аутентификация по логину/паролю. А также является единственным способом получить работающую связку беспроводных пользователей, работающих в Windows-домене.

Во второй части статьи будет рассмотрена настройка Windows-клиентов (Windows XP SP2), RADIUS-сервера (FreeRadius), и PKI на основе OpenSSL. Последние два компонента работают в операционной системе Gentoo Linux.


В статье пойдёт речь о вопросах расширенной аутентификации в беспроводной сети через WPA2 Enterprise. Для данной системы используется RADIUS сервер, поэтому рассмотрим краткий пример упрощённой установки и настройки.

О методах аутентификации

В предыдущих статьях, в частности: Особенности защиты беспроводных и проводных сетей. Часть 1 — Прямые меры защиты, — мы рассказывали о различных методах аутентификации.

Более или менее надёжным можно считать алгоритм защиты начиная с WPA2, а самый современный протокол аутентификации — WPA3, входящий в состав новшеств от WiFi 6. Но так как не все ещё перешли на WiFi 6, то WPA2 пока остаётся актуальным.

В свою очередь технология WPA2 подразделяется на два направления: WPA2 Personal и WPA2 Enterprise.

Вариант WPA2 Personal с PSK (Pre-Shared Key), проще говоря, «один-ключ-на все-устройства» используется в небольших (обычно в домашних сетях). При этом единственный ключ (длинная символьная строка не менее 8 символов) хранится на самой точке доступа и на каждом устройстве, подключаемом к беспроводной сети. Когда просят дать «пароль от WiFi», это тот самый ключ и есть.

При увеличении числа клиентов обслуживание такой беспроводной сети превращается в кошмар для сисадмина.

Если кто-то из пользователей со скандалом уволился, умудрился потерять ноутбук или случайно переслал ключ по почте (выложил общем чате, на форуме и так далее) .

В общем, при малейшем подозрении на компрометацию ключа выход может быть только один — сгенерировать новый ключ и заменить его везде: на всех точках доступа и у всех пользователей на всех устройствах. При этом нужно обязательно проверить работает ли доступ у всех пользователей на всех корпоративных (а иногда и личных) девайсах, а ещё ответить на 1000 и 1 вопрос из разряда: «А зачем?», «А почему так произошло?», «А что, теперь постоянно менять придётся?» и так далее и тому подобное.

Поэтому для беспроводных сетей корпоративного уровня используется гораздо более совершенный вариант WPA2 Enterprise. Наиболее очевидной альтернативой общему ключу является индивидуальный ключ для каждого. Разумеется, в этом случае при подключении к сети запрашивается не только ключ, но и имя пользователя. Фактически это возврат к аутентификации на основе логин + длинный пароль. (Спасибо Капитану Очевидность за точные формулировки).

Вопрос в том, где хранить базу пользователей и паролей. Размер встроенной аппаратной флеш-памяти не «резиновый», а если точек доступа несколько, то нужно подумать, как выполнять синхронизацию учётных данных между ними.

Гораздо проще использовать внешний сервер для аутентификации. WPA2 Enterprise использует для этих целей RADIUS.

RADIUS (Remote Authentication in Dial-In User Service) — сервис AAA (Authentication, Authorization, Accounting), основанный на использовании отдельного сервера, взаимодействующего с клиентами (оборудованием) по специальным протоколам.

На сегодняшний момент наиболее популярны следующие реализации:

  • Microsoft Network Policy Server (NPS), бывший IAS — для конфигурации используется встроенный инструментарий Microsoft. Соответственно, нужно купить необходимые лицензии.
  • Cisco Secure Access Control Server (ACS) 4.2, 5.3 — для администрирования использует веб-интерфейс, имеет широкий набор полезных функций. Это также платный продукт.
  • FreeRADIUS — распространяется бесплатно, может использоваться как в «чистом виде», так и вкупе с различными СУБД (MySQL и другие), имеются веб-интерфейсы (DaloRADIUS, Dual-In), в общем, довольно известное решение.

Существуют и другие реализации данного сервиса. Для настройки главное понять принцип взаимодействия с сервером аутентификации, всё остальное можно найти в документации.

Интересный факт. Аппаратные шлюзы и контроллеры точек доступа Zyxel уже имеют встроенный сервис RADIUS «на борту». А облачная среда Zyxel Nebula может похвастаться собственной системой аутентификации, отличной от RADIUS, но выполняющей те же функции. Поэтому самостоятельная установка внешнего сервера аутентификации — процесс интересный, но отнюдь не всегда обязательный. Есть и более простые варианты.

Взаимодействие точки доступа с сервером RADIUS

Для обмена данными с сервером RADIUS используется протокол UDP (User Datagram Protocol) по принципу «клиент-сервер». В роли клиента выступает точка доступа (или другое устройство, нуждающиеся в службе аутентификации), которая обращается к серверу RADIUS с запросами о проверке учётных записей.

В зависимости от настройки и схемы использования сервер RADIUS может сообщать клиенту не только информацию об успешной аутентификации, но и другие параметры: VLAN клиентского устройства, IP адрес, QoS профиль и так далее.

Для создания безопасного соединения клиент и сервер RADIUS обладают общим ключом.

В отказоустойчивой production схеме используется более одного сервера RADIUS. Например, точка доступа NWA210AX может использовать для проверки два сервера: основной и резервный.

Кратко рассмотрим порядок взаимодействия

Пользователь подключает устройство (корпоративный ноутбук или любое другое). Для этого он вызывает соответствующий интерфейс для настройки. Появляется окно подключения, где он вводит логин и пароль.

Точка доступа принимает эти данные и для проверки аутентификации передаёт на сервер RADIUS.

Сервер RADIUS по своим записям проверяет данного пользователя и его пароль, и, в зависимости от результата, возвращает одно из значений: «Accepted» (Принято) или «Rejected» (Отклонено).

При получении «Accepted» (Принято) между клиентом и точкой доступа происходит обмен индивидуальными ключами шифрования, действующими только на время, установленное для данной сессии.



Рисунок 1. Использование сервера RADIUS для аутентификации.

Вообще на тему установки RADIUS написано очень много How-to, в том числе интеграцией с различными СУБД, использованию веб-интерфейса и так далее.

Однако невозможно объять необъятное, поэтому сейчас остановимся на самой простой реализации: сервер FreeRADIUS без сторонних продуктов, который настраивается путём изменения конфигурационных файлов.

ВНИМАНИЕ! Ниже приводится именно простейший пример для иллюстрации, а не готовая шпаргалка для копирования и размножения у себя в рабочей среде.

Описание примера настройки и взаимодействия точки доступа с сервером RADIUS

Конфигурация сервера FreeRADIUS

Это виртуальная машина со следующими характеристиками: RAM 1GB, 1xCPU, виртуальный диск 20GB (можно меньше, лишь бы разместилась операционная система и необходимые пакеты).

В роли гипервизора — Oracle Virtual Box 6.1.18

В качестве гостевой операционной системы для экспериментов использовался дистрибутив Oracle Linux 6.3. В принципе, можно выбрать любой другой дистрибутив, если нет специальных ограничений.

FreeRADIUS — из стандартного репозитория.

Точка доступа

В качестве клиента (точки доступа) — используется модель Zyxel NWA210AX. Это современное устройство, поддерживающее интеграцию в облачной системе Zyxel Nebula и обладающее массой других достоинств.

Несмотря на то, что NWA210AX поддерживает новые протоколы безопасности WiFi 6 и может использовать сервис аутентификации Nebula, в нашем случае она прекрасно выступит в качестве устройства доступа в сети WPA 2 Enterprise.



Рисунок 2. Точка доступа NWA210AX.

Клиент для проверки подключения

В качестве платформы для проверки клиентского подключения — наиболее наглядно данный процесс отображается на последних версиях Mac OS X.

Установка и настройка сервера RADIUS

Перед установкой рекомендуется настроить файервольные правила, в частности, разрешить порты 1812, 1813, а также, если понадобиться, выполнить настройку SELinux. Нашей целью было показать взаимодействие с RADIUS, поэтому такие нюансы, как настройка сети, файервола, других средств безопасности выходят за рамки статьи и остаются за кадром. И мы сразу переходим к установке FreeRADIUS.

sudo install freeradius freeradius-utils -y

Обратите внимание, мы устанавливаем не только пакет freeradius, но и дополнительные инструменты freeradius-utils.

Из этого пакета нам понадобится утилита radclient для проверки пользователей.

После окончания установки настроим запуск сервиса при старте системы:

sudo systemctl enable radiusd

Для проверки запустим FreeRADIUS:

sudo systemctl start radiusd

Проверим его состояние:

sudo systemctl status radiusd

Пример ответа системы:

Дополнительно проверить можно командой:

sudo ps aux | grep radiusd

Ответ системы должен быть примерно таким:

Для настройки нам понадобится только два конфигурационных файла из каталога /etc/raddb:

ВНИМАНИЕ! Ещё раз повторяем — это всего лишь пример, помогающий понять механизм работы. Такой примитивный вариант, например, когда записи пользователей и ключи хранятся открытым текстом — в production лучше не использовать. Но именно для иллюстрации работы самого RADIUS — чем меньше и проще настраивать, тем лучше.

В файле /etc/raddb/clients настраивается доступ из конкретной сети и задаётся общий ключ для сервера RADIUS и клиентов, в нашем случае — точек доступа.

sudo vi /etc/raddb/clients

Находим подходящий пример записи:

и на его основе создаём свою запись:

Для примера используется самый простейший вариант «из коробки», и по умолчанию информация о пользователях хранится в файле /etc/raddb/users. Создадим двух пользователей: ivan и rodeon.

sudo vi /etc/raddb/users

Обратите внимание на следующее предупреждение в самом конце файла:

Самый простой способ правильной вставки информации о пользователях — найти пользователя bob и добавить прямо под ним следующие строки:

Перезапустим сервис radiusd, чтобы тот перечитал конфигурационные файлы:

sudo systemctl restart radiusd

sudo systemctl status radiusd

После того, как убедились в стабильной работе сервиса, выполним проверку через команду radclient с передачей имени пользователя.

sudo echo "User-Name=ivan,User-Password=Pass1van" | radclient 192.168.0.104:1812 auth testing123-3

  • команда echo "User-Name= ivan,User-Password= Pass1van" передаёт имя пользователя и пароль;
  • 192.168.0.104:1812 — адрес сервера с портом UDP;
  • auth testing123-3 — указывается общий ключ testing123-3.

Если всё в порядке, ответ должен быть примерно таким:

Последняя и самая главная проверка: настроить на точке доступа NWA210AX подключение к данному серверу RADIUS и подключить выбранное клиентское устройство к WiFi сети.

Настройка подключения к RADIUS на точке доступа

Чтобы выполнить настройку, необходимо узнать адрес устройства. Для сетевого оборудования Zyxel это можно легко сделать при помощи сетевой утилиты ZON (Zyxel One Networking Utility). О ней можно подробнее узнать и бесплатно скачать на сайте Zyxel.



Рисунок 3. Утилита ZON (Zyxel One Networking Utility).

После того, как мы узнали IP, подключаемся через Интернет браузер.

Появляется первое окно с предложением сразу перейти к управлению через облачную среду Zyxel Nebula. Как уже было сказано выше, использовать «облако» проще, в отличие от автономной работы, в Nebula уже реализован аналог сервера аутентификации (и много чего другого, мониторинг, например). Но в данном случае используется автономная схема, поэтому выбираем режим — Standalone Mode.



Рисунок 4. Окно с предложением сразу перейти в облачную среду Nebula.

Далее идёт окно ввода имени пользователя и пароля. Пользователь по умолчанию — admin, пароль по умолчанию — 1234.



Рисунок 5. Окно ввода пользователя и пароля на NWA210AX.

Далее переходим в раздел Configuration —> AP Management. Нам необходимо настроить SSID профили.

В данном случае у нас два профиля: Wiz_SSID_1 и Wiz_SSID_2.

Для их настройки на соединение с RADIUS нужно задействовать элементы вызова окна редактирования (отмечено красным контуром на рисунке 6).



Рисунок 6. Раздел Configuration —> AP Management. Вызов окна редактирования SSID профиля.

Появится окно Edit SSID Profile Wiz_SSID_1.

В нём нас интересует переход к настройкам Security Profile (отмечено красным контуром на рисунке 7).



Рисунок 7. Окно Edit SSID Profile Wiz_SSID_1.

В появившемся окне Edit Security Profile Wiz_SEC_Profile_1 включаем опцию Primary Radius Server Activate и заполняем поля в соответствии с записями в файле /etc/raddb/clients нашего FreeRADIUS (отмечено красным контуром):

  • Radius Server IP Address,
  • Radius Server Port,
  • Radius Server Secret.

Если есть резервный сервер RADIUS, то необходимо включить Secondary Radius Server Activate и заполнить для него значения (отмечено синим подчёркиванием). У нас тестовая среда, но в production наличие резервного сервера аутентификации обязательно.



Рисунок 8. Окно Edit Security Profile Wiz_SEC_Profile_1.

Среди прочего присутствует вкладка Advance, в которой можно задать дополнительные значения. В данном случае у нас довольно простой пример, поэтому лучше оставить всё по умолчанию.



Рисунок 9. Окно Edit Security Profile Wiz_SEC_Profile_11 с раскрытой вкладкой Advance.

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

Как уже было сказано выше, более или менее точно процесс установки беспроводной связи иллюстрирует интерфейс Mac OS Х.

После того, как в списке подключений нашли соответствующий пункт (по умолчанию он называется Zyxel), операционная система показывает окно ввода имени пользователя и пароля/ключа, хранящегося в системе RADIUS.



Рисунок 10. Запрос имени пользователя и пароля для входа в беспроводную сеть.

Далее происходит передача сертификата. В OS X об этом свидетельствует окно для подтверждения использования сертификата.



Рисунок 11. Окно проверки сертификата. Дополнительно нажата кнопка «Показать сертификат».

После этого можно работать, например, зайти по адресам, указанным в разделе Полезные ссылки (в конце статьи).

Заключение

Как видим, даже для такого простого примера нам потребовалось довольно много действий. Теперь представьте, что точек в сети довольно много. Позже мы рассмотрим, как можно обеспечить подобную систему аутентификации с меньшими усилиями благодаря облачной систем управления Zyxel Nebula или встроенным аппаратным решениям Zyxel.

Использование для WiFi авторизации доменных учетных записей является очень удобным решением для любой организации где есть контроллер домена. Это удобно в случае если у вас несколько офисов т.к. можно подключаться под личным логином и паролем к wifi в любом офисе и безопасно в случае увольнения сотрудника т.к. его доменный профиль удаляется или блокируется.

Для настройки WiFi авторизации через доменный профиль необходимо будет выполнить следующие настройки:

  1. Настройка сервера политики сети NPS в Windows 2012
  2. Настройка RADIUS-клиента на Mikrotik.

Освоить MikroTik Вы можете с помощью онлайн-куса « Настройка оборудования MikroTik ». Курс основан на официальной программе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Настройка сервера политики сети NPS в Windows 2012.

Открываем "Диспетчер сервера" и приступаем к установке роли "Сервер политики сети" через "Мастер добавления ролей и компонентов". Подробно рассматривать процедуру установки не буду, здесь нет никаких сложностей. У меня на сервере эта роль уже установлена (см. скриншот).


После установки Роли потребуется перезагрузка. Перезагружаем сервер и приступаем к настройке NPS.

Настраиваем подключение RADIUS-клиента.

В Диспетчере серверов открываем /Средства/Сервер политики сети.

Переходим в /NPS/Radius-клиенты и сервер/Radius-клиенты, щелкаем пр. клавишей мыши и выбираем пункт "Новый документ"


Указываем имя (любое понятное для себя), ip-адрес роутера Mikrotik и придумываем общий секрет посложней (можно воспользоваться генератором).


Создаем политики для WiFi авторизации.

На этом шаге настройки воспользуемся мастером настройки 802.1x.

Кликаем лев. клавишей мыши по пункту "NPS(Локально)", затем в правом окне разворачиваем пункт "Стандартная конфигурация".

В пункте сценария настройки выбираем "RADIUS-сервер для беспроводных или кабельных подключений 802.1x" и переходим по ссылке "Настройка 802.1x".


Выбираем пункт "Безопасные беспроводные подключения"


На следующем шаге добавляем RADIUS-клиенты, которые были подключены к RADIUS-серверу ранее.


В качестве метода проверки подлинности выбираем "Microsoft: защищенные EAP (PEAP)".


Выбираем группы пользователей домена, которым будет доступно подключение к WiFi.


В результате получаем следующие результаты политик.

Политика запросов на подключение:


Сетевая политика:


На этом настройка NPS в качестве RADIUS-сервера для WiFi-авторизации завершена. Приступаем к настройке роутера Mikrotik.

Настройка подключения Mikrotik к RADIUS-серверу.

Чтобы добавить в Mikrotik подключение к RADIUS-серверу открываем меню RADIUS и жмем плюсик.

  • Отмечаем нужную службу "Services" - в случае WiFi авторизации это "wireless".
  • Указываем "Adsress" Radius-сервера - это ip-адрес настроенного ранее сервера сетевой политики NPS.
  • Заполняем Secret, который был указан при добавлении radius-клиента в NPS.


Все остальные настройки оставляем как есть, если только вы не решили изменить на NPS стандартные порты подключения 1812 и 1813.

Добавляем профиль авторизации: /Wireless/Security profiles. Здесь в Authentication types оставляем только WPA2 EAP.


Указываем в нашем действующем WiFi интерфейсе новый Security profile.


На этом настройка Mikrotik в качестве RADIUS-клиента закончена.

Для диагностики неисправности подключений можно включить Logging для RADIUS: /System/Logging/+. В "Topics" выбираем "radius".


Открываем Log и пробуем подключиться к точке доступа.

Количество успешных и сброшенных подключений можно посмотреть во вкладке Status созданного подключения к radius-серверу.


Освоить MikroTik Вы можете с помощью онлайн-куса « Настройка оборудования MikroTik ». Курс основан на официальной программе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.


В статье пойдёт речь о вопросах расширенной аутентификации в беспроводной сети через WPA2 Enterprise. Для данной системы используется RADIUS сервер, поэтому рассмотрим краткий пример упрощённой установки и настройки.

О методах аутентификации

В предыдущих статьях, в частности: Особенности защиты беспроводных и проводных сетей. Часть 1 — Прямые меры защиты, — мы рассказывали о различных методах аутентификации.

Более или менее надёжным можно считать алгоритм защиты начиная с WPA2, а самый современный протокол аутентификации — WPA3, входящий в состав новшеств от WiFi 6. Но так как не все ещё перешли на WiFi 6, то WPA2 пока остаётся актуальным.

В свою очередь технология WPA2 подразделяется на два направления: WPA2 Personal и WPA2 Enterprise.

Вариант WPA2 Personal с PSK (Pre-Shared Key), проще говоря, «один-ключ-на все-устройства» используется в небольших (обычно в домашних сетях). При этом единственный ключ (длинная символьная строка не менее 8 символов) хранится на самой точке доступа и на каждом устройстве, подключаемом к беспроводной сети. Когда просят дать «пароль от WiFi», это тот самый ключ и есть.

При увеличении числа клиентов обслуживание такой беспроводной сети превращается в кошмар для сисадмина.

Если кто-то из пользователей со скандалом уволился, умудрился потерять ноутбук или случайно переслал ключ по почте (выложил общем чате, на форуме и так далее) .

В общем, при малейшем подозрении на компрометацию ключа выход может быть только один — сгенерировать новый ключ и заменить его везде: на всех точках доступа и у всех пользователей на всех устройствах. При этом нужно обязательно проверить работает ли доступ у всех пользователей на всех корпоративных (а иногда и личных) девайсах, а ещё ответить на 1000 и 1 вопрос из разряда: «А зачем?», «А почему так произошло?», «А что, теперь постоянно менять придётся?» и так далее и тому подобное.

Поэтому для беспроводных сетей корпоративного уровня используется гораздо более совершенный вариант WPA2 Enterprise. Наиболее очевидной альтернативой общему ключу является индивидуальный ключ для каждого. Разумеется, в этом случае при подключении к сети запрашивается не только ключ, но и имя пользователя. Фактически это возврат к аутентификации на основе логин + длинный пароль. (Спасибо Капитану Очевидность за точные формулировки).

Вопрос в том, где хранить базу пользователей и паролей. Размер встроенной аппаратной флеш-памяти не «резиновый», а если точек доступа несколько, то нужно подумать, как выполнять синхронизацию учётных данных между ними.

Гораздо проще использовать внешний сервер для аутентификации. WPA2 Enterprise использует для этих целей RADIUS.

RADIUS (Remote Authentication in Dial-In User Service) — сервис AAA (Authentication, Authorization, Accounting), основанный на использовании отдельного сервера, взаимодействующего с клиентами (оборудованием) по специальным протоколам.

На сегодняшний момент наиболее популярны следующие реализации:

  • Microsoft Network Policy Server (NPS), бывший IAS — для конфигурации используется встроенный инструментарий Microsoft. Соответственно, нужно купить необходимые лицензии.
  • Cisco Secure Access Control Server (ACS) 4.2, 5.3 — для администрирования использует веб-интерфейс, имеет широкий набор полезных функций. Это также платный продукт.
  • FreeRADIUS — распространяется бесплатно, может использоваться как в «чистом виде», так и вкупе с различными СУБД (MySQL и другие), имеются веб-интерфейсы (DaloRADIUS, Dual-In), в общем, довольно известное решение.

Существуют и другие реализации данного сервиса. Для настройки главное понять принцип взаимодействия с сервером аутентификации, всё остальное можно найти в документации.

Интересный факт. Аппаратные шлюзы и контроллеры точек доступа Zyxel уже имеют встроенный сервис RADIUS «на борту». А облачная среда Zyxel Nebula может похвастаться собственной системой аутентификации, отличной от RADIUS, но выполняющей те же функции. Поэтому самостоятельная установке внешнего сервера аутентификации — процесс интересный, но отнюдь не всегда обязательный. Есть и более простые варианты.

Взаимодействие точки доступа с сервером RADIUS

Для обмена данными с сервером RADIUS используется протокол UDP (User Datagram Protocol) по принципу «клиент-сервер». В роли клиента выступает точка доступа (или другое устройство, нуждающиеся в службе аутентификации), которая обращается к серверу RADIUS с запросами о проверке учётных записей.

В зависимости от настройки и схемы использования сервер RADIUS может сообщать клиенту не только информацию об успешной аутентификации, но и другие параметры: VLAN клиентского устройства, IP адрес, QoS профиль и так далее.

Для создания безопасного соединения клиент и сервер RADIUS обладают общим ключом.

В отказоустойчивой production схеме используется более одного сервера RADIUS. Например, точка доступа NWA210AX может использовать для проверки два сервера: основной и резервный.

Кратко рассмотрим порядок взаимодействия

Пользователь подключает устройство (корпоративный ноутбук или любое другое). Для этого он вызывает соответствующий интерфейс для настройки. Появляется окно подключения, где он вводит логин и пароль.

Точка доступа принимает эти данные и для проверки аутентификации передаёт на сервер RADIUS.

Сервер RADIUS по своим записям проверяет данного пользователя и его пароль, и, в зависимости от результата, возвращает одно из значений: «Accepted» (Принято) или «Rejected» (Отклонено).

При получении «Accepted» (Принято) между клиентом и точкой доступа происходит обмен индивидуальными ключами шифрования, действующими только на время, установленное для данной сессии.



Рисунок 1. Использование сервера RADIUS для аутентификации.

Вообще на тему установки RADIUS написано очень много How-to, в том числе интеграцией с различными СУБД, использованию веб-интерфейса и так далее.

Однако невозможно объять необъятное, поэтому сейчас остановимся на самой простой реализации: сервер FreeRADIUS без сторонних продуктов, который настраивается путём изменения конфигурационных файлов.

ВНИМАНИЕ! Ниже приводится именно простейший пример для иллюстрации, а не готовая шпаргалка для копирования и размножения у себя в рабочей среде.

Описание примера настройки и взаимодействия точки доступа с сервером RADIUS

Конфигурация сервера FreeRADIUS

Это виртуальная машина со следующими характеристиками: RAM 1GB, 1xCPU, виртуальный диск 20GB (можно меньше, лишь бы разместилась операционная система и необходимые пакеты).

В роли гипервизора — Oracle Virtual Box 6.1.18

В качестве гостевой операционной системы для экспериментов использовался дистрибутив Oracle Linux 6.3. В принципе, можно выбрать любой другой дистрибутив, если нет специальных ограничений.

FreeRADIUS — из стандартного репозитория.

Точка доступа

В качестве клиента (точки доступа) — используется модель Zyxel NWA210AX. Это современное устройство, поддерживающее интеграцию в облачной системе Zyxel Nebula и обладающее массой других достоинств.

Несмотря на то, что NWA210AX поддерживает новые протоколы безопасности WiFi 6 и может использовать сервис аутентификации Nebula, в нашем случае она прекрасно выступит в качестве устройства доступа в сети WPA 2 Enterprise.



Рисунок 2. Точка доступа NWA210AX.

Клиент для проверки подключения

В качестве платформы для проверки клиентского подключения — наиболее наглядно данный процесс отображается на последних версиях Mac OS X.

Установка и настройка сервера RADIUS

Перед установкой рекомендуется настроить файервольные правила, в частности, разрешить порты 1812, 1813, а также, если понадобиться, выполнить настройку SELinux. Нашей целью было показать взаимодействие с RADIUS, поэтому такие нюансы, как настройка сети, файервола, других средств безопасности выходят за рамки статьи и остаются за кадром. И мы сразу переходим к установке FreeRADIUS.

sudo install freeradius freeradius-utils -y

Обратите внимание, мы устанавливаем не только пакет freeradius, но и дополнительные инструменты freeradius-utils.

Из этого пакета нам понадобится утилита radclient для проверки пользователей.

После окончания установки настроим запуск сервиса при старте системы:

sudo systemctl enable radiusd

Для проверки запустим FreeRADIUS:

sudo systemctl start radiusd

Проверим его состояние:

sudo systemctl status radiusd

Пример ответа системы:

Дополнительно проверить можно командой:

sudo ps aux | grep radiusd

Ответ системы должен быть примерно таким:

Для настройки нам понадобится только два конфигурационных файла из каталога /etc/raddb:

ВНИМАНИЕ! Ещё раз повторяем — это всего лишь пример, помогающий понять механизмработы. Такой примитивный вариант, например, когда записи пользователей и ключи хранятся открытым текстом — в production лучше не использовать. Но именно для иллюстрации работы самого RADIUS — чем меньше и проще настраивать, тем лучше.

В файле /etc/raddb/clients настраивается доступ из конкретной сети и задаётся общий ключ для сервера RADIUS и клиентов, в нашем случае — точек доступа.

sudo vi /etc/raddb/clients

Находим подходящий пример записи:

и на его основе создаём свою запись:

Для примера используется самый простейший вариант «из коробки», и по умолчанию информация о пользователях хранится в файле /etc/raddb/users. Создадим двух пользователей: ivan и rodeon.

sudo vi /etc/raddb/users

Обратите внимание на следующее предупреждение в самом конце файла:

Самый простой способ правильной вставки информации о пользователях — найти пользователя bob и добавить прямо под ним следующие строки:

Перезапустим сервис radiusd, чтобы тот перечитал конфигурационные файлы:

sudo systemctl restart radiusd

sudo systemctl status radiusd

После того, как убедились в стабильной работе сервиса, выполним проверку через команду radclient с передачей имени пользователя.

sudo echo "User-Name=ivan,User-Password=Pass1van" | radclient 192.168.0.104:1812 auth testing123-3

  • команда echo "User-Name= ivan,User-Password= Pass1van" передаёт имя пользователя и пароль;
  • 192.168.0.104:1812 — адрес сервера с портом UDP;
  • auth testing123-3 — указывается общий ключ testing123-3.

Если всё в порядке, ответ должен быть примерно таким:

Последняя и самая главная проверка: настроить на точке доступа NWA210AX подключение к данному серверу RADIUS и подключить выбранное клиентское устройство к WiFi сети.

Настройка подключения к RADIUS на точке доступа

Чтобы выполнить настройку, необходимо узнать адрес устройства. Для сетевого оборудования Zyxel это можно легко сделать при помощи сетевой утилиты ZON (Zyxel One Networking Utility). О ней можно подробнее узнать и бесплатно скачать на сайте Zyxel.



Рисунок 3. Утилита ZON (Zyxel One Networking Utility).

После того, как мы узнали IP, подключаемся через Интернет браузер.

Появляется первое окно с предложением сразу перейти к управлению через облачную среду Zyxel Nebula. Как уже было сказано выше, использовать «облако» проще, в отличие от автономной работы, в Nebula уже реализован аналог сервера аутентификации (и много чего другого, мониторинг, например). Но в данном случае используется автономная схема, поэтому выбираем режим — Standalone Mode.



Рисунок 4. Окно с предложением сразу перейти в облачную среду Nebula.

Далее идёт окно ввода имени пользователя и пароля. Пользователь по умолчанию — admin, пароль по умолчанию — 1234.



Рисунок 5. Окно ввода пользователя и пароля на NWA210AX.

Далее переходим в раздел Configuration —> AP Management. Нам необходимо настроить SSID профили.

В данном случае у нас два профиля: Wiz_SSID_1 и Wiz_SSID_2.

Для их настройки на соединение с RADIUS нужно задействовать элементы вызова окна редактирования (отмечено красным контуром на рисунке 6).



Рисунок 6. Раздел Configuration —> AP Management. Вызов окна редактирования SSID профиля.

Появится окно Edit SSID Profile Wiz_SSID_1.

В нём нас интересует переход к настройкам Security Profile (отмечено красным контуром на рисунке 7).



Рисунок 7. Окно Edit SSID Profile Wiz_SSID_1.

В появившемся окне Edit Security Profile Wiz_SEC_Profile_1 включаем опцию Primary Radius Server Activate и заполняем поля в соответствии с записями в файле /etc/raddb/clients нашего FreeRADIUS (отмечено красным контуром):

  • Radius Server IP Address,
  • Radius Server Port,
  • Radius Server Secret.

Если есть резервный сервер RADIUS, то необходимо включить Secondary Radius Server Activate и заполнить для него значения (отмечено синим подчёркиванием). У нас тестовая среда, но в production наличие резервного сервера аутентификации обязательно.



Рисунок 8. Окно Edit Security Profile Wiz_SEC_Profile_1.

Среди прочего присутствует вкладка Advance, в которой можно задать дополнительные значения. В данном случае у нас довольно простой пример, поэтому лучше оставить всё по умолчанию.



Рисунок 9. Окно Edit Security Profile Wiz_SEC_Profile_11 с раскрытой вкладкой Advance.

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

Как уже было сказано выше, более или менее точно процесс установки беспроводной связи иллюстрирует интерфейс Mac OS Х.

После того, как в писке подключений нашли соответствующий пункт (по умолчанию он называется Zyxel), операционная система показывает окно ввода имени пользователя и пароля/ключа, хранящегося в системе RADIUS.



Рисунок 10. Запрос имени пользователя и пароля для входа в беспроводную сеть.

Далее происходит передача сертификата. В OS X об этом свидетельствует окно для подтверждения использования сертификата.



Рисунок 11. Окно проверки сертификата. Дополнительно нажата кнопка «Показать сертификат».

После этого можно работать, например, зайти по адресам, указанным в разделе Полезные ссылки (в конце статьи).

Заключение

Как видим, даже для такого простого примера нам потребовалось довольно много действий. Теперь представьте, что точек в сети довольно много. Позже мы рассмотрим, как можно обеспечить подобную систему аутентификации с меньшими усилиями благодаря облачной систем управления Zyxel Nebula или встроенным аппаратным решениям Zyxel.

Читайте также: