Настройка Squid для доступа по логину и паролю

2 997 посмотрели
Posted by Алексей Нещадим in IT | Tagged , , , , | Leave a comment

Я использую SQUID время от времени в качестве прокси сервера, когда необходимо посетить буржунет, но с моим IP меня туда не пускают. Как и у большинства пользователей у меня динамический белый IP, выдаваемый провайдером. То есть я "цепляюсь" к своему прокси-серверу с разных адресов. В этой связи возникло желание настроить авторизацию для доступа к прокси-серверу без привязки к IP адресу, а по логину и паролю, запрос на ввод которых должен высветиться в окне браузера.

Все эксперименты буду проводить На CentOS 6.4 x86_64. Подробнее как установить и настроить Squid на своем сервере читаем здесь.

Настройка Squid для доступа по логину и паролю.

Чтобы осуществить задуманное преобразуем необходимую часть файла конфигурации "/etc/squid/squid.conf" :

# And finally deny all other access to this proxy
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/internet_users
auth_param basic children 5
auth_param basic realm =My PROXY serveR=
auth_param basic credentialsttl 2 hours
acl internet_users proxy_auth REQUIRED
http_access allow internet_users
http_access deny all

Где,

/usr/lib64/squid/ncsa_auth - путь к программе NCSA аутентификации, может отличаться в зависимости от разрядности операционной системы.

/etc/squid/internet_users - файл с логинами и паролями пользователей (создадим его позже).

children 5 - количество одновременных подключений.

realm =My PROXY serveR= - сообщение для окна приветствия.

credentialsttl 2 hours - время жизни сессий подключившихся пользователей.

acl internet_users proxy_auth REQUIRED - включим запрос логина и пароля для пользователей группы "internet_users".

http_access allow internet_users - разрешаем пользователям группы полный доступ.

http_access deny all - всем остальным запрет.

Как создать список пользователей.

Создаем файл с паролями. Для этого необходимо выполнить следующую команду.

# htpasswd -c /etc/squid/internet_users test
New password: *******
Re-type new password: *******
Adding password for user test

Ключ -с необходимо указывать только один раз, при создании файла с паролями. В последующем добавлять пользователей нужно без этого ключа. Итак, мы получили файл с примерно таким содержимым. Проверим:

# cat /etc/squid/internet_users
test:E/7.lLmySYs.M

Где test - имя пользователя, а E/7.lLmySYs.M - хеш его пароля.

Аналогично, при необходимости, добавляем других пользователей:

# htpasswd /etc/squid/internet_users test2
New password: *******
Re-type new password: *******
Adding password for user test2

И смотрим записи:

cat /etc/squid/internet_users
test:E/7.lLmySYs.M
test2:E/7.lLmySYs.M

После того как мы завели пользователей необходимо выставить соответствующие права на файл "/etc/squid/internet_users".

# chmod 440 /etc/squid/internet_users
# chown squid:squid /etc/squid/internet_users

Перегружаем squid:

#service squid restart

Проверка аутентификации Squid.

Наслаждаемся полученным результатом. При подключении через прокси-сервер браузер выведет окно запроса логина и пароля авторизации.

Добавить комментарий