Очень простая авторизация в Squid

Иногда может потребоваться чтобы доступ к интернету через Squid предоставлялся не на основе ip адреса или доменного имени, а на основе введённого логина и пароля

Например сотрудники часто работают на чужих компьютерах, или требуется подключиться к собственному прокси серверу из интернета

К томуже, после авторизации заполняется 8 поле access.log и по этому полую можно однозначно идентифицировать того кто пользовался каналом

При этом, не теряется возможности ограничения доступа по IP или доменному имени

Для самой простой авторизации необходимо, создать файл с учётными записями и добавить пару строчек в squid.conf

Создание файла с учётными записями на основе паролей apache

htpasswd -c  /etc/squid/passwd ffsdmad # создать первую учётку для ffsdmad
htpasswd  /etc/squid/passwd katya # создать вторую учётку для katya

В squid.conf необходимо добавить

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd # пути до утилиты авторизации + файл с паролями
auth_param basic children 5 # количество потомков
auth_param basic realm ffsdmad proxy server  # приветствие в запросе логина/пароля
auth_param basic credentialsttl 2 hours # на 2 часа выдаётся авторизация

теперь acl squid`a

acl auth proxy_auth REQUIRED
acl LocalNet src ffsdmad katya # тут список адресов, dns или IP
# acl LocalNet src "/etc/squid/users.txt # либо можно использовать файл с таким списком
acl all src 0.0.0.0/0.0.0.0
............
http_access allow LocalNet
http_access allow  auth
http_access deny all

как видите,  в первую очеред разрешён доступ всем из списка LocalNet, а остальные должны быть либо авторизованными либо будут получить код 401

Комментариев 0
Нужна авторизация с помощью
Об авторе
Илья Илья

меня можно найти тут