Настройка авторизации в Squid
В примере для локальной сети, о которой я писал в Настройка прокси сервера Squid, доступ предоставлялся в зависимости от ip адреса пытающегося выйти в интернет через прокси. Но бывают такие ситуации, когда полагаться на ip адрес нельзя. В этой ситуации нужно настраивать авторизацию по логину и паролю.
Для настройки авторизации не понадобится пересобирать, все опции для базовой авторизации включены по умолчанию.
Поэтому, сразу приступаем к настройке.
В /usr/local/etc/squid/squid.conf (в качестве базовой установки я использую упомянутую выше статью и все изменения делаются относительно приведенного в той статье конфига) нужно внести такие изменения:
Где то в начале внести описание программы авторизации и ее параметров
auth_param basic program /usr/local/libexec/squid/ncsa_auth /usr/local/etc/squid/passwd auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off
Эти строки, последовательно, определяют тип используемой программы для авторизации, количество запущенных экземпляров программы проверки авторизации, время жизни авторизации и реагирование на регистр вводимых символов. В первой строке определяется так же файл который содержит логины и пароли на доступ к проксе. Создать этот файл можно либо с помощью htpasswd из пакета Apache, либо воспользовавшись моим рецептом: Скрипт для замены htpasswd
Далее определим права на доступ, для этого вместо acl описывающий локальную сеть
acl localnet src 192.168.0.0/24
заменим на acl описывающий прошедших авторизацию
acl password proxy_auth REQUIRED
И теперь, вместо строки разрешающей доступ к интернет локальной сети, вписать разрешение на доступ авторизованным пользователям. То есть вместо:
http_access allow localnet
вписать
http_access allow password
После этого остается перезапустить Squid. Настройка закончена.




By Andrey, 25.12.2009 @ 14:46
Ещё можно вместо ip сделать авторизацию по MAC адресу!
Юзеру надоест постоянно вводить логин и пароль!