Использование сетей Wi-Fi, требующих предварительной аутентификации, на устройстве iPhone, iPad или iPod touch

Маршрутизатор управляет локальными и глобальными сетями, прокладывая путь для доставки информации от отправителя к получателю, и представляет собой сложное устройство. Каждый маршрутизатор снабжен управляющей программой, либо несложным программным кодом в бюджетных моделях, либо полноценной операционной системой в дорогих роутерах. И каждая из прошивок требует настройки. И чтобы настраивать роутер мог только его хозяин, а не какой-либо злоумышленник, перед входом в настройки роутер запрашивает логин и пароль, и в данной статье будет рассмотрен данный вопрос — как поставить пароль на роутер.

Учитывая, что процедура установки пароля роутера однотипна для всех моделей маршрутизаторов, сразу выделим основные различия:

    Внешний вид окна настроек;

    Язык интерфейса;

    Названия пунктов и подпунктов.

Но не стоит пугаться – это намного проще, чем кажется на первый взгляд. Чтобы стало понятно, о чем речь, рассмотрим настройку пароля не нескольких моделях распространенных маршрутизаторов.

Подключение роутера к компьютеру

Так как настройка производится через встроенный в роутер веб интерфейс, то первым делом подключаем его к компьютеру, либо к ноутбуку. Можно через проводное соединение, можно через Wi-Fi, не важно. Если решили через Ethernet соединение, то необходимо один конец патч корда подключить в любой из LAN портов роутера, второй конец в сетевую карту компьютера.


Этикетка на днище роутера

На той же этикетке указан и заводской логин/пароль. Сменить их следует сразу же после первого входа в настройки.

Внимание! За редким исключением таковой этикетке на днище нет, тогда необходимо обратиться к инструкции по эксплуатации маршрутизатора.

Если вдруг окажется, что логин/пароль не подходят, то нужно произвести сброс настроек, нажав на задней панели кнопку и удерживая ее 10 секунд.

Итак, рассмотрим первый вариант, как установить пароль на роутер.

Первый маршрутизатор

Первым маршрутизатором выступит не безызвестная модель DIR-300/NRU от китайского производителя D-Link.


Первый маршрутизатор

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

В центре отображается окно настроек согласно выбранному пункту слева.

Нам необходим пункт смены пароля, по это выбираем пункт «Система», далее подменю «Пароль администратора».


Настройка пароля на первом маршрутизаторе

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

Второй маршрутизатор

Следующим, вторым, роутером будет служить RT-N10 от Asus.

Второй маршрутизатор

У данного производителя меню имеет несколько иную структуру, о чем и говорилось в самом начале статьи.


Настройка пароля на втором маршрутизаторе

Но если посмотреть на него внимательно, но в нем тоже все просто: выбираем пункт меню «Дополнительные настройки», далее «Администрирование», далее в открывшемся меню выбираем вкладку «Система». И вот снова видим два поля для ввода нового пароля. Пишем новые пароли, жмем «Применить».

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

Англоязычные версии

Маршрутизатор третий

Следующий аппарат – TL-WR1043ND от производителя TP-LINK.


Третий маршрутизатор

Также заходим в меню настроек. Снова внешний вид немного отличается, но внешне, а не по смыслу.


Настройка пароля на третьем маршрутизаторе

Достаточны базовые знания английского языка, чтобы без проблем разобраться в меню. Выбираем пункт «System Tools», далее подменю «Password». Снова видим поля для ввода нового логина и два раза пароля. Отличие данной прошивки от предыдущих – в первых двух полях необходимо ввести также и текущие имя/пароль.

После ввода нажимаем кнопку «Save».

Четвертый маршрутизатор

И четвертый, заключительный, маршрутизатор – Linksys WRT610N производства CISCO.


Четвертый маршрутизатор

Как обычно, заходим в меню настроек роутера. Снова бросается в глаза несколько необычное меню – читаем внимательно пункты, и находим «Management», выбираем его. Откроется окно, смотрим внимательно вкладки, и выбираем «Administration».


Настройка пароля на четвертом маршрутизаторе

В открывшемся меню на самом верху необходимые нам две строки – «Router Password» и «Re-enter to Confirm». Вводим туда новый пароль и жмем «Save Setting».

  • Tutorial

С практической точки зрения было бы удобно управлять Wi-Fi сетями, выдавая пароль каждому пользователю. Это облегчает задачу с доступом к вашей беспроводной сети. Используя так называемую WPA2 PSK авторизацию, чтобы предотвратить доступ случайному пользователю, нужно менять ключ, а также заново проходить процесс авторизации на каждом отдельном Wi-Fi устройстве. Кроме того, если вы имеете несколько точек доступа, ключ нужно менять на всех из них. А если Вам надо скрыть пароль от кого-нибудь, придется раздать всем сотрудникам новый.

Представим ситуацию - к вам в офис зашел кто-то посторонний (клиент, контрагент?), и нужно дать ему доступ в интернет. Вместо того, чтобы давать ему WPA2 - ключ, можно сделать для него отдельный аккаунт, который потом, после его ухода, можно удалить заблокировать. Это даст вам гибкость в управлении учетками, а пользователи будут очень довольны.

Мы сделаем удобную схему, применяемую в корпоративных сетях, но полностью из подручных средств с минимальными финансовыми и аппаратными вложениями. Ее одобрит служба безопасности и руководство.

Немного теории

Когда-то давно инженерами IEEE был придуман стандарт 802.1x. Этот стандарт отвечает за возможность авторизации пользователя сразу при подключении к среде передачи данных. Иными словами, если для соединения, например, PPPoE, вы подключаетесь к среде(коммутатору), и уже можете осуществлять передачу данных, авторизация нужна для выхода в интернет. В случае же 802.1x вы не сможете делать ничего, пока не авторизуетесь. Само конечное устройство вас не допустит. Аналогичная ситуация с Wi-Fi точками доступа. Решение же о допуске вас принимается на внешнем сервере авторизации. Это может быть RADIUS, TACACS, TACACS+ и т.д.

Терминология

Вообще авторизация пользователя на точке может быть следующих видов:
  • Open - доступна всем
  • WEP - старое шифрование. Уже у всех плешь проедена о том, что его ненадо использовать вообще
  • WPA - Используется TKIP в качестве протокола шифрования
  • WPA2 - Используется шифрование AES

А теперь рассмотрим варианты того, как точка доступа узнает сама, можно ли предоставлять пользователю доступ к сети или нет:

  • WPA-PSK, WPA2-PSK - ключ к доступу находится в самой точке.
  • WPA-EAP, WPA2-EAP - ключ к доступу сверяется с некоторой удаленной базой данных на стороннем сервере

Также существует довольно большое количество способов соедининея конечного устройства к серверу авторизации (PEAP, TLS, TTLS...). Я не буду их здесь описывать.

Общая схема сети

Для наглядного понимания приведем общую схему работы нашей будущей схемы:

Если словами, то клиенту, при подключении к Wi-Fi - точке предлагается ввести логин и пароль. Получив логин и пароль Wi-Fi точка передает эти данные RADIUS-серверу, на что сервер отвечает, что можно делать с этим клиентом. В зависимости от ответа, точка решает, дать ему доступ, урезать скорость или что-то еще.
За авторизацию пользователей будет отвечать наш сервер с установленным freeradius. Freeradius является реализацией протокола RADIUS , который в свою очередь является реализацией общего протокола AAA. AAA - это набор средств для осуществления следующих действий:
Authentication - проверяет допустимость логина и пароля.
Authorization - проверяет наличие прав на выполнение некоторых действий.
Accounting - учитывает ваши дейсвия в системе.
Сам протокол передает имя пользователя, список атрибутов и их значений для него. То есть, например, атрибут Auth-Type:= Reject - отклонить этого клиента, а Client-Password == «password» - сравнить атрибут в запросе со значением password.
Вообще говоря, база аккаунтов и прав для них не обязательно должна храниться на RADIUS-сервере, да и базой может быть что угодно - никсовые пользователи, пользователи домена Windows… да хоть текстовый файлик. Но в нашем случае все будет в одном месте.

Базовая настройка

В этой статье нас будут интересовать в первую очередь WPA2-EAP/TLS способ авторизации.
Практически все современные точки доступа Wi-Fi стоимостью больше 3 тыс. рублей поддерживают нужную нам технологию. Клиентские устройства поддерживают и подавно.
В статье я буду использовать следующее оборудование и програмное обеспечение:

Настройка точки доступа

Главное, чтоб точка поддерживала нужный способ аутентификации. Оно может называться по разному в разных устройствах: WPA-EAP, WPA2 Enterprise и т.д. Во всяком случае выбираем аутентификацию, устанавливаем IP-адрес и порт RADIUS-сервера и ключ, который мы вводили в clients.conf при настройке Freeradius.
Приведу картинку с настроенной точки Ubiquiti. Помечено галкой то, что нужно менять.


RADIUS-сервер

Зайдем на наш компьютер с Linux и установим RADIUS-сервер. Я брал freeradius, и ставил я его на gentoo. К моему удивлению, в рунете нет материалов, относящихся к настройке Freeradius 2 для наших целей. Все статьи довольно стары, относятся к старым версиям этого програмного обеспечения.
root@localhost ~ # emerge -v freeradius
Все:) RADIUS-сервер уже может работать:) Вы можете проверить это так:
Это debug-mode. Вся информация вываливается на консоль. Приступем к его настройке.
Как это водится в Linux, настройка выполняется через конфигурационные файлы. Конфигурационные файлы хранятся в /etc/raddb. Сделаем подготовительные действия - скопируем исходные конфиги, почистим конфигурация от всякого мусора.
root@localhost ~ # cp -r /etc/raddb /etc/raddb.olg root@localhost ~ # find /etc/raddb -type f -exec file {} \; | grep "text" | cut -d":" -f1 | xargs sed -i "/^ *\t* *#/d;/^$/d"
Далее добавим клиента - точку доступа. Добавляем в файлик /etc/raddb/clients следующие строки:
root@localhost ~ # cat /etc/raddb/clients.conf | sed "/client test-wifi/,/}/!d" client test-wifi { ipaddr = 192.168.0.1 #IP адрес точки, которая будет обращаться к радиусу secret = secret_key #Секретный ключик. Такой же надо будет поставить на Wi-Fi точке. require_message_authenticator = no #Лучше так, с каким-то D-Linkом у меня не получилось иначе }
Далее добавляем домен для пользователей. Сделаем дефолтовый.
root@localhost ~ # cat /etc/raddb/proxy.conf | sed "/realm DEFAULT/, /^}/!d" realm DEFAULT { type = radius authhost = LOCAL acchost = LOCAL }

Домены в RADIUS

Здесь надо заметить, что можно делить пользователей по доменам. А именно, в формате имени пользователя может указываться домен(например user@radius). DEFAULT означает любой неопределенный домен. NULL - без домена. В зависимости от домена(можно сказать префикса в имени пользователя) можно осуществлять различные действия, как то отдать право аутентифицировать другому хосту, отделять ли имя от домена во время проверки логина и т.д.


И, наконец, добавляем пользователей в файл /etc/raddb/users:
root@localhost ~ # cat /etc/raddb/users | sed "10,$!d" user1 Cleartext-Password:= "password1" user2 Cleartext-Password:= "password2" user3 Cleartext-Password:= "password3"
Ух, можно стартовать!
root@localhost ~ # radiusd -fX
Наш сервер запущен и ждет подключений!

Настройка клиентов

Пробежимся по настройке основных пользовательских устройств. У наших сотрудников есть клиенты, работающие на Android, iOS и Windows 7. Оговоримся сразу: так как мы используем самосозданные сертификаты, то нам нужно несколько раз вносить всевозможные исключения и подтверждать действия. Если бы мы пользовали купленные сертификаты, возможно, все было бы проще.

Всех проще дело обстоит на iOS-устройствах. Вводим логин и пароль, нажимаем «Принять сертификат», и вперед.

Скриншот с IOS



Чуть сложнее выглядит, но на практике все тоже просто на Android. Там немного больше полей для ввода.

Скриншот с Android


Ну и на Windows 7 приедтся немного понастраивать. Осуществим следующие шаги:
Идем в центр беспроводных подключений.

  1. Устанавливаем необходимые параметры в свойствах Вашего беспроводного подключения
  2. Устанавливаем необходимые параметры в расширенных настройках EAP
  3. Устанавливаем необходимые параметры в расширенных настройках Дополнительных параметрах
  4. Подключаемся в панели задач к Wi-Fi сети и вводим логин-пароль, наслаждаемся доступом к Wi-Fi

Скриншоты Windows

Шаг 1



Шаг 2

Шаг 3



Шаг 4

Шаг 5



Собственный мини-биллинг

Теперь осталась одна проблема - если вы захотите добавить-удалить нового пользователя, то вам придется изменить users и перезапустить radius. Чтобы этого избежать подключим базу данных и сделать свой собственный мини-биллинг для пользователей. Используя БД, вы всегда сможете набросать простенький скрипт для добавления, блокировки, изменения пароля пользователя. И все это произойдет без останова всей системы.

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

Для начала создаем саму базу данных:

Root@localhost ~ # psql -U postgres radius_wifi=> create user radius_wifi with password 1111; radius_wifi=> create database radius_wifi with owner=radius_wifi; radius_wifi=> \q

Далее надо создать нужные таблицы. Вообще с Freeradius идет документация по схемам таблиц для различных баз данных, правда в различных дистрибутивах находятся они в разных местах. У меня лично это лежит в /etc/raddb/sql/postgresql/schema.sql. Просто вставьте эти строки в psql, либо просто запустите

Root@localhost ~ # cat /etc/raddb/sql/postgresql/schema.sql | psql -U radius_wifi radius_wifi

На всякий случай добавлю сюда схему для Postgres:

Схема для Postgres

root@localhost ~ # cat /etc/raddb/sql/postgresql/schema.sql | sed "/^--/d;/\/\*/d;/\*/d;/^$/d;" CREATE TABLE radacct (RadAcctId BIGSERIAL PRIMARY KEY, AcctSessionId VARCHAR(64) NOT NULL, AcctUniqueId VARCHAR(32) NOT NULL UNIQUE, UserName VARCHAR(253), GroupName VARCHAR(253), Realm VARCHAR(64), NASIPAddress INET NOT NULL, NASPortId VARCHAR(15), NASPortType VARCHAR(32), AcctStartTime TIMESTAMP with time zone, AcctStopTime TIMESTAMP with time zone, AcctSessionTime BIGINT, AcctAuthentic VARCHAR(32), ConnectInfo_start VARCHAR(50), ConnectInfo_stop VARCHAR(50), AcctInputOctets BIGINT, AcctOutputOctets BIGINT, CalledStationId VARCHAR(50), CallingStationId VARCHAR(50), AcctTerminateCause VARCHAR(32), ServiceType VARCHAR(32), XAscendSessionSvrKey VARCHAR(10), FramedProtocol VARCHAR(32), FramedIPAddress INET, AcctStartDelay INTEGER, AcctStopDelay INTEGER); CREATE INDEX radacct_active_user_idx ON radacct (UserName, NASIPAddress, AcctSessionId) WHERE AcctStopTime IS NULL; CREATE INDEX radacct_start_user_idx ON radacct (AcctStartTime, UserName); CREATE TABLE radcheck (id SERIAL PRIMARY KEY, UserName VARCHAR(64) NOT NULL DEFAULT "", Attribute VARCHAR(64) NOT NULL DEFAULT "", op CHAR(2) NOT NULL DEFAULT "==", Value VARCHAR(253) NOT NULL DEFAULT ""); create index radcheck_UserName on radcheck (UserName,Attribute); CREATE TABLE radgroupcheck (id SERIAL PRIMARY KEY, GroupName VARCHAR(64) NOT NULL DEFAULT "", Attribute VARCHAR(64) NOT NULL DEFAULT "", op CHAR(2) NOT NULL DEFAULT "==", Value VARCHAR(253) NOT NULL DEFAULT ""); create index radgroupcheck_GroupName on radgroupcheck (GroupName,Attribute); CREATE TABLE radgroupreply (id SERIAL PRIMARY KEY, GroupName VARCHAR(64) NOT NULL DEFAULT "", Attribute VARCHAR(64) NOT NULL DEFAULT "", op CHAR(2) NOT NULL DEFAULT "=", Value VARCHAR(253) NOT NULL DEFAULT ""); create index radgroupreply_GroupName on radgroupreply (GroupName,Attribute); CREATE TABLE radreply (id SERIAL PRIMARY KEY, UserName VARCHAR(64) NOT NULL DEFAULT "", Attribute VARCHAR(64) NOT NULL DEFAULT "", op CHAR(2) NOT NULL DEFAULT "=", Value VARCHAR(253) NOT NULL DEFAULT ""); create index radreply_UserName on radreply (UserName,Attribute); CREATE TABLE radusergroup (UserName VARCHAR(64) NOT NULL DEFAULT "", GroupName VARCHAR(64) NOT NULL DEFAULT "", priority INTEGER NOT NULL DEFAULT 0); create index radusergroup_UserName on radusergroup (UserName); CREATE TABLE radpostauth (id BIGSERIAL PRIMARY KEY, username VARCHAR(253) NOT NULL, pass VARCHAR(128), reply VARCHAR(32), CalledStationId VARCHAR(50), CallingStationId VARCHAR(50), authdate TIMESTAMP with time zone NOT NULL default "now()");

Отлично, база подготовлена. Теперь законфигурим Freeradius.
Добавьте, если ее там нет, в /etc/raddb/radiusd.conf строку

$INCLUDE sql.conf

Теперь отредактируйте /etc/raddb/sql.conf под вашу реальность. У меня он выглядит так:

Мой sql.conf

root@localhost ~ # cat /etc/raddb/sql.conf sql { database = "postgresql" driver = "rlm_sql_${database}" server = "localhost" login = "radius_wifi" password = "1111" radius_db = "radius_wifi" acct_table1 = "radacct" acct_table2 = "radacct" postauth_table = "radpostauth" authcheck_table = "radcheck" authreply_table = "radreply" groupcheck_table = "radgroupcheck" groupreply_table = "radgroupreply" usergroup_table = "radusergroup" deletestalesessions = yes sqltrace = no sqltracefile = ${logdir}/sqltrace.sql num_sql_socks = 5 connect_failure_retry_delay = 60 lifetime = 0 max_queries = 0 nas_table = "nas" $INCLUDE sql/${database}/dialup.conf }


Добавим несколько новых пользователей test1, test2, test3, и… заблокируем test3

Root@localhost ~ # psql -U postgres radius_wifi=> insert into radcheck (username, attribute, op, value) values ("test1", "Cleartext-Password", ":=", "1111"); radius_wifi=> insert into radcheck (username, attribute, op, value) values ("test2", "Cleartext-Password", ":=", "1111"); radius_wifi=> insert into radcheck (username, attribute, op, value) values ("test3", "Cleartext-Password", ":=", "1111"); radius_wifi=> insert into radcheck (username, attribute, op, value) values ("test3", "Auth-Type", ":=", "Reject");

Ну, перезапускаем freeradius и пробуем подключиться. Должно все работать!

Конечно биллинг получился ущербный - у нас нигде не хранится информации по аккаунтингу(учету действий пользователя), но и нам здесь этого не надо. Чтобы вести аккаунтинг, необходимы еще и Wi-Fi точки подорооже, чем 3 тыс. рублей. Но уже и так мы с легкостью управлять пользователями.
radius Добавить метки

Сети Wi-Fi, требующие предварительной аутентификации, - это общедоступные беспроводные сети, для использования которых требуется оформить подписку или внести плату. Такие сети еще называют «подписными» или «точками доступа Wi-Fi». Часто подписные сети Wi-Fi действуют в кафе, интернет-кафе, гостиницах, аэропортах и других общественных местах. В некоторых странах их работа финансируется и обеспечивается операторами беспроводной связи (например, точки беспроводного доступа AT&T в кофейнях Starbucks).

Подключение к подписной сети Wi-Fi

Подключение к подписной сети Wi-Fi выполняется тем же способом, что и к любой другой сети Wi-Fi.

  1. Для этого откройте меню «Настройки» > Wi-Fi.
  2. Выберите название сети, к которой хотите подключиться. Появится экран входа.

Чтобы подключиться к подписной сети Wi-Fi, вам может понадобиться ввести имя пользователя и пароль, адрес электронной почты или согласиться с положениями и условиями (или нажмите , и посмотрите, что произойдет). Доступные варианты зависят от поставщика подписной сети Wi-Fi. Вы можете увидеть такие варианты:

Подключение к подписной сети можно также выполнить, нажав значок рядом с ее именем. Затем нажмите «Подключиться к сети».

Выполнив вход, вы должны получить доступ к Интернету. При использовании подписных сетей Wi-Fi может взиматься плата за трафик и другие сборы. За дополнительными сведениями обращайтесь к оператору сети.

Если подключение к сети отменяется до входа в сеть

При нажатии кнопки «Отменить» устройство отключается от подписной сети Wi-Fi.

Если вы подключились к сети с экрана Wi-Fi, использовав кнопку , или подключение было выполнено менее восьми минут назад, отобразится сообщение о том, что сеть подключена без доступа к Интернету. Выберите один из приведенных ниже вариантов.

  • «Исп. без Интернета» - при выборе этого варианта закроется экран приветствия, будет отключено автоматическое подключение к этой сети, но связь с сетью Wi-Fi будет сохранена, что позволит взаимодействовать с ней другими способами.
  • «Исп. другую сеть» - при выборе этого варианта закроется экран приветствия, произойдет отключение от сети Wi-Fi и возврат к экрану «Настройки Wi-Fi». На этом экране можно будет выбрать другую сеть.
  • «Отменить» - при выборе этого варианта произойдет возврат к экрану приветствия.

Автоподключение к подписным сетям Wi-Fi

Устройство iPhone, iPad или iPod touch запоминает подписную сеть Wi-Fi и необходимую информацию для входа, чтобы автоматически подключаться к ней при попадании в зону действия.

Статьи по теме: