Squid Session Authentication
Я установил Squid Transparent с помощником Session External [1]. Затем я создал страницу входа в PHP, и пользователь может войти с его именем пользователя, паролем. Но проблема в том, что при входе пользователя через его правильную информацию другие люди могут войти с IP-адресом авторизованного пользователя. Это означает, что это начало сеанса для IP, и все люди, которые знают его IP, могут использовать Интернет. Как я могу ограничить пользователя? Есть ли в squid acl для привязки IP и имени пользователя? Или мы должны использовать PHP Session для ограничения сеанса в браузере? Если да, как я могу связаться с сервером клиенту, чтобы проверить, активен ли сеанс или нет?
[1] http://www.andybev.com/index.php/Setting_up_a_captive_portal_from_scratch_using_Debian
Спасибо за вашу помощь!
1 ответ
Прокси-сервер не может быть одновременно прозрачным и получать метаданные, которые позволили бы ему установить более сильную связь между пользователем и трафиком, чем та, которая основана на IP-адресе. Неясно, откуда вы ожидаете получить имя пользователя, а система ACL, которую вы настроили (как это типично для squid), поддерживает только фильтрацию IP-адресов.
Если вы не можете гарантировать, что пользователи имеют уникальные IP-адреса и не используют спуфинг (рассмотрите возможность перекрестной проверки IP-адресов с MAC-адресами на брандмауэре, чтобы предотвратить попадание спуф-пакетов на ваш сервер squid), вы можете использовать систему, которая у вас есть.