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

Ограничение пользователей на прокси-сервере 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 basic program ... перед строкой acl. Однако, когда я перезапустил службу squid и ввел IP-адрес и порт прокси-сервера в свой браузер (Chrome), он не смог загрузить страницу или действительно запросить имя пользователя / пароль. Затем я отследил это до того факта, что у меня не должно быть «http_access deny all» в файле squid.conf. Я не уверен, что это лучшая установка или действительно ли я создаю какие-либо проблемы с безопасностью, но, похоже, сейчас у меня все работает нормально.

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

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

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

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

Просто наткнулся на этот старый пост, когда столкнулся с той же проблемой. Я считаю, что нет необходимости устанавливать связь или отключать "http_access deny all". Все, что вам нужно сделать, это вместо того, чтобы указывать 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

это поможет.