Como configurar um proxy squid com autenticação básica de nome de usuário e senha? [fechadas]

88

Eu atualmente uso ip em acl e quero usar nome de usuário e senha para fazer isso.

www
fonte
Aqui está outro exemplo de como configurar o Squid3 com uma autenticação de estilo htdigest: dabase.com/blog/Minimal_squid3_proxy_configuration
hendry
aqui está um guia completo para instalação e configuração do Squid3
hevi

Respostas:

205

Aqui está o que eu tive que fazer para configurar a autenticação básica no Ubuntu 14.04 (não encontrei um guia em nenhum outro lugar)

Configuração básica do squid

/etc/squid3/squid.conf em vez do arquivo de configuração padrão super inchado

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

Observe o programa basic_ncsa_auth em vez do antigo ncsa_auth

lula 2.x

Para o squid 2.x você precisa editar o /etc/squid/squid.confarquivo e 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

Configurando um usuário

sudo htpasswd -c /etc/squid3/passwords username_you_like

e digite uma senha duas vezes para o nome de usuário escolhido e

sudo service squid3 restart

lula 2.x

sudo htpasswd -c /etc/squid/passwords username_you_like

e digite uma senha duas vezes para o nome de usuário escolhido e

sudo service squid restart

htdigest vs htpasswd

Para as muitas pessoas que me perguntaram: as 2 ferramentas produzem formatos de arquivo diferentes:

  • htdigest armazena a senha em texto simples.
  • htpasswd armazena o hash da senha (vários algoritmos de hash estão disponíveis)

Apesar dessa diferença de formato basic_ncsa_auth , ainda será possível analisar um arquivo de senha gerado comhtdigest . Portanto, você pode usar alternativamente:

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

Esteja ciente de que esta abordagem é empírica, não documentada e pode não ser suportada por versões futuras do Squid.

No Ubuntu 14.04 htdigeste htpasswdambos estão disponíveis no [apache2-utils][1]pacote.

Mac OS

Semelhante ao anterior se aplica, mas os caminhos dos arquivos são diferentes.

Instale o squid

brew install squid

Iniciar serviço de squid

brew services start squid

O arquivo de configuração do Squid está armazenado em /usr/local/etc/squid.conf.

Comente ou remova a seguinte linha:

http_access allow localnet

Em seguida, semelhante à configuração do Linux (mas com caminhos atualizados) adicione isto:

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

Observe que o caminho para basic_ncsa_authpode ser diferente, pois depende da versão instalada ao usar brew, você pode verificar isso com ls /usr/local/Cellar/squid/. Observe também que você deve adicionar o acima logo abaixo da seguinte seção:

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

Agora gere para você mesmo uma credencial de autenticação básica usuário: senha (observação: htpasswde htdigesttambém estão disponíveis no MacOS)

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

Reinicie o serviço squid

brew services restart squid
Stefano Fratini
fonte
1
Corrigido agora. Obrigado Mark.
Stefano Fratini
11
Para mim, o comando htdigest não funcionou, no entanto, depois de substituí-lo por "sudo htpasswd -cd / etc / squid3 / passwords admin", ele funcionou conforme o esperado.
Phil Hannent,
2
Foi o que pensei, mesmo que funcionasse para mim. Houve uma discussão ligada a este post com 50% das pessoas dizendo que funciona e 50% sugerindo uma mudança para o htpasswd. Eu não tinha reputação suficiente para participar da discussão ... :(
Stefano Fratini
2
funcionou para mim, mas também tive que usar htpasswd em vez de htdigest, não sei por que, mas desta forma funcionou.
Stefano
23
Se o seu sistema não tiver htpasswd, faça sudo apt-get install apache2-utils.
exebook de