Free Wi-Fi или SMS авторизация? Настройка Cisco ISE

free-wifi

С лета 2014 года периодически поднимается вопрос о том, чтобы в публичных местах люди должны так или иначе регистрироваться, получая доступ к сети Wi-Fi. Существуют постановления правительства 758 и 801 которые я не могу однозначно трактовать. В этой статье я хочу рассказать об одном практически реализованном варианте регистрации пользователей средствами Cisco. Минкомсвязь России 21 июля 2015 года рассказало о том, что на Федеральном портале проектов нормативных правовых актов опубликован подготовленный Министерством связи и массовых коммуникаций Российской Федерации законопроект о внесении изменений в Федеральный закон «О связи» и Кодекс РФ об административных правонарушениях (КоАП), которым предлагается установить ответственность для юридических лиц и индивидуальных предпринимателей за организацию публичных Wi-Fi-сетей, не обеспечивающих идентификацию пользователей и пользовательского оборудования..

До сих пор, конец апреля 2016 года, этот НПА находится на стадии Подготовка заключения об ОРВ, и приведен текст этого самого заключения, полностью доступный на сайте, я же приведу пункт 3: Проект акта и пояснительные материалы к нему не содержат информации, позволяющей сделать однозначный вывод о том, каким образом будет осуществляться контроль над соблюдением проектируемых норм, а также на какой федеральный орган исполнительной власти Российской Федерации будут возлагаться полномочия по его осуществлению.

wifithink

Большой вопрос, примут ли этот законопроект. В интернете по ключевым словам wi-fi sms можно найти множество сайтов, которые готовы предоставить вам такой сервис, за небольшую плату. Этот вариант может быть интересен небольшим кафе, магазинам. Как же быть крупным предприятиям? Cisco предлагает решение, которое мне довелось недавно настраивать. Изначально гостевая сеть была открытая, но после того, как некто из Роскомнадзора пришел к начальнику IT объекта, который я настраиваю и попросил его закрыть сеть, ссылаясь на те самые ПП 758 и 801. Начальник IT попросил меня настроить авторизацию, благо железо позволяло.

ise-fingerprint

Не найдя на просторах интернета полностью описанной задачи настройки аутентификации в гостевой Wi-Fi сети через SMS, реализованной средствами Cisco WLC + ISE, я решил написать свою, может она кому-то будет полезна. ISE инструмент могучий, и сходу в нём не разберешься, а нужно иногда совсем не многое. В моём случае WLC 8.0.120.0 и ISE 1.4.0.253 patch 6. Руководством для настройки были видео на LabMinutes и Cisco ISE Administrator Guide, Release 1.4

Хорошо бы, для начала понять логику работы системы.

Человек подключается к открытой сети. Хотя эта SSID и открыта, на 2м уровне она защищена MAC Filtering (ата-та! Скажет осведомленный человек, как легко это обойти, прослушав эфир с помощью Kali Linux и подобного, но не будем о грустном). Подключаясь к сети он получает IP адрес и любой http (не https!) запрос перенаправляет его на гостевой портал для авторизации или саморегистрации, если он заходит впервые. Человеку предлагается ввести номер сотового и согласиться с политикой (AUP), после чего он получает логин и пароль для доступа. Моментально получив смс человек нажимает кнопку Войти и, получив приветственное сообщение, получает доступ в интернет. Он может свободно перемещаться по всему зданию и выходить за его пределы. На 1 день система его запоминает и не нужно повторно вводить пароль. Через день (или в указанный интервал, рабочие часы и т.п.) гостю нужно снова запросить смс. Всё.

hostel-wifi

Настройка контроллера (в моём случае это был HA из пары WISM2):

Для проверки, кому ходить в сеть, указаны Radius сервера, в нашем случае это ISE. Важно не забыть включить Support for RFC 3576 для указанного сервера, для CoA, чтобы человек после успешной авторизации сразу попадал в сеть, без переподключения.

Дополнительные настройки включают Allow AAA Override (позволяет передать дополнительные параметры от RADIUS-сервера в момент успешной авторизации и применить их к данному клиенту индивидуально. Такими параметрами у нас будут список ACL и URL для редиректа) а также NAC State – Radius NAC. На этом базовая настройка контроллера в части взаимодействия с ISE закончена. Скриншоты за их простотой не привожу, кому они нужны, в LabMinutes вы их увидите. Далее по тексту будут показаны только ACL.

Настройка ISE

Для начала нужно подготовиться, так как для отправки SMS нам потребуется сторонний шлюз, коих в России достаточно, но в ISE они изначально не прописаны. Точкой отсчета была статья на хабре, благодаря которой я остановился на https://www.bytehand.com/
Регистрируемся, кладём денежку, делаем подпись отправителя, типа GETMAXIMUM, которая после модерации (в течение дня) будет доступна. В результате у вас появится строчка вида http://bytehand.com:3800/send?id=&key=&to=$mobilenumber$&from=GETMAXIMUM&text= которую мы пропишем в ISE: Administration –> System – SMS Gateway – ADD. Нам нужна только строчка SMS HTTP API, где в поле URL мы вставляем наш. Save. Дело сделано.
Если позже захочется сэкономить, можно сделать свой SMS шлюз.
Пока же в день уходит около 100 смс, в праздники было до 350.

01 - Admin - Settings - SMS Gateway

Далее, для того, чтобы не пугать подключающихся предупреждением о недействительном сертификате, нужен он самый. Простой, быстрый и бесплатный метод есть у китайцев https://buy.wosign.com/free/?lan=en#ssl вам достаточно иметь почту вида admin@вашдомен для его подтверждения. После успешного подтверждения вам придут сертификаты, нужные для ISE лежат в for Apache.zip

Получив сертификаты заходим в Administration -> Certificates -> Trusted Certificates – Import

Указываем 1_root_bundle.crt и ставим галочку Trust for client authentication and Syslog

01 - Admin - Cert - Trusted Cert

Нажали Submit – увидели 2 сертификата:

WoSign CA Free SSL Certificate G2#Certification Authority of WoSign#00004
Certification Authority of WoSign#StartCom Certification Authority#00005

Далее переходим на System Certificates -> Import Server Certificate

Указываем Certificate, Private Key, Пароль и ставим галочку на Portal, так как для других целей данный сертификат использоваться не будет.

03 - Admin - Cert - Server Cert

После нажатия на Submit появляется наш сертификат сроком жизни на 2 года, как и было обещано китайцами.

Подготовительные шаги сделаны.

Следующим шагом определимся с элементами политик (Policy Elements)

Для начала заглянем в Policy > Policy Elements > Results.

Первым этапом идет аутентификация, и в Allowed Protocols Services List > Default Network Access можно выбрать какие протоколы мы можем использовать в конкретном случае. Тут я оставил всё как было по умолчанию.

Вторым этапом идет авторизация, и тут нужно добавить пару профилей. Первый делает редирект на портал, и никуда не выпускает, указывая на ACL ISE-ONLY на контроллере, содержимое которого будет чуть ниже.

04 - Policy - Results - Authentication

ISE-ONLY ACL

Второй – пропускает авторизовавшихся пользователей, и указывает контроллеру на ACL INTERNET-ONLY, выпускающий их только в интернет.

04 - Policy - Results - Authentication InetOnly

INTERNET-ONLY ACL

Далее определим, как будет проходить авторизация и аутентификация.

В Authentication Policy определим правило с именем Wi-Fi Guest Welcome, где при условии Wireless_MAB (запрос пришел с контроллера) разрешаются протоколы, описанные в Default Network Access. В качестве источника данных (Identity Source) указываем Guest Users, и в случае “If user not found” выбираем Continue.

Authentication Policy

В авторизации добавляется два правила:
1. Если гость пришел из нашего SSID, делаем редирект на портал, при этом  строго ограничив его ACL.
2. Если гость уже проходил через портал, то просто пропускаем его, ограничив ACL.

Authorization Policy.JPG

В Guest Access > Settings мы выберем длину имени пользователя и пароля, я поставил 4, чтобы не мучить людей.

Guest Access Settings

Затем нужно определить параметры гостевого пользователя и портала.
Кстати, на этой картинке показана другая, может быть более правильная последовательность действий, но в данном случае, от перемены мест слагаемых сумма не меняется. Сначала мы настроили политики, потом портал.

Guest Access

Учетная запись гостя будет активна 1 день, 2 одновременных захода, например с ноута и смартфона, гости попадают в GuestEndpoint группу.

Guest Type

Ну и наконец переходим к настройке портала.
Создаем новый Self-Registered Guest Portal
Имя, описание, и ряд интуитивно понятных настроек. Обязательная галочка Allow guests to create their own accounts. Assign self-registered guests to guest type: Daily (которого создали ранее)

Выбрать, что спрашивать у гостя и что ему отправлять.
Справа приводится блок-схема, как портал работает:

Guest Flow

На вкладке Portal Page Customization можно настроить текст, который будет видеть гость при прохождении через портал.. Тут же можно сразу взглянуть на результат

Preview

По-хорошему нужно править текст на всех доступных языках, если планируются международные гости. Языков 14, и, как я понимаю, можно загрузить еще.
Вот те, что по умолчанию:
Китайский, Чешский, Голландский, Английский, Французский,
Немецкий, Венгерский, Итальянский, Японский, Корейский,
Польский, Португальский, Русский, Испанский.

Минимум, для персонализации можно поставить свои лого и баннер указанных размеров.
Banner 1724×133 Logo 86×45 Mobile Logo 80×35

Portal test URL позволяет удаленно проверить работу и, если проверка удалась, вы получили смс, то можно проверить придя на площадку и порадоваться. Всё работает! Удачной настройки!

Упрощает ли это всё людям жизнь?
Делает ли такой Wi-Fi счастливее?
Возможно ли, без установки СОРМ понять, кто из 350 подключенных пользователей взломал пентагон с 1 внешнего айпишника, через который выходили все 350?

На эти вопросы ответьте сами.
В следующем выпуске журнала я продолжу рассказ по курсу CWNA на тему «Организации по стандартизации». Периодически заметки по курсу CWNA будут  разбавляться вот таким практическим материалом, как этот.

wififace