Эта процедура добавляет Basic-аутентификацию на основе NCSA к прокси Squid 6.13 с ограничением источника. В Debian 13 помощник — /usr/lib/squid/basic_ncsa_auth; проверьте путь и служебную учётную запись своего пакета.

Создать первую учётную запись

Используйте утилиту htpasswd из дистрибутива и введите пароль интерактивно:

sudo htpasswd -c /etc/squid/users proxyuser
sudo chown root:proxy /etc/squid/users
sudo chmod 640 /etc/squid/users

Владение предполагает служебную группу Debian. Squid должен читать файл, другие пользователи — нет. Для последующих аккаунтов опускайте -c: он создаёт новый файл и может заменить существующие записи.

Требовать источник и вход в одной разрешающей записи

Разместите это после существующих защитных правил для портов назначения, управления, localhost и link-local:

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/users
auth_param basic realm PrivateProxy

acl proxy_client src 198.51.100.27/32
acl logged_in proxy_auth REQUIRED

http_access allow proxy_client logged_in
http_access deny all

Замените адрес клиента источником, который видит Squid. Оба условия должны выполняться. Удалите более ранние широкие разрешения клиентов, обходящие правило входа, но сохраните ограничения слушателя и межсетевого экрана.

Проверить синтаксис, перечитать настройки и сравнить два запроса

sudo squid -k parse -f /etc/squid/squid.conf

Исправьте ошибки разбора и до тестирования перечитайте конфигурацию управляемой службы Squid. С разрешённого источника запрос без данных доступа должен получить требование аутентификации. Сравните с авторизованным запросом, используя настоящее имя хоста прокси:

curl --proxy http://proxy.example:3128 --proxy-basic --proxy-user proxyuser --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/

Если указать только имя пользователя, curl запросит пароль. Действительный запрос должен достичь адресата.

Basic-аутентификация не шифрует обмен между клиентом и прокси. Последующий HTTPS адресата не защитит данные доступа, уже отправленные прокси открытым текстом; используйте должным образом защищённый путь. Директивы предназначены для Squid 6.13; для Squid 8 смотрите настройки своей версии.

Похожие статьи