Tutorial - SquidGuard + LdapGroup (permissão por grupo no ad)
-
Bom dia,
Primeiramente gostaria de parabenizar ao Luiz Gustavo, marcelloc e os demais amigos que diretamente ou indiretamente contribuem com este tópico, li todo o tópico e outros mais e neles compreendi algumas configurações, mas não consigo bloquear o acesso dos usuários dos grupos no AD (no meu caso Active Directory microsoft) por gentileza analisem meu cenário.
Meu cenário:
1 - windows 2008 server R2, nível funcional da floresta esta na versão R2 (AD + DNS)
2 - Pf Sense 2.0.3 i386 (squid 2.0.3 i386 + SquidGuard 1.4_4 pkg v.1.9.5)
minha autenticação com squid esta funcionando normalmente, em testes, os bloqueios (em group ACL) no squid guard, funcionam normalmente por ip, mas quando habilito o filtro LDAP (general settings) no squidguard, utilizando o mesmo usuário utilizado nas configurações de autenticação do squid,(cn=usuario,cn=Users,dc=dominio,dc=com) também deixo habilitado:
check box: Strip NT domain name
check box: Strip Kerberos Realm,
LDAP Version: version 3No squid guard em (group ACL) crio um grupo com o nome idêntico ao nome do grupo criado no AD, no meu caso criei um grupo chamado 'teste', em Client (source) coloco a informação:
ldapusersearch ldap://192.168.0.236/DC=dominio,DC=com?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=teste%2cCN=Seguranca%2cCN=Grupos%2cDC=dominio%2cDC=com))
(e marco em target rules o tipo de conteúdo que quero bloquear para este grupo)
Considerações:
No meu caso o grupo 'teste' esta neste caminho "dominio.com/Grupos/Seguranca/teste", ou seja dentro de duas 'OU' , no grupo 'teste' tenho dois usuários, o meu usuário, e também o usuário utilizado para autenticar no AD o squid e o squidGuard, estes usuários fazem parte de outros grupos também não sei se isto seria um problema.
Com este cenário no teste de navegação a conexão passa normalmente (não bloqueia), quando executo (via ssh):
tail /var/squid/logs/cache.logele me retorna isto:
2013-08-27 11:24:30 [60130] New setting: ldapprotover: 3
2013-08-27 11:24:30 [60130] syntax error in configfile /usr/local/etc/squidGuard
/squidGuard.conf line 13
2013-08-27 11:24:30 [60130] Going into emergency mode
2013/08/27 11:24:30| Accepting proxy HTTP connections at 192.168.0.8, port 3128,olhando o arquivo /usr/local/etc/squidGuard/squidGuard.conf :
============================================================
SquidGuard configuration file
This file generated automaticly with SquidGuard configurator
(C)2006 Serg Dvoriancev
email: dv_serg@mail.ru
============================================================
logdir /var/squidGuard/log
dbhome /var/db/squidGuard
ldapbinddn cn=saocamilo,cn=Users,dc=gruposaocamilo,dc=com
ldapbindpass saocamilo
ldapprotover 3
stripntdomain true
striprealm truesrc teste {
ldapusersearchAlguém teve este mesmo problema? Aos amigos Luiz Gustavo e marcelloc se lerem sobre meu caso, estou configurando algo de errado ou esquecendo algo?
Dede já grato pela ajuda de todos,
Att.
-
o arquivo de configuração do squidguard, na linha do ldapsearch, esta em branco o restante ou cortou na hora de colar a conf aqui no forum ?
ta incompleto o .conf
não tem quebra de linha lá no formulário do pfsense não né ?
se tiver, ai que esta o problema.
-
Boa tarde,
obrigado pelo seu tempo, na verdade não selecionei até onde deveria segue novamente:
============================================================
SquidGuard configuration file
This file generated automaticly with SquidGuard configurator
(C)2006 Serg Dvoriancev
email: dv_serg@mail.ru
============================================================
logdir /var/squidGuard/log
dbhome /var/db/squidGuard
ldapbinddn cn=saocamilo,cn=Users,dc=gruposaocamilo,dc=com
ldapbindpass saocamilo
ldapprotover 3
stripntdomain true
striprealm truesrc teste {
ldapusersearch ldap://192.168.0.236:3268/DC=dominio,DC=com?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=teste%2cCN=Seguranca%2cCN=Grupos%2cDC=dominio%2cDC=com))
}dest blk_BL_adv {
domainlist blk_BL_adv/domains
urllist blk_BL_adv/urls
}Estou abrindo o squidGuard.conf no notepad ++ e esta linha ao qual você esta se referindo esta na mesma linha.
O possível problema relatado no log /var/squid/logs/cache.log:
2013-08-27 11:24:30 [60130] syntax error in configfile /usr/local/etc/squidGuard
/squidGuard.conf line 13não tem nada haver? Posso estar falando besteria mas a linha 13 no squidguard.conf não seria a linha "stripntdomain true" que acredito ser uma das check box que tenho que marcar na tela 'General settings', ou estou equivocado?
Poderia por gentileza me passar quais comandos posso utilizar via linha de comando para listar os usuários que o SquidGuard esta buscando no AD, para verificar se realmente ele esta buscando no AD,
Obrigado
Att.
-
Por favor, alguém esta com este mesmo problema e ja teve e conseguiu resolver?
pelo que andei lendo a versão do squidgard parece que foi atualizada e esta função esta apresentando defeito, ja reistalei do zero e não funciona, testei até a versão 2.1 e tambem não funcionou, qualquer ajuda sera muito bem vinda.
Obrigado
Att.
-
Seguinte,
Realmente tem um problema na aplicação do patch na hora do build do pacote lá no servidores do projeto, já conversei sobre isso com o Jimp (um dos mantenedores da estrutura) e nós vamos verificar isso.
Por enquanto, atualize o pacote pelo os meus arquivos:
http://www.mundounix.com.br/~gugabsd/pfsense/ports-8.1/packages-amd64/All/squidGuard-1.4_4.tbz http://www.mundounix.com.br/~gugabsd/pfsense/ports-8.1/packages-i386/All/squidGuard-1.4_4.tbz
basta executar na linha de comando, por exemplo para amd64:
pkg_delete squidGuard-1.4_4 pkg_add -r http://www.mundounix.com.br/~gugabsd/pfsense/ports-8.1/packages-amd64/All/squidGuard-1.4_4.tbz
Esses estão ok para o pfsense 2.0.3, para o 2.1, eu tenho que gerar ainda um .pbi, no caso vou tentar ainda ver com o Jimp e já atualiza-mos tudo no repo oficial.
Abraços
-
Luiz Gustavo,
obrigado pela ajuda, agora deu tudo certo, excelente recurso, mais uma vez obrigado.
Um abraço,
Att. :D
-
Fiz um teste no 2.1, parece que a função LDAP não está funcionando bem.
Na primeira aba aparece que está rodando, porém no log diz```
squidGuard stopped (1379707837.345)Não consigo bloquear os usuários e pelo visto é que ele realmente não esta rodando, mesmo o processo estando executando e startado na interface gráfica.
-
só pra constar aqui.
eu estou usando o pfSense 2.1 com squid3-dev e squidguard-squid3. Mesmo em versões anteriores eu não conseguia fazer o squidguard autenticar os grupos do AD. Sempre que eu habilito o ldap search o proxy não bloqueia mais nada, além de não pegar os grupos do ad também.Entretanto eu decidi testar o script do marcelloc e funcionou perfeitamente!
só vou deixar aqui uma saída do script que apareceu quando eu o executei, a fim de poder contribuir para a manutenção do script (caso isso seja um erro mesmo):Warning: Invalid argument supplied for foreach() in /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidguard_ldap.php on line 40
no mais, só alegria! muito obrigado pela contribuição de vocês!
-
@UnDr3aD:
só vou deixar aqui uma saída do script que apareceu quando eu o executei, a fim de poder contribuir para a manutenção do script (caso isso seja um erro mesmo):
Não precisa se preocupar, durante a pesquisa no ad, alguns loops voltam vazio sem atrapalhar o resultado final.
Dica: Não crie usuários com caracteres especiais, pode deixar o xml do pfsense "doidão" e forçar um restore automático de configuração.
-
@UnDr3aD:
só vou deixar aqui uma saída do script que apareceu quando eu o executei, a fim de poder contribuir para a manutenção do script (caso isso seja um erro mesmo):
Não precisa se preocupar, durante a pesquisa no ad, alguns loops voltam vazio sem atrapalhar o resultado final.
Dica: Não crie usuários com caracteres especiais, pode deixar o xml do pfsense "doidão" e forçar um restore automático de configuração.
OK.
Os usuário do meu AD são normalizados, logo, não tenho problemas com a importação.Queria ver o seguinte:
tem como fazer a busca de forma recursiva? Pois tenho grupos dentro de grupos em algumas situações. (Na verdade eu acho que nem vou usar os "supergrupos" nas acl's, mas pro caso de haver essa necessidade em algum momento…)E também o seguinte, notei que ele importa membros do grupo que foram desativados. Tem como importar só os ativos? (mas isso aqui é menos importante! no treta)
-
No dansguardian você pode definir que código de usuários quer importar, mas neste php não coloquei isso.
O código pesquisa o nome do grupo em qualquer nível da árvore (acredito eu) mas só puxa usuários com no máximo um nivel a mais.
Grupo com usuários dentro de um grupo ok. Mais que isso ainda não. -
Prezados.
Tem algo estranho com o meu. Fiz toda a integração tudo certo.. está trazendo os usuarios e tudo mais. No entanto, criei um grupo chamado padrao e efetuei os bloqueis.
Para todos os usuarios desse grupo o sistema não esta validando a senha.
São 3 grupos (Basico, Padrao e Completo)
alguma orientação…
-
ai pessoal,
estou com esse erro abaixo, porem já tinha montado ambientes com a mesma configuração e agora não estou sabendo mais o que fazer… Alguma luz ai no fim do tunel?
php -q squidguard_ldap.php
Group : G_TESTEWarning: ldap_bind(): Unable to bind to server: Strong(er) authentication required in /root/squidguard_ldap.php on line 56
Could not bind to LDAP -
ai pessoal,
estou com esse erro abaixo, porem já tinha montado ambientes com a mesma configuração e agora não estou sabendo mais o que fazer… Alguma luz ai no fim do tunel?
php -q squidguard_ldap.php
Group : G_TESTEWarning: ldap_bind(): Unable to bind to server: Strong(er) authentication required in /root/squidguard_ldap.php on line 56
Could not bind to LDAPBom pessoas, apesar de do meu problema não apresentar nenhuma mensagem de erro no eventviewer no AD, acabei descobrindo o problema e resolvi o problema.
-
esta olhando o topico e gostei, andei lendo sobre tentei aplicar mas deu estes erro
tch -p0 < /tmp/squidguard-ldap-search.patch
Hmm… Looks like a unified diff to me...
The text leading up to this was:|diff -r 0c5de7d2cc4f squidguard.inc
|--- ./squidguard.inc Wed Feb 08 11:10:19 2012 -0200+++ ./squidguard.inc Fri Feb 10 10:17:32 2012 -0200 Patching file ./squidguard.inc using Plan A... Hunk #1 failed at 916. 1 out of 1 hunks failed--saving rejects to ./squidguard.inc.rej Hmm... The next patch looks like a unified diff to me... The text leading up to this was:
|diff -r 0c5de7d2cc4f squidguard.xml
|--- ./squidguard.xml Wed Feb 08 11:10:19 2012 -0200+++ ./squidguard.xml Fri Feb 10 10:17:32 2012 -0200 Patching file ./squidguard.xml using Plan A... Reversed (or previously applied) patch detected! Assume -R? [y] y Hunk #1 succeeded at 208 with fuzz 1 (offset 77 lines). Hunk #2 succeeded at 257 (offset 77 lines). Hmm… The next patch looks like a unified diff to me... The text leading up to this was:
|diff -r 0c5de7d2cc4f squidguard_configurator.inc
|--- ./squidguard_configurator.inc Wed Feb 08 11:10:19 2012 -0200+++ ./squidguard_configurator.inc Fri Feb 10 10:17:32 2012 -0200 Patching file ./squidguard_configurator.inc using Plan A... Hunk #1 failed at 223. Hunk #2 failed at 300. Hunk #3 failed at 655. Hunk #4 failed at 708. Hunk #5 failed at 825. Hunk #6 failed at 861. Hunk #7 failed at 1151. Hunk #8 failed at 1740. Hunk #9 failed at 2024. 9 out of 9 hunks failed--saving rejects to ./squidguard_configurator.inc.rej meu pfsense é 2.1.5 e versao do squidguard Available: 1.4_4 pkg v.1.9.12
Installed: 1.4_4 pkg v.1.9.6o que os senhores acham
obrigado
-
Marcelo , bom dia.
Meu usuarios no A.D estão criados com numeral da matricula funcional , seria possivel ajustar o script para busca o Display Name p.f ? No squid alterei o LDAP Username DN Attribute e o LDAP Search Filter para "cn" e consigo logar com o Display Name !!!