Estou trabalhando em um proxy Squid que precisa autenticar usuários em um domínio do Active Directory; isso funciona bem, o Samba foi configurado corretamente e o Squid autentica os usuários via ntlm_auth
. Linhas relevantes no squid.conf:
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm keep_alive on
acl Authenticated proxy_auth REQUIRED
http_access allow Authenticated
http_access deny all
Agora, preciso permitir o acesso a usuários que não possuem uma conta de domínio. Eu sei que poderia criar uma conta de "usuário da Internet" no domínio, mas isso permitiria acesso, embora limitado, aos recursos do domínio (compartilhamentos de arquivos, etc.); Preciso de algo que permita apenas acesso à Internet.
A solução ideal seria usar uma conta local no servidor proxy, seja uma conta Linux ou Squid; Eu sei que o Squid suporta isso, mas não consigo usá-loambosautenticação de domínio e autenticação Squid/local se a autenticação de domínio não for bem-sucedida.
Isso pode ser feito? Como?
Responder1
Agora, preciso permitir o acesso a usuários que não possuem uma conta de domínio. Isso pode ser feito?
Sim.
Como?
Você pode usar um auxiliar ACL "externo", que permite implementar seu próprio mecanismo. Veja oEntrada "Fonte Múltipla" do Squid wikipara mais detalhes. Este pedaço de pseudocódigo foi retirado diretamente daí:
auth_param basic program /usr/local/bin/my-auth.pl
external_acl_type myAclType %SRC %LOGIN %{Proxy-Authorization} /usr/local/bin/my-acl.pl
acl MyAcl external myAclType
http_access allow MyAcl
... onde my-auth.pl é um script perl que executa a autenticação real e retorna OK
ou ERR
como resultado.
Responder2
crie um usuário de domínio restrito (OU isolada). do squid, crie uma autenticação ldap do squid que permitirá ao usuário usar a internet.