Что происходит при подключении
В кафе, гостинице или аэропорту устройство подключается к точке доступа, но интернета ещё нет: сначала нужно принять условия, ввести номер, код или пароль. Для этого используется captive portal — «портал-пленник»: шлюз сети пока никого не выпускает в интернет и перенаправляет первые запросы на собственную страницу авторизации.
После успешного входа шлюз запоминает клиента, обычно по MAC- и IP-адресу, и разрешает выход в интернет. Сессия ограничена по времени, и портал может возникнуть снова.
Как система понимает, что нужен вход
Операционные системы при подключении сами делают пробные запросы к известным служебным адресам и ожидают заранее определённого ответа. Если вместо него приходит перенаправление или страница со вставкой, система понимает, что перед ней портал, и показывает уведомление или встроенное мини-окно браузера. Так устроено на Android, iOS, Windows и macOS: проверка разная, но принцип общий.
Перенаправление реализуется подменой ответа DNS или вмешательством в незашифрованные веб-запросы. Именно поэтому портал не может корректно вмешаться в соединение, защищённое TLS: при попытке открыть сайт по HTTPS браузер предупредит об ошибке сертификата.
Типичные проблемы: Captive portal
Страница не открывается вовсе. Причины: включён частный DNS или DNS поверх HTTPS, и система обращается не к серверу сети, а к внешнему; устройство запомнило старую сессию; портал использует устаревший метод. Помогает временное отключение частного DNS и открытие любого незашифрованного веб-адреса с простым текстом, чтобы вызвать перенаправление.
Другая проблема — портал появляется в неподходящий момент: телефон переключился на другую точку той же сети, и авторизация потеряна. Отдельно бывает, что вход выполнен, а приложения не работают: часть из них использует нестандартные порты, которые сеть не открыла.
Безопасность
Сеть с порталом нередко остаётся открытой: без пароля и без шифрования радиоканала. Тогда трафик виден другим участникам, а поддельная точка с тем же именем может показать похожую страницу и запросить данные. Поэтому не вводите пароли от важных аккаунтов на страницах публичной сети, проверяйте, что просьба ограничена номером или согласием с условиями, и используйте только сайты с защищённым соединением.
Дополнительный слой создаёт шифрование канала, но оно не подтверждает подлинность самой точки: с подменой сети связаны атаки вроде evil twin.
Как вести себя и что проверить
Подключайтесь к сети, имя которой подтвердил персонал. После входа откройте сайт с HTTPS и убедитесь, что предупреждений сертификата нет. Если страница входа не открывается, отключите на время частный DNS, заново подключитесь к сети и откройте адрес, начинающийся с обычного незашифрованного протокола. Для дальнейшего чтения полезны материалы про DNS и HTTPS.
Если сеть предлагает выбор между открытым и защищённым вариантом с одним и тем же именем, предпочтите защищённый. После использования выйдите из сети или удалите её из списка известных, чтобы устройство не подключалось к ней автоматически в будущем.
Как портал устроен со стороны владельца сети
Владелец публичной сети решает задачу не только показать страницу, но и надёжно узнать клиента. Обычно на шлюзе стоит служба, которая по MAC- и IP-адресу отслеживает, прошёл ли клиент авторизацию. Пока нет, весь незашифрованный веб-трафик перенаправляется на страницу входа, а DNS-запросы отвечают адресом портала. После входа правила межсетевого экрана меняются, и клиент получает доступ.
Отсюда возникают побочные эффекты. Случайные MAC-адреса на телефонах приводят к тому, что после смены адреса сеть «забывает» человека и просит войти снова. Устройства без браузера (игровые консоли, умные колонки) не могут пройти вход на странице, поэтому в гостиницах для них делают отдельные способы регистрации по адресу или коду.
Для владельца важны и юридические аспекты: в ряде случаев необходима идентификация пользователей публичной сети, о чём сообщают в условиях. Портал — техническое средство для выполнения этих правил, а не защита трафика: шифрование радиоканала настраивается отдельно.