Tutorial - SquidGuard + LdapGroup (permissão por grupo no ad)



  • Olá pessoal.

    Alguém sabe me dizer se existe alguma maneira de fazer o squidGuard realizar a autenticação Ldap por Grupo utilizando a interface do PFsense?

    Usando as seguintes diretivas, creio que isso é possível

    ldapbinddn     cn=root, dc=example, dc=com
    ldapbindpass   myultrasecretpassword

    ldap cache time in seconds

    ldapcachetime  300

    src my_users {
        ldapusersearch  ldap://ldap.example.com/cn=squidguardusers,ou=groups,dc=example,dc=com?memberUid?sub?(&(objectclass=posixGroup)(memberUid=%s))
     }

    Mas a interface do Pfsense permite isso?

    Obrigado

    Carlos



  • Você já olhou os tutoriais ou deu uma pesquisada no forum?

    Tem um tópico praticamente idêntico ao seu logo abaixo

    http://forum.pfsense.org/index.php/topic,47045.0.html



  • Já olhei sim.

    O tópico menciona a autenticação feita diretamente pelo squid e não pelo squidGuard.

    🙂

    Obrigado



  • Ccesario,

    Via gui o dvserg(que deve ser o mantenedor do pacote) já te deu um banho de água fria.

    Mas, porém contudo todavia, você pode incluir esta configuração no arquivo que gera o squidguard.conf.

    Se esta função não exigir novos parâmetros de compilação você pode até postar o resultado e transformar isso em um tutorial.

    Att,
    Marcello coutinho



  • Pois é….

    O dvserg foi bem claro 😛

    Marcelo, investigando um produto que tem como base o PFsense e tem essa “funcionalidade” implementada, vi que o pessoal fez umas alterações no squidGuard.

    1- Criaram um “utilitario” para fazer a consulta do usuário e trazer os grupos:
    ex:

    # squidGuardGrupos.pl usuario
    G_ACESSO_FULL G_ACESSO_REDES_SOCIAIS Domain Admins
    

    2 - Fizeram uma alteração no squidGuard para executar esse “utilitario” e validar se o usuario pertence ao grupo

    squidGuard %s started (%d.%03d)
    squidGuard ready for requests (%d.%03d)
    Verificando acesso do user - %s - %s
    squidGuardGrupos.pl %s 2>/dev/null
    

    Isso foi o que consegui descobrir

    Segue abaixo o codigo do “utilitario”

    
    #!/usr/local/bin/perl
    use Data::Dumper;
    use Net::LDAP;
    $user = $ARGV[0];
    $ldap = Net::LDAP->new( '192.168.x.x' ) or die "$@";
    $mesg = $ldap->bind('CN=UserProxy,CN=Users,DC=dominio,DC=local', password => 'SENHA');
    $mesg = $ldap->search(base=>"dc=dominio,dc=local", filter => "sAMAccountName=$user", attrs => "memberof");
    
    $counter = $mesg->count();
    @groups = $mesg->as_struct();
    for ($i=0;$i<$counter;$i++) {
            $entry = $mesg->entry();
            @groups  = $entry->get_value('memberof');
    }
    foreach(@groups){
            $line = $_;
            $line=~s/^CN=//;
            @corte = split(",",$line);
            printf ("%s ",$corte[0]);
    }
    print "\n";
    
    

    E no PFSense, basta inserir o nome do Grupo ao invés do nome do usuario na ACL do squidGuard.

    🙂

    Será que existe algum programador na lista c++ (eu acho)  na lista que possa contribuir ?

    Desse modo,  nao seria necessário interferir na GUI do pfsense, mantendo toda a estrutura intacta!

    Abraço e obrigado



  • O script é em perl, o que é 100% compatível com o pfsense. O pacote postfix por exemplo usa o mesmo perl com integração ldap para buscar a lista de emails validos no domínio.

    Posso ajudar nesta integração, mas por enquanto estou muito ocupado com o trabalho e tenhos algumas melhorias/desenvolvimento de pacotes na minha lista de tarefas.

    Att,
    Marcello coutinho



  • Sim Marcelo, o script é em perl.

    Porém a alteração é feita diretamente no código do squidGuard que chama esse “utilitário” (que pode ser refeito em php ou mesmo eh shell) para  realizar a checagem.

    Como lhe disse, a unica coisa que descobri foi através do comando strings diretamente no “binário” do squidGuard modificado.

    #strings squidGuard 
    squidGuard %s started (%d.%03d)
    squidGuard ready for requests (%d.%03d)
    Verificando acesso do user - %s - %s
    squidGuardGrupos.pl %s 2>/dev/null
    

    Se você puder ajudar (posteriormente após seus trabalhos) a mudança no código do squidGuard muita gente agradeceria 🙂

    Abraço  e obrigado



  • Pessoal,

    O ccesario começou a alterar um script que extrai os usuarios de um grupo específico para aplica nas acls do squidguard.

    Peguei com ele hoje e consegui integrar o script no pfsense.

    squidguard_ldap.php (v1 March 14, 2012)

    // based on http://samjlevy.com/2011/02/using-php-and-ldap-to-list-of-members-of-an-active-directory-group/
    // pfsense integration by marcelloc and ccesario
    
    # AD HOST (required)
    $ldap_host = "192.168.3.1";
    
    # AD DIRECTORY DN(required)
    $ldap_dn = "DC=domain,DC=local";
    
    # BIND USER(required)
    $user_bind = "cn=squidguard,cn=Users,DC=domain,DC=local";
    
    # PASSWORD BIND(required)
    $password = "super_secret_password";
    
    #if you need to apply any prefix or sufix to retreived user
    #example: prefix user with domain(required)
    #$user_mask="DOMAIN\USER";
    $user_mask="USER";
    
    ####################
    # End of user options  #
    ####################
    
    require_once("/etc/inc/util.inc");
    require_once("/etc/inc/functions.inc");
    require_once("/etc/inc/pkg-utils.inc");
    require_once("/etc/inc/globals.inc");
    
    #mount filesystem writable
    conf_mount_rw();
    
    function explode_dn($dn, $with_attributes=0)
    {
        $result = ldap_explode_dn($dn, $with_attributes);
        foreach($result as $key => $value) {
             $result[$key] = $value;
        }
        return $result;
    }
    
    function get_ldap_members($group,$user,$password) {
    	global $ldap_host;
    	global $ldap_dn;
    	$LDAPFieldsToFind = array("member");
    	$ldap = ldap_connect($ldap_host) or die("Could not connect to LDAP");
    
    	// OPTIONS TO AD
    	ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION,3);
    	ldap_set_option($ldap, LDAP_OPT_REFERRALS,0);
    
    	ldap_bind($ldap, $user, $password) or die("Could not bind to LDAP");
    
    	$results = ldap_search($ldap,$ldap_dn,"cn=" . $group,$LDAPFieldsToFind);
    
    	$member_list = ldap_get_entries($ldap, $results);
    	$group_member_details = array();
    	foreach($member_list[0] as $list)
    		if (is_array($list)) 
    			foreach($list as $member) {
    				$member_dn = explode_dn($member);
    				$member_cn = str_replace("CN=","",$member_dn[0]);
    				$member_search = ldap_search($ldap, $ldap_dn, "(CN=" . $member_cn . ")");
    				$member_details = ldap_get_entries($ldap, $member_search);
    				$group_member_details[] = array($member_details[0]['samaccountname'][0]);
    			}
    	ldap_close($ldap);
    	array_shift($group_member_details);
    	return $group_member_details;
    }
    
    // Read Pfsense config 
    global $config,$g;
    $id=0;
    $apply_config=0;
    if (is_array ($config['installedpackages']['squidguardacl']['config']))
    	foreach($config['installedpackages']['squidguardacl']['config'] as $group) {
       		$members="";
       		echo  "Group : " . $group['name']."\n";
       		$result = get_ldap_members($group['name'],$user_bind,$password);
       		foreach($result as $key => $value) {
    	    	if (preg_match ("/\w+/",$value[0]))
        	  		$members .= "'".preg_replace("/USER/",$value[0],$user_mask)."' ";
       		}
       		if (!empty($members))
       			if($config['installedpackages']['squidguardacl']['config'][$id]['source'] != $members){
       				$config['installedpackages']['squidguardacl']['config'][$id]['source'] = $members;
       				$apply_config++;
       			}
       	$id++;			
    	}
    if ($apply_config > 0){
    	print "user list from LDAP is different from current group, applying new configuration...";
    	write_config();
    	include("/usr/local/pkg/squidguard.inc");
    	squidguard_resync();
    	print "done\n";
    }
    
    #mount filesystem read-only
    conf_mount_ro();
    
    ?>
    

    squidguard_ldap.php (v1.1 Sep 9, 2013)

    
    // based on http://samjlevy.com/2011/02/using-php-and-ldap-to-list-of-members-of-an-active-directory-group/
    // pfsense integration by marcelloc and ccesario
    // ldapsearch -x -h 192.168.11.1 -p 389 -b OU=Internet,DC=domain,DC=local -D CN=Proxyauth,OU=PROXY,DC=domain,DC=local -w PASS
    
    # AD HOST (required)
    $ldap_host = "192.168.1.1";
    
    # AD DIRECTORY DN(required)
    $ldap_dn = "OU=INTERNET,DC=domain,DC=local";
    
    # BIND USER(required)
    $user_bind = "CN=Proxyauth,OU=PROXY,DC=domain,DC=com";
    
    # PASSWORD BIND(required)
    $password = "passwd";
    
    #if you need to apply any prefix or sufix to retreived user
    #example: prefix user with domain(required)
    #$user_mask="DOMAIN\USER";
    $user_mask="USER";
    
    #######################
    # End of user options #
    #######################
    
    require_once("/etc/inc/util.inc");
    require_once("/etc/inc/functions.inc");
    require_once("/etc/inc/pkg-utils.inc");
    require_once("/etc/inc/globals.inc");
    
    #mount filesystem writable
    conf_mount_rw();
    
    function explode_dn($dn, $with_attributes=0) {
    	$result = ldap_explode_dn($dn, $with_attributes);
    	if (is_array($result)) {
    		foreach($result as $key => $value) {
    			$result[$key] = $value;
    		}
    	}
    	return $result;
    }
    
    function get_ldap_members($group,$user,$password) {
    	global $ldap_host;
    	global $ldap_dn;
    	$LDAPFieldsToFind = array("member");
    	$ldap = ldap_connect($ldap_host) or die("Could not connect to LDAP");
    
    	// OPTIONS TO AD
    	ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION,3);
    	ldap_set_option($ldap, LDAP_OPT_REFERRALS,0);
    
    	ldap_bind($ldap, $user, $password) or die("Could not bind to LDAP");
    
    	$results = ldap_search($ldap,$ldap_dn,"cn=" . $group,$LDAPFieldsToFind);
    
    	$member_list = ldap_get_entries($ldap, $results);
    	$group_member_details = array();
    
    	if (is_array($member_list[0]))
    		foreach($member_list[0] as $list)
    			if (is_array($list))
    				foreach($list as $member) {
    					$ldap_dn_user = preg_replace('/^cn=([^,]+),/i','',$member);
    					$member_dn = explode_dn($member);
    					if (!empty($member_dn[0])) {
    						$member_cn = str_replace("CN=","",$member_dn[0]);
    						$member_search = ldap_search($ldap, $ldap_dn_user, "(CN=" . $member_cn . ")");
    						$member_details = ldap_get_entries($ldap, $member_search);
    
    						// If group have a other group as member (only 1 level)
    						if(is_array($member_details[0]['member'])) {
    							//print "############\nmembers\n###########\n";
    							//var_dump ($member_details[0]['member']);
    							foreach($member_details[0]['member'] as $sub_member) {
    								$sub_ldap_dn_user = preg_replace('/^cn=([^,]+),/i','',$sub_member);
    								$sub_member_dn = explode_dn($sub_member);
    								if (!empty($sub_member_dn[0])) {
    									$sub_member_cn = str_replace("CN=","",$sub_member_dn[0]);
    									$sub_member_search = ldap_search($ldap, $sub_ldap_dn_user, "(CN=" . $sub_member_cn . ")");
    									$sub_member_details = ldap_get_entries($ldap, $sub_member_search);
    									$group_member_details[] = array($sub_member_details[0]['samaccountname'][0]);
    								}
    							}
    							//echo "#########################################\nsub_group\n";
    							//var_dump($group_member_details);
    							//echo "#########################################\n";
                            }
                            else
           						$group_member_details[] = array($member_details[0]['samaccountname'][0]);
    					}
    				}
    	ldap_close($ldap);
    	return $group_member_details;
    }
    
    //Log info
    log_error("Running squidGuard LDAP sync");
    
    // Read Pfsense config
    global $config,$g;
    $id=0;
    $apply_config=0;
    if (is_array($config['installedpackages']['squidguardacl']['config'])) {
    	foreach($config['installedpackages']['squidguardacl']['config'] as $group) {
    		$members="";
    		echo  "Group : " . $group['name']."\n";
    		$result = get_ldap_members($group['name'],$user_bind,$password);
    		asort($result);
    		foreach($result as $key => $value) {
    			if (preg_match ("/\w+/",$value[0]))
    				$members .= "'".preg_replace("/USER/",strtolower($value[0]),$user_mask)."' ";
    		}
    		if (!empty($members)) {
    			if($config['installedpackages']['squidguardacl']['config'][$id]['source'] != $members){
    				$config['installedpackages']['squidguardacl']['config'][$id]['source'] = $members;
    				$apply_config++;
    			}
    		}
    		echo "\t --> Members : " . $members . "\n\n";
    		$id++;
    	}
    }
    
    if ($apply_config > 0) {
    	log_error("squidGuard LDAP sync: user list from LDAP is different from current group, applying new configuration...");
    	print "user list from LDAP is different from current group, applying new configuration...";
    	write_config();
    	include("/usr/local/pkg/squidguard.inc");
    	squidguard_resync();
    	print "done\n";
    }
    
    #mount filesystem read-only
    conf_mount_ro();
    
    ?>
    
    

    Para executar o script no squiguard:

    • Copie/crie o arquivo par ao seu pfsense

    • Edite os parametros do inicio do script

    • Altere o nome dos grupos do squidguard para o mesmo nome do grupo no ad

    • execute o script via console

    O procedimento no squidguard é manual/via cron para não ‘atrapalhar’ o timeline de um pacote suportado pelo core team(eu acho).

    Claro que para o dansguardian, o script já estará integrado na interface gráfica e com suporte a multiplos servidores LDAP.  😉

    att,
    Marcello Coutinho



  • Obrigado pela ajuda Marcello.

    Pessoal, quem testar, por favor comente aqui 🙂

    []s

    Carlos



  • Você conseguiu testar?

    Acho que da forma que o script ficou é até mais econômico na questão de consumo de recursos já que ele não vai no ad a cada acesso para verificar o grupo.



  • @marcelloc:

    Você conseguiu testar?

    Acho que da forma que o script ficou é até mais econômico na questão de consumo de recursos já que ele não vai no ad a cada acesso para verificar o grupo.

    Olá Marcello!

    Testado e aprovado.

    Coloquei no cron a cada 1 minuto.

    Ficou ótimo!

    Obrigado pela ajuda!



  • Publiquei o script na minha conta do github para faciliar a configuração

    https://github.com/downloads/marcelloc/pfsense-packages/squidguard_ldap.php

    att,
    Marcello Coutinho



  • pegando o bonde andando…. eu fiz um script um tempo atras exatamente para suprir a necessidade de um cliente com isso, fazer acl por grupo, segue então como fiz:

    Aplicar o patch no pfsense (com o pacote já instalado), com o comando abaixo:

    fetch -q -o /tmp/ http://www.mundounix.com.br/~gugabsd/squidguard-ldap-search.patch && cd /usr/local/pkg && patch -p0 < /tmp/squidguard-ldap-search.patch
    

    Execute em Diagnostics > command prompt

    Vai aparecer uma opção nova na configuração do squidguard, conforme a figura abaixo:

    Configure o seu Ldap DN e senha (igual ao do squid)

    E crie uma acl baseada na da figura abaixo:

    No exemplo acima, o grupo é o CN=ti (é tudo uma linha só, sem quebra)

    Qualquer dúvida, da um grito ai.

    Abraços



  • Excelente patch Luiz Gustavo!  🙂

    Depois de aplicado, o squidguard vai buscar no ad o grupo do usuário a cada acesso ou a lista é extraída e aplicada nos arquivos?

    De qualquer forma, lista de acesso por grupo já está 100% compatível com squidguard e dansguardian, basta escolher.

    OFF topic:
    Você tem alguma carta na manga para autenticar/logar o usuário do captive portal no squid/squidguard/dansguardian?

    O pfsense esta ficando monstruosamente poderoso  ::)



  • @marcelloc:

    Depois de aplicado, o squidguard vai buscar no ad o grupo do usuário a cada acesso ou a lista é extraída e aplicada nos arquivos?

    OFF topic:
    Você tem alguma carta na manga para autenticar/logar o usuário do captive portal no squid/squidguard/dansguardian?

    Depois de aplicado, ele busca na consulta, da forma original documentada no squidguard (http://www.squidguard.org/Doc/authentication.html)

    o src fica sendo uma consulta ldap, na verdade, pode ser qualquer tipo de consulta, não só de grupo.

    No exemplo que dei é exatamente pra ver se o cara bate no grupo especificado.

    Você tem alguma carta na manga para autenticar/logar o usuário do captive portal no squid/squidguard/dansguardian?

    Não entendi ? usando que base ? é fazer ficar transparente ? tipo o usuário do captive portal já estar logado no squid?



  • Não entendi ? usando que base ? é fazer ficar transparente ? tipo o usuário do captive portal já estar logado no squid?

    Aproveitar a autenticação ja feita no captive portal, logando o usuário no squid sem precisar abrir outra tela de usuário e senha.

    Uma mistura de auth_ident com consulta a base de usuários ativos do captive portal.



  • Luiz Gustavo!!!
    Ótima notícia!!!

    Muito interessante 🙂

    Qual a possibilidade disso ser incorporado ao pacote oficial!?

    Obrigado

    att,


  • Banned

    @ccesario:

    Qual a possibilidade disso ser incorporado ao pacote oficial!?

    Não sei, depende do mantenedor, eu fiz o patch para atender uma necessidade localizada de cliente.

    Eu vou postar na lista gringa e vamos ver o que o mantenedor acha.

    Apesar que seria legal mexer nesse patch para filtrar melhor o campo do search do ldap.



  • Boa noite, Gustavo! Como vai?

    Como você explicou, eu estou aplicando o seu script, mas não está aparecendo nenhuma opção do LDAP. O que você acha que pode ser fera?

    Fique com Deus! Bom final de semana!



  • Foi mal pessoal, consegui resolver aqui. Apareceu a opção do LDAP, mas eu estacionei aqui. Help!?

    Alguém poderia me ajudar, por favor?

    Obrigado!


  • Banned

    @Cabeça:

    Foi mal pessoal, consegui resolver aqui. Apareceu a opção do LDAP, mas eu estacionei aqui. Help!?

    Alguém poderia me ajudar, por favor?

    Obrigado!

    Como esta o seu cenário ? já tem o squid autenticando via ldap (no AD) e funcionando ?

    A ideia do patch é ter uma opção de filtragem no squidguard baseada em consulta ldap, no caso da configuração no squidguard, é colocar uma entrada de usuário com permissão para listar a arvore do ldap e criar uma acl baseada em uma busca via ldap, conforme a documentação do proprio squidguard [1].

    [1] http://www.squidguard.org/Doc/authentication.html (veja item 2 da documentação)



  • Obrigado pela ajuda Luis Gustavo!

    A base eu entendi. A minha dúvida é, eu tenho que replicar os meus grupos do AD manualmente no Squidguard?

    Ex: Tenho um grupo no AD chamado: Programação | Tenho que ir no Group ACL do Squidquard e criá-lo também?

    Bom final de semana! E obrigado pela atenção!


  • Banned

    @Cabeça:

    A base eu entendi. A minha dúvida é, eu tenho que replicar os meus grupos do AD manualmente no Squidguard?

    Ex: Tenho um grupo no AD chamado: Programação | Tenho que ir no Group ACL do Squidquard e criá-lo também?

    Não, basta criar uma entrada conforme o print que mandei anteriormente apontando para o seu grupo no AD que ele vai verificar se o usuário logado pelo o squid esta no grupo ou  não para validar a ACL que você esta criando.

    Entendeu, a ideia é filtrar (ACL) por grupo do AD (ldap), dessa forma você consegue por exemplo, criar um bloqueio de sites para o grupo XYZ no AD, assim, basta no windows você selecionar quem faz parte ou não do grupo.

    É usar a imaginação.

    E isso não se limita a grupo, pode ser uma arvore do AD diferente, uma outra abordagem de DN, etc…… é uma busca ldap, o exemplo que citei é para grupos, mas pode ser qualquer coisa.

    Abraços


  • Banned

    Replico o que eu disse na lista pfsense-pt:

    Show,

    Mas adianto que o patch ainda é muito cru, eu fiz para consolidar uma
    necessidade de um cliente, mas de qualquer forma, do jeito que esta, ele
    é funcional e não só para fazer consulta a grupo do AD e sim para
    qualquer tipo de busca via ldap.

    Assim que puder, eu vou mexer um pouco mais no patch, para filtrar
    melhor aquela string do ldapsearch e fazer uma abordagem melhor na
    entrada de dados.

    Abraços



  • Você alterou a regra do campo onde fica a string do ldap?

    Quanto estava testando o outro patch ele me pareceu bem restritivo.

    Este patch foi feito em cima da última versão do pacote?

    att,
    Marcello Coutinho



  • Obrigado irmão!

    Estarei fazendo os testes e postando os resultados, assim que possível.

    Fique na santa paz, Luis Gustavo!


  • Banned

    @marcelloc:

    Você alterou a regra do campo onde fica a string do ldap?

    Quanto estava testando o outro patch ele me pareceu bem restritivo.

    Este patch foi feito em cima da última versão do pacote?

    Sim, claro ! senão não funciona….

    olha o código que você vai ver a serie de “ifs” que coloquei para tratar a entrada da string do ldap (é nessa parte que eu digo que tenho que melhorar, até para evitar strings gigantes e pensar em poder colocar mais de uma string de busca na acl)

    E sim, esta para a ultima versão, se não o patch falha 😉

    abraços



  • @ccesario:

    Obrigado pela ajuda Marcello.

    Pessoal, quem testar, por favor comente aqui 🙂

    []s

    Carlos

    Oi people,

    Estou testando o squidguard_ldap.php, tenho os grupos na AD iguaizinhos aos grupos no squidguard, e está dando o seguinte erro:

    Warning: Invalid argument supplied for foreach() in /usr/local/pkg/squidguard_ldap.php on line 40
    Group : GRP_Externo

    Warning: Invalid argument supplied for foreach() in /usr/local/pkg/squidguard_ldap.php on line 40
    Group : Usrs_Limitado

    Warning: Invalid argument supplied for foreach() in /usr/local/pkg/squidguard_ldap.php on line 40
    user list from LDAP is different from current group, applying new configuration…done

    Apesar de aparecer a mensagem “applying new configuration…done” nada é actualizado nos Groups ACL.

    Agradeço desde já a vossa ajuda.



  • Bom dia ppl,

    Instalei o script squidguard_ldap.php, e ao executá-lo, ele vai ler penso que correctamente a arvore na minha AD, mas vai criar o ficheiro config.xml.bad e não vai actualizar os Group ACL’s, que são igualzinhos aos grupos na AD.
    Fiz isso num pfsense 2.0.1. Alguém pode ajudar???

    Obrigado desde já,



  • Flicid,

    Qual procedimento você usou entre o seus últimos posts?

    Você saiu de um erro de script para uma aparente recuperação automática de configuração do pfsense.

    Você pode executar um diff /conf/config.xml /conf/config.xml.bad ?



  • @marcelloc:

    Flicid,

    Qual procedimento você usou entre o seus últimos posts?

    Você saiu de um erro de script para uma aparente recuperação automática de configuração do pfsense.

    Você pode executar um diff /conf/config.xml /conf/config.xml.bad ?

    Marcelo, eu tentei ajudá-lo, mas não consegui identificar a causa do problema.
    O script está lendo perfeitamente a base Ldap, porém ao escrever é gerado esse config.bad.xml



  • O config.bad.xml é criado automaticamente pelo pfsense quando é identificado um xml corrompido ou mau gerado. O diff do arquivo de produção para o arquivo .bad pode ajudar a identificar o problema.



  • Entre um procedimento e outro, a unica alteração foi uma reinstalação limpa da pfsense 2.0.1. O erro de script mantẽm-se, apenas posteriormente e com ajuda do ccesario ele viu que criava o ficheiro config.xml.bad.
    Os grupos que tenho tanto na AD como na Pfsense: GRP_SemAcesso GRP_Callcenter GRP_Externo GRP_Chefias Usrs_Limitado

    O resultado do diff:

    diff ./config.xml ./config.xml.bad
    536c536
    <
    –-

    752c752
    < <source>
    –-

    <source>‘fw’ ‘galileo’ ‘Usrs_Limitado’ ‘GRP_Externo’ ‘GRP_Callcenter’ ‘coordenacaosid’ ‘supervisorvxe’ ‘KLOperators’ ‘KLAdmins’ ‘hm2bind’ ‘uteste’ ‘vkuser’ ‘visionkare’ ‘cpires’ ‘tacvboston’ ‘inspectores2’ ‘canjos’ ‘vafonso’ ‘jbsousa’ ‘acabral’ ‘mfernandes’ ‘jmdias’ ‘dvendas’ ‘lmvieira’ ‘reservaslis’ ‘aafonseca’ ‘tacvfortaleza’ ‘ibernardino’ ‘teste’ ‘patriciafontenele’ ‘neidy.galvao’ ‘yrodrigues’ ‘agn’ ‘bparser’ ‘afrorodrigues’ ‘edgar’ ‘qualidademan’ ‘jandira.melo’ ‘reservas-sid’ ‘groundquality’ ‘fo.vasconcelos’ ‘crew’ ‘docman’ ‘docdov’ ‘check-in’ ‘svbaessa’ ‘rstmonteiro’ ‘rtfragoso’ ‘mcgonçalves’ ‘fff.mendonça’ ‘fjpdaveiga’ ‘edosra.delgado’ ‘dlfialho’ ‘camacedo’ ‘DTI’ ‘jlobo’ ‘acgomes’ ‘daa’ ‘it.doc’ ‘Cruz’ ‘Imartins’ ‘crewschedule’ ‘agn_sne’ ‘irevora’ ‘coordenadorcatsid’ ‘agn_sfl’ ‘coordenacao-rai’ ‘afrodrigues’ ‘hsilveira’ ‘comercial’ ‘cdfernandes’ ‘hfortes’ ‘caguiar’ ‘helpdesk_wo’ ‘chefeescalavxe’ ‘Abuse’ ‘Help Desk’ ‘htavares’ ‘aapereira’ ‘admin4’ ‘admin3’ ‘admin2’ ‘alex’ ‘afcorreia’ ‘1000-D1V34GL8D48H’ ‘SM_7a67dfad8b864c589’ ‘SM_42f73f6fc9864794a’ ‘SM_e6945554b8cf4e8ea’ ‘SM_009cb7ec96f848d7a’ ‘Exchange All Hosted Organizations’ ‘tacvuser’ ‘vcenteruser’ ‘DnsUpdateProxy’ ‘Administrator’ ‘Domain Controllers’ ‘Read-only Domain Controllers’ ‘Group Policy Creator Owners’ ‘Domain Admins’ ‘Domain Guests’ ‘Domain Users’ 'Domain Computers’
    767c767
    < <source>


    <source>‘agn’ ‘dcsilva’ ‘agn_sne’ ‘agn_sfl’ ‘agn_nto’ ‘agn_mmo’ 'agn_bvc’
    782c782
    < <source>


    <source>‘vwuser’ 'visionware’
    797c797
    < <source>


    <source>‘pandrade’ ‘nborges’ ‘mneves’ ‘gvaz’ ‘georg’ ‘mgarcia’ ‘capt.lima’ ‘lspencer’ ‘fjorge’ ‘asocorro’ ‘antoni’ ‘euclides.for’ ‘elubrano’ ‘jfernanss’ ‘jpina’ ‘dfernandes’ ‘acgomes’ ‘hmonteiro’ ‘admin1’ ‘alex’ 'afcorreia’
    812c812
    < <source>


    <source>‘ccbarros’ ‘tesouraria-sid’ ‘tfonseca’ ‘sgomes’ ‘smendes’ ‘rpinto’ ‘sferreira’ ‘mcc’ ‘mdelgado’ ‘cmiranda’ ‘cbarros’ ‘mmota’ ‘mgomes’ ‘afonseca’ ‘ebarros’ ‘jvieira’ ‘jfurtado’ ‘dbrito’

    OBG  😉

    @marcelloc:

    Flicid,

    Qual procedimento você usou entre o seus últimos posts?

    Você saiu de um erro de script para uma aparente recuperação automática de configuração do pfsense.

    Você pode executar um diff /conf/config.xml /conf/config.xml.bad ?



  • mcgonçalves’ 'fff.mendonçfff.mendonça

    O problema deve estar nos usuários com caracteres especiais e/ou acentos. Remova-os do grupo de acesso ou troque o nome deles.



  • Obrigado marcelloc e ccesario!!!

    O problema era mesmo os nomes dos usuários com acentos e/ou cararcteres especiais.

    Fiz teste com apenas dois grupos sem usuários com esse problema, e correu bem  😄

    Salvaram meu dia!!!  ;D

    @marcelloc:

    mcgonçalves’ 'fff.mendonçfff.mendonça

    O problema deve estar nos usuários com caracteres especiais e/ou acentos. Remova-os do grupo de acesso ou troque o nome deles.



  • Ola Pessoal
    Estou com um problema …
    Adicionei o Patch que o usuário Luiz Gustavo disponibilizou, fiz toda configuração do grupo, tudo certinho …
    Mas quando autentico pelo navegador o squid esta liberando todos os sites …
    Deixa eu explicar melhor
    1 - configuração do squid + ldap , apenas alguns sites cadastradas na whitelist do squid …
    2 - configuração squidguard + ldap + patch ( Luiz Gustavo ) tudo configurado e com os grupos acl cadastrados e devidamente configurados + target categories configurada.

    O problema é que quando autentico no navegador o mesmo usuário logado, não esta respeitando as regras do squidguard … parece que ele autentica e libera tudo …

    Alguém já passou por problema parecido ?

    Obrigado.



  • Pessoal
    Apenas algumas informações que descobri agora …
    Pelo que notei, o squid quando esta autenticando em ldap não direciona para o squidguard …
    mas se eu retiro a autenticação ldap, ele direciona …

    Alguma solução ?

    Obrigado.



  • Boa tarde á todos!

    Comigo também estava acontecendo isso, piqueonline. Rodei, rodei e não achei a solução. Por isso, eu resolvir deixar a autenticação por usuários mesmo, já que o mesmo está funcionando perfeitamente.

    Fiquem na paz pessoal!


    Cabeça!



  • Velho que coisa …
    vou partir desde o início novamente e ver onde esta o bendito problema …
    Caso contrário vou fazer da maneira que solução original vem, ou seja, adicionar um grupo no squidguar e logo em seguida adicionar os usuário manualmente em cada grupo …
    vai dar trabalho em dobro … porque no ad, já esta tudo pronto …



  • Estou com o mesmo problema piqueonline, só que o meu em vez de liberar tudo bloqueia.
    Eu consegui logar com o usuário do AD, mais o mesmo não consegue abrir site algum, e a Default access ALL está allow.
    Não sei o que acontece também, alguém ja passou por isso?


 

© Copyright 2002 - 2018 Rubicon Communications, LLC | Privacy Policy