SQUID авторизация по логину и паролю (ncsa)
Раздел(ы): GNU Linux - CentOS / Debian
Просмотры: 39008
Комментарии: 1
Я использую прозрачный прокси сервер 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.
Полезные ссылки
При написании статьи были использованы следующие источники:
че то авторизацию не просит… сделал по статье…