Este procedimento adiciona autenticação Basic baseada em NCSA a um proxy Squid 6.13 com restrição de origem. O auxiliar do Debian 13 é /usr/lib/squid/basic_ncsa_auth; confirme o caminho e a conta de serviço do seu pacote.

Criar a primeira conta

Use o utilitário htpasswd da distribuição e informe a senha interativamente:

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

A propriedade pressupõe o grupo de serviço do Debian. O Squid precisa ler o arquivo; outros usuários não devem. Para contas posteriores, omita -c, que cria um arquivo novo e pode substituir entradas existentes.

Exigir origem e login na mesma regra de permissão

Coloque estas linhas depois das proteções existentes para portas de destino, administração, localhost e endereços 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

Substitua o endereço do cliente pela origem observada pelo Squid. Ambas as condições precisam corresponder. Remova permissões amplas de clientes anteriores que ignorariam a regra de login, mantendo as restrições do listener e do firewall.

Analisar, recarregar e comparar duas solicitações

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

Corrija erros de análise e recarregue o serviço Squid gerenciado antes de testar. De uma origem permitida, uma solicitação sem credenciais deve receber um desafio de autenticação. Compare com uma solicitação autorizada, usando o hostname real do proxy:

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

Informar só o usuário faz o curl pedir a senha. Uma solicitação válida deve alcançar o destino.

A autenticação Basic não criptografa a troca entre cliente e proxy. O HTTPS posterior do destino não protege credenciais já enviadas a um proxy em texto claro; use um caminho devidamente protegido. Estas diretivas são para o Squid 6.13; para o Squid 8 consulte a configuração específica da versão.

Artigos relacionados