Назад | Перейти на главную страницу

Как правильно настроить squid как прозрачный прокси с аутентификацией

Я успешно настроил iptables и squid, теперь пытаюсь запустить проверку подлинности прокси. Мой файл squi.conf выглядит следующим образом:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/proxy_users
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32

acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.7.0/24
acl passwd proxy_auth REQUIRED

http_access allow localnet passwd
http_access allow localhost
http_access deny all

Так. Согласно книге. Это работает до тех пор, пока я запускаю браузер, он выдает мне по запросу страницу «Доступ запрещен». Но у меня нет возможности подтвердить свою подлинность! Я слышал, что может быть Firefox автоматически передаст любого пользователя, что, конечно, будет отклонено.

Как заставить браузер открывать окно аутентификации?

Мне жаль. Прозрачный означает, что браузер перенаправляется на прокси-сервер, не зная об этом. Это означает, что в браузере не настроен прокси-сервер, следовательно, не настроена проверка подлинности прокси. Более того, HTTP, используемый для взаимодействия с прокси-сервером, отличается от того, который используется в обычном браузере - разговоре с веб-сервером.

Как именно вы пытаетесь выполнить аутентификацию, смешанную с прозрачным прокси? Я сразу же подумал об этом, проверил Google и подтвердил это. Куда ни глянь, везде написано, что это невозможно.

http://wiki.squid-cache.org/SquidFaq/InterceptionProxy#Why_can.27t_I_use_authentication_to together_with_interception_proxying.3F

Проксирование перехвата работает с активным агентом (прокси) там, где его не должно быть. Браузер не ожидает, что он будет там, и для всех эффектов и целей его обманывают или, в лучшем случае, путают. Как пользователь этого браузера, я бы потребовал, чтобы он не выдавал никаких учетных данных неожиданной стороне, вы согласны? Особенно, когда пользовательский агент может делать это без уведомления пользователя, как это могут делать браузеры Microsoft, когда прокси-сервер предлагает любую из схем проверки подлинности, разработанных Microsoft, например NTLM (см. ../ProxyAuthentication и Возможности / NegotiateAuthentication).

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


http://www.squid-cache.org/Versions/v2/2.7/cfgman/auth_param.html

ВНИМАНИЕ: аутентификация не может использоваться в прокси-сервере с прозрачным перехватом, поскольку клиент думает, что он обращается к исходному серверу, а не к прокси-серверу. Это ограничение изменения протокола TCP / IP для прозрачного перехвата порта 80, а не ограничение в Squid.

Ваш IP-адрес отклоняется, поскольку разрешены только localnet и localhost. Так что добавьте еще один acl с вашим IP или диапазоном IP. acl myisp src your.ip.goes.here

http_access allow myisp passwd

Затем перезапустите, и вам будет предложено ввести имя пользователя и пароль.

Для дальнейшего использования проверьте /var/log/squid/access.log на случай будущих ошибок аутентификации squid.

Вы не можете.

http://www.cyberciti.biz/faq/squid-proxy-authentication-in-transparent-mode/

Если ваша проблема заключается в автоматической настройке клиентов, проверьте WPAD.