Ограничение пользователей на прокси-сервере 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
это сделает трюк.