Добавить Basic-аутентификацию к прокси Squid 6.13
Настройте NCSA-помощник Squid 6.13, объедините разрешённый IP клиента с действующим входом и поймите, что защищает Basic.
Эта процедура добавляет 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 смотрите настройки своей версии.