Pfsense + Squid + LDAP + ACL BASEADA EM GRUPOS DO AD
-
Ola,
Antes de começar a citar o problema pelo qual estou passando irei demonstrar o cenário atual em que estou utilizando p Pfsense.
1. Pfsense como firewall.
2. Pfsense como proxy + Autenticação LDAPEste cenário está funcionando 100%. A autenticação está funcionando sem problemas.
Problema: ACL BASEADA EM GRUPOS DO AD
Fiz uma busca refinada pelo forum e não encontrei nenhum material relativo a estes item, "Criar acls baseadas em Grupos do AD".
Para tentar corrigir este problema estou utilizando em: Custom Options
external_acl_type GRUPOS ttl=1 children=125 %LOGIN /usr/local/libexec/squid/wbinfo_group.pl;
acl SUPORTE external GRUPOS suporte;A partir disto surgem duas situações:
1. Esta ACL não aparece disponível para o SquidGuard na criação de uma regra de acesso.
2. Mesmo criando a regra de acesso manualmente, a Seleção não funciona. Exemplo: http_access deny SUPORTE Relacionamento;Alguém tem idéia de como fazer isto funcionar corretamente?
Abraço
-
Olá Fábio!
A idéia é usar a autenticação pelo ldap ao invés do winbind. Consegui implementar essa autenticação no squid, mas não sei se há como funcionar no squidguard. Uso a versão 1.2.3 RC1 e preencher os dados da autenticação pela guia "Auth Settings" não funcionou, porque o squid.conf gerado automaticamente não leva o parâmetro -R que eu precisei para o acesso ao ldap do AD funcionar. A solução foi criar uma configuração personalizada incluindo as linhas no campo "custom options" da guia "general settings" do squid. O exemplo a seguir dá acesso limitado a uma lista de domínios a um determinado grupo de usuários e acesso total a outro grupo de usuários. Tudo o que está entre os < > são variáveis do seu ambiente.
1. Antes de tudo crie uma "OU" no seu AD para os usuários e crie dentro da OU os grupos que terão acesso diferenciado, incluindo os usuários nos grupos.
2. crie um arquivo no diretório /usr/local/etc/squid/ contendo os domínios permitidos ao grupo com acesso restrito.
3. A seguir inclua essas linhas no seu squid:
auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -v 3 -R -b dc=<domínio>,dc= <sufixo do="" domínio="">-D cn=<administrador do="" domínio="">,cn=Users,dc=<domínio>,dc= <sufixo do="" domínio="">-w <senha do="" administrador="" domínio="">-f "sAMAccountName=%s" -u uid -P <ip do="" controlador="" de="" domínio="">;external_acl_type ldap_group %LOGIN /usr/local/libexec/squid/squid_ldap_group -R -b "dc=<domínio>,dc=<sufixo do="" domínio="">" -D "cn=<administrador do="" domínio="">,cn=Users,dc=<domínio>,dc=<sufixo do="" domínio="">" -w "<senha do="" administrador="" domínio="">" -f "(&(&(objectClass=person)(sAMAccountName=%u))(memberOf=%g))" -h <ip do="" controlador="" de="" domínio="">;acl <nome da="" acl="" para="" grupo="" com="" acesso="" limitado="">external ldap_group CN=<grupo com="" acesso="" limitado,="" criado="" dentro="" da="" ou="" dos="" usuários="">,OU=<ou dos="" usuários="">,DC=<domínio>,DC=<sufixo do="" domínio="">;acl <nome da="" acl="" por="" domínio="" de="" destino="">dstdom_regex -i "/usr/local/etc/squid/<arquivo contendo="" lista="" de="" domínios="" permitido="">";http_access allow <nome da="" acl="" para="" grupo="" com="" acesso="" limitado=""><nome da="" acl="" por="" domínio="" de="" destino="">;acl <nome da="" acl="" para="" grupo="" com="" acesso="" total="">external ldap_group CN=<grupo com="" acesso="" total,="" criado="" dentro="" da="" ou="" dos="" usuários="">,OU=<ou dos="" usuários="">,DC=<domínio>,DC=<sufixo do="" domínio="">;http_access allow <nome da="" acl="" para="" grupo="" com="" acesso="" total="">4. Salve as configurações, reinicie o squid e teste.Talvez funcione uma ACL do squidguard pelo nome do usuário, na verdade, nunca tentei pelo squidguard.
Espero ter ajudado! Se sim, bom proveito!
Leandro B. de Araújo</nome></sufixo></domínio></ou></grupo></nome></nome></nome></arquivo></nome></sufixo></domínio></ou></grupo></nome></ip></senha></sufixo></domínio></administrador></sufixo></domínio></ip></senha></sufixo></domínio></administrador></sufixo></domínio>
-
Podia especificar melgor como seria esse esquema pois estou quebrando a cabeça para realiza-lo desde já agradeço a atenção e a ajuda
-
Vou tentar esmiuçar as ACLs:
No AD, crie unidades organizacionais(OU) e dentro delas, os grupos de usuários segundo o nível de acesso a ser dado.
Adicione as seguintes linhas no campo "custom options" separando-as por ";"(note que o que está entre "<>" são variáveis que você irá substituir segundo o seu ambiente). Neste exemplo, o squid vai restringir o acesso de um grupo do AD a uma lista de sites listados em um arquivo texto e vai dar acesso total a outro grupo.#Define a autenticação ldap e os parâmetros usados
auth_param basic program <caminho para="" módulos="" do="" squid="">/squid_ldap_auth -v 3 -R -b dc=<subdomínio>,dc= <domínio>–D cn=<administrador do="" ad="">,cn=<users para="" windows="" server="" em="" inglês="" ou="" usuários="" do="" domínio="" português="">,dc=<subdomínio>,dc= <domínio>–w <senha do="" administrador="" ad="">-f "sAMAccountName=%s" -u uid -P <ip do="" controlador="" de="" domínio="">#Define a ACL do tipo external para usar os grupos do AD
external_acl_type ldap_group %LOGIN <caminho para="" módulos="" do="" squid="">/squid_ldap_group -R -b "dc=<subdomínio>,dc=<domínio>" -D
"cn=<administrador do="" ad="">,cn=<users para="" windows="" server="" em="" inglês="" ou="" usuários="" do="" domínio="" português="">,dc=<subdomínio>,dc=<domínio>" -w "<senha do="" administrador="" ad="">" -f "(&(&(objectClass=person)(sAMAccountName=%u))(memberOf=%g))" -h <ip do="" controlador="" de="" domínio="">#Define uma ACL denominada "produtividade" para um grupo que terá acesso restrito.
acl <nome da="" acl1="">external ldap_group CN=<grupo com="" acesso="" restrito="">,OU=<unidade organizacional="">,DC=<subdomínio>,DC= <domínio>#Define uma ACL para acesso restrito aos domínios listados em um arquivo texto
acl <nome da="" acl2="">dstdom_regex -i "<caminho completo="" para="" o="" arquivo="" texto="" que="" contém="" a="" lista="" de="" domínios="">"#Define a diretiva formada pela combinação das ACLs acima definidas (AND lógico).
http_access allow <nome da="" acl1=""><nome da="" acl2="">#Define uma ACL para um grupo com acesso total.
acl <nome da="" acl3="">external ldap_group CN=<grupo com="" acesso="" total="">,OU=<unidade organizacional="">,DC=<subdomínio>,DC= <domínio>#Define a diretiva de acesso total.
http_access allow <nome da="" acl3="">Feito isso, reinicie o squid e ele vai começar a autenticar os usuários no AD.
Espero ter ajudado, mas caso algo não tenha ficado claro, fique à vontade para perguntar.Att,
Leandro.</nome></domínio></subdomínio></unidade></grupo></nome></nome></nome></caminho></nome></domínio></subdomínio></unidade></grupo></nome></ip></senha></domínio></subdomínio></users></administrador></domínio></subdomínio></caminho></ip></senha></domínio></subdomínio></users></administrador></domínio></subdomínio></caminho>
-
Sou novo utilizando o Pfsense, o meu pfsense está 100% funcional funcionando o Failover para os links aqui da empresa.
Tudo certo, porem estou usando o squid para autenticação de maquinas e queria integrar com autenticação do AD no windows 2008 e já realizei muitos testes porem nada funcionou.
E por ser leigo no Pfsense e qualquer plataforma linux/unix, gostaria de saber o processo detalhado para essa configuração ou pelo menos uma explicação para que eu saiba como configurar.
Desde já agradeço