Este procedimiento añade autenticación Basic respaldada por NCSA a un proxy Squid 6.13 restringido por origen. El auxiliar de Debian 13 es /usr/lib/squid/basic_ncsa_auth; confirma la ruta y la cuenta de servicio de tu paquete.

Crear la primera cuenta

Usa la utilidad htpasswd de la distribución e introduce la contraseña de forma interactiva:

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

La propiedad supone el grupo de servicio de Debian. Squid necesita leer el archivo; otros usuarios no deben hacerlo. Para cuentas posteriores, omite -c, que crea un archivo nuevo y puede reemplazar entradas existentes.

Exigir origen e inicio de sesión en la misma regla de permiso

Coloca estas líneas después de las protecciones existentes de puertos de destino, administración, localhost y direcciones de enlace 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

Sustituye la dirección cliente por el origen que observa Squid. Deben cumplirse ambas condiciones. Quita permisos amplios de clientes anteriores que evitarían la regla de autenticación, manteniendo las restricciones de escucha y cortafuegos.

Analizar, recargar y comparar dos solicitudes

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

Corrige los errores del analizador y recarga el servicio Squid administrado antes de probar. Desde un origen permitido, una solicitud sin credenciales debería recibir un desafío de autenticación. Compara con una solicitud autorizada usando el nombre real del proxy:

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

Dar solo el usuario permite que curl pida la contraseña. Una solicitud válida debería llegar al destino.

Basic no cifra el intercambio entre cliente y proxy. El HTTPS posterior del destino no puede proteger credenciales ya enviadas a un proxy en texto claro; usa una ruta debidamente protegida. Estas directivas son para Squid 6.13; para Squid 8 consulta su configuración específica.

Artículos relacionados