Ограничение пользователей на прокси-сервере Squid

Я только что создал прокси-сервер на основе Squid, который прекрасно работает с конфигурацией по умолчанию. Однако я не хочу, чтобы это было доступно всем. Я хочу настроить доступ к имени пользователя и паролю на Squid. Мне сообщили, что это относительно просто. До сих пор я сделал следующее:

sudo htpasswd -c /etc/squid/passwd A    

And added the following to  /etc/squid/squid.conf 
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd

acl AUser proxy_auth A
http_access allow AUser

Я считаю, что это правильный подход? Сначала я получил сообщение об ошибке "не могу использовать прокси-аутентификацию, потому что схемы аутентификации полностью не настроены", но я решил эту проблему, поместив строку базовой программы auth_param... перед строкой acl. Однако, когда я перезапустил службу squid и ввел IP-адрес и порт прокси-сервера в мой браузер (Chrome), он не смог загрузить страницу или действительно запросить имя пользователя / пароль. Затем я отследил это до того факта, что в файле squid.conf не должно быть "http_access deny all". Я не уверен, что это лучшая установка или действительно я создаю какие-либо проблемы с безопасностью, однако сейчас мне кажется, что она работает нормально.

Большое спасибо!

2 ответа

Решение

Вам просто нужно проверить документацию по аутентификации для Squid, которая доступна на

http://wiki.squid-cache.org/Features/Authentication

Существует множество методов аутентификации, доступных в squid, и все хорошо документировано в приведенной выше ссылке. Пройдите через него и выберите подходящий для вас.

Просто наткнулся на этот старый пост, когда я столкнулся с той же проблемой. Я верю, что нет необходимости комнетить или отключить "http_access deny all". Все, что вам нужно сделать, это вместо того, чтобы указывать однопользовательский Undre ACL, указать более широкую группу. Что-то вроде

acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

Вот некоторые дополнительные настройки для авторизации.

#This line defines the file holding the authentication details and also the program to check those details
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/password

#Define the maximum number of child process to spawn for authentication
auth_param basic children 5

#user will see this message "Squid proxy-caching web server" in authentication box
auth_param basic realm Squid proxy-caching web server

#time to live after a successful authentication
auth_param basic credentialsttl 2 hours

#to make username case insensitive
auth_param basic casesensitive off

это сделает трюк.

Другие вопросы по тегам