Я пытаюсь создать захватывающий портал с помощью WifiDog, AuthPuppy и Squid. Мы хотим предоставить доступ только к выбранному количеству ресурсов, например, к 2-3 веб-сайтам и магазинам приложений (Apple и Google).
Блокировать и разрешать HTTP-запросы просто: WifiDog имеет возможность перенаправить http на прозрачный прокси. Я внес в белый список необходимые URL-адреса, остальные заблокированы. Но есть ли аналогичный способ сделать это для безопасных (https) соединений?
Большое спасибо за любые предложения.
Не легко.
По умолчанию HTTPS-соединения зашифрованы, и вы не можете передавать их через прокси ... что вы можете сделать, так это отфильтровать их по IP-адресу назначения, разрешив только некоторые адреса и запретив все остальное с помощью брандмауэра; однако некоторые серверы используют виртуальные хосты и размещают разные веб-сайты под одним и тем же IP-адресом, поэтому, если на одном и том же сервере размещены как сайт из белого, так и из черного списка, вы не можете заблокировать только один из них.
Однако решение состоит в том, чтобы получить согласие пользователя на настройку IP-адреса сервера Squid в качестве прокси-сервера браузера, и в этом случае трафик по-прежнему будет зашифрован (он будет туннелироваться с использованием CONNECT
запросы через прокси), но имя хоста назначения будет открытым текстом, и вы сможете применить к нему ACL.
Таким образом, возможным решением было бы перенаправить весь HTTP-трафик на страницу, объясняющую, как установить адрес прокси-сервера на устройстве, и заблокировать прямой HTTPS-трафик. После того, как пользователи настроят прокси на своем устройстве, они смогут просматривать веб-страницы в соответствии с вашими правилами.
Да, и это не имеет отношения к вашему вопросу, но рассматривали ли вы возможность использования EAP для аутентификации пользователей (и предоставления открытой сети только для новых пользователей для регистрации и получения их учетных данных EAP) вместо неприятных переадресованных порталов?