Integração do SquidGuard com Active Directory usando Pfsense



Pessoal, vou colocar aqui de forma resumida as configuraçoes que fiz no PfSense para que ele funcionasse a integração do SquidGuard com AD Windows 2012 R2.

Versão do PfSense que eu usei:

Version2.3.4-RELEASE (amd64)
built on Wed May 03 15:13:29 CDT 2017
FreeBSD 10.3-RELEASE-p19 

AD: Windows Server 2012 R2

Pacotes instalados no pfsense:

squidGuard 1.16.2
squid         3.5.26  0.4.37




Configurações:



1) Package / Proxy Server / Authentication 



Em: Squid Authentication General Settings

Authentication Method: LDAP
Authentication Server: IP DO SEU AD
Authentication server port: 389
Authentication Processes: 10
Authentication TTL: 480











 Em Squid Authentication LDAP Settings:

LDAP version: 3
LDAP Server User DN: CN=pfsense,CN=Users,DC=empresa,DC=local
LDAP Password: ***sua senha****
LDAP Base Domain: DC=empresa,DC=local
LDAP Username DN Attribute: uid
LDAP Search Filter: sAMAccountName=%s






Em: SquidGuard General Settings:
Em: LDAP Options

Enable LDAP Filter: [x] marque essa opção
LDAP DN: CN=pfsense,CN=Users,DC=empresa,DC=local
LDAP DN Password: ***sua senha****
Strip NT domain name: [ ] não marque
Strip Kerberos Realm: [ ] não marque
LDAP Version:  Version 3










Como criar uma ACL de grupo baseado no grupo do AD:
Em Groups ACL: 


Client (source):

ldapusersearch ldap://192.168.96.249/DC=empresa,DC=local?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=grupo1%2cCN=Users%2cDC=empresa%2cDC=local))











Dica 1: Para testar via ssh no Pfsense se a autenticação está funcionando, você pode utilizar o seguinte comando conforme abaixo substituindo apenas as informações de acordo com o seu cenário: 

/usr/local/libexec/squid/basic_ldap_auth -v 3 -b dc=empresa,dc=local -D cn=pfsense,cn=Users,dc=empresa,dc=local -w suasenha_2017 -f "sAMAccountName=%s" -u uid -P 192.168.96.249:389

Dica 2:

Quando estiver com dúvidas em relação ao DN, etc vá até o Windows e veja com ADSI Editor conforme mostra imagem abaixo. Dessa forma, você vai poder copiar e colar evitando assim erros de digitação.





Dica 3: Caso esteja com problemas mesmo com todas essas dicas, tente verificar como estão suas senhas. Nesse momento de teste ou homologação tente usar senhas que não contenham caracteres especiais como @ %$.;/][  nos meus testes eu usei senhas com underline e funcionou normalmente.


Dica 4: Em alguns ambientes precisa ser adicionado o parâmetro "-R"
/usr/local/libexec/squid/basic_ldap_auth -R -b "dc=dentorad,dc=dentor,dc=com" -D "pfsense@dentorad.grupodentor.com" -w "pass123" -f sAMAccountName=%s -h srv.dentorad.grupodentor.com

Dica 5: Tenta também usar o filtro de grupos colocando a porta 3268, dessa forma:
ldapusersearch ldap://103.1.73.10:3268/DC=meu,DC=dominio,DC=com?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=DIRETORIA%2cOU=DIRETORIA%2cDC=meu%2cDC=dominio%2cDC=com))

Comentários