¿Cómo configurar un proxy Squid con autenticación básica de nombre de usuario y contraseña? [cerrado]


85

Actualmente uso ip en acl, y quiero usar el nombre de usuario y la contraseña para hacer esto.


Aquí hay otro ejemplo de cómo configurar Squid3 con una autenticación de estilo htdigest
hendry

aquí hay una guía completa para la instalación y configuración de Squid3
hevi

Respuestas:


202

Esto es lo que tuve que hacer para configurar la autenticación básica en Ubuntu 14.04 (no encontré una guía en ningún otro lugar)

Conf básico de calamar

/etc/squid3/squid.conf en lugar del archivo de configuración predeterminado súper hinchado

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

# Choose the port you want. Below we set it to default 3128.
http_port 3128

Tenga en cuenta el programa basic_ncsa_auth en lugar del antiguo ncsa_auth

calamar 2.x

Para squid 2.x necesitas editar el /etc/squid/squid.confarchivo y colocar:

auth_param basic program /usr/lib/squid/digest_pw_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

Configurar un usuario

sudo htpasswd -c /etc/squid3/passwords username_you_like

e ingrese una contraseña dos veces para el nombre de usuario elegido, luego

sudo service squid3 restart

calamar 2.x

sudo htpasswd -c /etc/squid/passwords username_you_like

e ingrese una contraseña dos veces para el nombre de usuario elegido, luego

sudo service squid restart

htdigest vs htpasswd

Para las muchas personas que me preguntaron: las 2 herramientas producen diferentes formatos de archivo:

  • htdigest almacena la contraseña en texto sin formato.
  • htpasswd almacena la contraseña hash (varios algoritmos hash están disponibles)

A pesar de esta diferencia de formato basic_ncsa_auth , aún se podrá analizar un archivo de contraseña generado conhtdigest . Por lo tanto, puede utilizar alternativamente:

sudo htdigest -c /etc/squid3/passwords realm_you_like username_you_like

Tenga en cuenta que este enfoque es empírico, no está documentado y puede que no sea compatible con futuras versiones de Squid.

En Ubuntu 14.04 htdigesty htpasswdambos están disponibles en el [apache2-utils][1]paquete.

Mac OS

Se aplica algo similar al anterior, pero las rutas de los archivos son diferentes.

Instalar calamar

brew install squid

Iniciar servicio de calamar

brew services start squid

El archivo de configuración de Squid se almacena en /usr/local/etc/squid.conf.

Comente o elimine la siguiente línea:

http_access allow localnet

Luego, similar a la configuración de Linux (pero con rutas actualizadas) agregue esto:

auth_param basic program /usr/local/Cellar/squid/4.8/libexec/basic_ncsa_auth /usr/local/etc/squid_passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

Tenga en cuenta que la ruta a basic_ncsa_authpuede ser diferente, ya que depende de la versión instalada cuando se usa brew, puede verificar esto con ls /usr/local/Cellar/squid/. También tenga en cuenta que debe agregar lo anterior justo debajo de la siguiente sección:

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

Ahora genere usted mismo una credencial de autenticación básica de usuario: contraseña (nota: htpasswdy htdigesttambién están disponibles en MacOS)

htpasswd -c /usr/local/etc/squid_passwords username_you_like

Reinicia el servicio de calamar

brew services restart squid

1
Arreglado ahora. Gracias Mark.
Stefano Fratini

11
Para mí, el comando htdigest no funcionó, sin embargo, una vez que lo sustituí por "sudo htpasswd -cd / etc / squid3 / passwords admin", funcionó como se esperaba.
Phil Hannent

1
Eso es lo que pensé incluso si funcionó para mí. Hubo una discusión vinculada a esta publicación con el 50% de las personas diciendo que funciona y el 50% sugiriendo un cambio a htpasswd. Sin embargo, no tenía suficiente reputación para participar en la discusión ... :(
Stefano Fratini

2
funcionó para mí, pero también tuve que usar htpasswd en lugar de htdigest, no sé por qué, pero de esta manera funcionó.
Pisu

21
Si su sistema no lo tiene htpasswd, hágalo sudo apt-get install apache2-utils.
exebook
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.