SQUID авторизация по логину и паролю (ncsa)

 21 августа 2013      
 GNU Linux - CentOS / Debian      
 Комментариев еще нет      
 26822

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

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

В статье описана настройка squid прокси сервера на CentOS 6.4 x86_64. О том как происходит установка squid прокси на CentOS можно почитать в моей статье.

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 — всем остальным запрет.

Пользователи squid

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

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

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

# cat /etc/squid/internet_users
test:YVcmD1sGsHmeY

Где test — имя пользователя squid, а YVcmD1sGsHmeY — хеш его squid пароля.

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

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

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

# cat /etc/squid/internet_users
test:YVcmD1sGsHmeY
test2:vFAMkdtorWfLw

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

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

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

# service squid restart

Squid proxy проверка работы

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

Не забудьте настроить браузер — https://moonback.ru/page/squid для корректной работы squid.

Полезные ссылки

При написании статьи были использованы следующие источники:

  1. http://interface31.ru/tech_it/2010/12/ubuntu-server-nastraivaem-avtorizaciyu-cherez-squid.html
  2. http://www.sys-adm.org.ua/www/squid-ncsa
  3. http://debian.tom.ru/squid3-nastraivaem-avtorizatsiyu-po-imeni-i-parolyu-squid-ncsa/

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" я даю свое согласие на обработку введенной мной персональной информации в соответствии с Федеральным Законом от 27.07.2006 №152-ФЗ "О персональных данных", на условиях и для целей определенных политикой конфиденциальности.

Технический блог © 2017
SQL - 63 | 0,232 сек. | 10.33 МБ
Политика конфиденциальности