Ця процедура додає 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 дивіться налаштування відповідної версії.

Схожі статті