Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Ajuda para autenticar o squid por grupos do AD [RESOLVIDO] [TUTORIAL]

    Scheduled Pinned Locked Moved Portuguese
    25 Posts 5 Posters 15.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • JackLJ
      JackL
      last edited by

      @ricardodru:

      4- Esta acredito que me enganei na sequencia, pois a "liberado.acl", ja foi permitida na segunda posição. Nao tem o porque eu colocar a ACL desta forma.

      Exato…

      Como sugere a sequencia destas ACL's ?

      Acho que "consertando" a regra mencionada acima, basta que você coloque como última regra (depois desta "http_access allow acesso-restrito"), a regra que nega TUDO para TODOS: "http_access deny all"!

      Por favor, teste e reporte por aqui mesmo os resultados! ;)

      Abraços!
      Jack

      Treinamentos de Elite: http://sys-squad.com
      Soluções: https://conexti.com.br

      1 Reply Last reply Reply Quote 0
      • R
        ricardodru
        last edited by

        Jack
        Como estou editando diretamente o arquivo squid.inc, a regra "http_access deny all" ja vem default no final.
        Fiz os testes conforme vc mencionou, mas nao funcionou.
        Para que vc analise detalhadamente, estou postando meu squid.conf, depois de alterado o squid.inc.

        OBS: Mudei os nomes das ACL's: Internet-TI = Acesso full, Internet-Bancos = Limitado.
        Ao observar as ACL's Internet-TI e Internet-Bancos, quando comento a ACL Internet TI e deixo apenas a Internet-Bancos, o bloqueio funciona conforme meus planos. Mas ao deixar as 2 ACL's (que na verdade gostaria que funcionasse como os grupos do AD), o bloqueio nao funciona para ambos os grupos.
        Lembrando que ja criei os 2 grupos acima no AD, na OU=Grupos.
        A autenticação é feita normalmente por usuario cadastrado no AD.
        Tenho um terceiro usuario que uso para teste, e não esta em nenhum grupo. Este nao consegue autenticar para navegar.
        Até ai tudo bem, pois se nao está em nenhum grupo, não é para navegar mesmo.

        Do not edit manually !

        http_port 10.0.0.1:3128
        icp_port 0

        pid_filename /var/run/squid.pid
        cache_effective_user proxy
        cache_effective_group proxy
        error_directory /usr/local/etc/squid/errors/Portuguese
        icon_directory /usr/local/etc/squid/icons
        visible_hostname pfsense
        cache_mgr admin@localhost
        access_log /dev/null
        cache_log /var/squid/logs/cache.log
        cache_store_log none
        shutdown_lifetime 3 seconds

        Allow local network(s) on interface(s)

        acl localnet src  10.0.0.0/255.255.255.0
        httpd_suppress_version_string on
        uri_whitespace strip
        dns_nameservers 10.1.0.1
        cache_mem 8 MB
        maximum_object_size_in_memory 32 KB
        memory_replacement_policy heap GDSF
        cache_replacement_policy heap LFUDA
        cache_dir ufs /var/squid/cache 200 16 256
        minimum_object_size 0 KB
        maximum_object_size 4 KB
        offline_mode off
        cache_swap_low 90
        cache_swap_high 95

        No redirector configured

        Setup some default acls

        acl all src 0.0.0.0/0.0.0.0
        acl localhost src 127.0.0.1/255.255.255.255
        acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901  3128 1025-65535
        acl sslports port 443 563 
        acl manager proto cache_object
        acl purge method PURGE
        acl connect method CONNECT
        acl dynamic urlpath_regex cgi-bin ?
        acl blacklist dstdom_regex -i "/var/squid/acl/blacklist.acl"
        cache deny dynamic
        http_access allow manager localhost

        http_access deny manager
        http_access allow purge localhost
        http_access deny purge
        http_access deny !safeports
        http_access deny CONNECT !sslports

        Always allow localhost connections

        http_access allow localhost

        ##MODIFICACOES PERSONALIZADAS

        request_body_max_size 0 KB
        reply_body_max_size 0 deny all
        delay_pools 1
        delay_class 1 2
        delay_parameters 1 -1/-1 -1/-1
        delay_initial_bucket_level 100
        delay_access 1 allow all

        Block access to blacklist domains

        http_access deny blacklist
        auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -v 3 -b dc=dominio,dc=com,dc=br -D cn=Administrator,cn=Users,dc=dominio,dc=com,dc=br -w 1234 -f "cn=%s" -u uid -P 10.0.0.2:389
        auth_param basic children 5
        auth_param basic realm Please enter your credentials to access the proxy
        auth_param basic credentialsttl 60 minutes
        acl password proxy_auth REQUIRED

        #AUTENTICACAO PERSONALIZADA GRUPOS DO AD
        #acl ldapInternet-Bancos external ldap_group Internet-Bancos
        #acl Internet-Bancos proxy_auth REQUIRED
        #acl Internet-TI proxy_auth REQUIRED
        #acl Internet-Bancos proxy_auth Internet-Bancos REQUIRED
        acl Internet-Bancos proxy_auth REQUIRED "/var/squid/acl/gp_bancos.acl"
        acl Internet-TI proxy_auth REQUIRED "/var/squid/acl/gp_ti.acl"
        acl bloqueio url_regex -i "/var/squid/acl/bloqueio.acl"
        acl liberado url_regex -i "/var/squid/acl/liberado.acl"
        http_access allow Internet-TI
        http_access allow liberado
        http_access deny bloqueio
        http_access allow Internet-Bancos
        http_access allow password localnet

        Default block all to be sure

        http_access deny all

        1 Reply Last reply Reply Quote 0
        • JackLJ
          JackL
          last edited by

          @ricardodru:

          Jack
          Como estou editando diretamente o arquivo squid.inc, a regra "http_access deny all" ja vem default no final.
          Fiz os testes conforme vc mencionou, mas nao funcionou.
          Para que vc analise detalhadamente, estou postando meu squid.conf, depois de alterado o squid.inc.

          OBS: Mudei os nomes das ACL's: Internet-TI = Acesso full, Internet-Bancos = Limitado.
          Ao observar as ACL's Internet-TI e Internet-Bancos, quando comento a ACL Internet TI e deixo apenas a Internet-Bancos, o bloqueio funciona conforme meus planos. Mas ao deixar as 2 ACL's (que na verdade gostaria que funcionasse como os grupos do AD), o bloqueio nao funciona para ambos os grupos.
          Lembrando que ja criei os 2 grupos acima no AD, na OU=Grupos.
          A autenticação é feita normalmente por usuario cadastrado no AD.
          Tenho um terceiro usuario que uso para teste, e não esta em nenhum grupo. Este nao consegue autenticar para navegar.
          Até ai tudo bem, pois se nao está em nenhum grupo, não é para navegar mesmo.

          @ricardodru,

          Antes de mais nada, é preciso entender que estas configurações fogem do escopo da GUI do PFSense. Por isso, a partir de agora nossa relação é diretamente com o pacote SQUID.

          Bem, o que você tem no arquivo "/var/squid/acl/gp_bancos.acl"? O nome do grupo?

          Pelo que consigo perceber, aparentemente o processo de autenticação do pacote SQUID junto ao WinServer não está ocorrendo 100%. Minha primeira dica é que você faça uma cópia de segurança deste seu arquivo "squid.inc" e tente adpatar as configurações da seção de autenticação as dicas deste post: http://www.papercut.com/kb/Main/ConfiguringSquidProxyToAuthenticateWithActiveDirectory

          Veja como o autor trabalhar com a construção da ACL que tem o grupo de usuários com permissão de navegar na web. Acho que este artigo pode resolver esta sua pendenga!

          Tente fazer e qualquer dúvida específica, poste por aqui mesmo…

          Abraços!
          Jack

          Treinamentos de Elite: http://sys-squad.com
          Soluções: https://conexti.com.br

          1 Reply Last reply Reply Quote 0
          • R
            ricardodru
            last edited by

            JackL

            Obrigado pela ajuda.
            Demorei uns dias para responder, mas venho com boas noticias. Consegui fazer o squid autenticar por grupo no AD.
            Estou à semanas procurando estas informações, mas não encontrei.
            O ruim é que tem pessoas que ja descobriram como fazer, mas nao compartilham a informação.
            Portanto, resolvi escrever um passo a passo, compartilhando esta dica.
            A URL que vc me passou, ja inclui no tutorial, junto a seção de "referências".
            Sobre o tutorial, qualquer comentario, critica ou sugestão será bem vindo.

            Agradeço ao JackL e danielz, que me ajudaram de alguma forma.

            OBS.: Não consigo anexar o arquivo PDF, pois o forum não aceita esta extenção de arquivo.
            Alguem tem alguma sugestão de onde postar ?

            1 Reply Last reply Reply Quote 0
            • JackLJ
              JackL
              last edited by

              @ricardodru,

              Legal… fico feliz em saber que você resolveu a sua pendenga (inclusive coloquei o "RESOLVIDO" no título deste meu post... Isso ajuda a galera a se organizar em fóruns públicos como este).

              Fico feliz também em saber que conseguimos lhe ajudar de alguma forma e, mais feliz ainda, em saber que você está retornando à comunidade uma contribuição (tutorial). Sou um pouco novo "neste fórum", por isso não sei se existe uma área específica para divulgação deste tipo de material. Logo aí em cima é possível ver pelo menos 2 tópicos fixos, com tutoriais no estilo do seu... Provavelmente os moderadores podem aprovar este upload!

              De todo modo, deixo o http://www.JACK.eti.br à disposição para publicação deste seu material. Assim ficará mais fácil referenciar por aqui - apontando apenas o link! ;)

              Abraços!
              Jack

              Treinamentos de Elite: http://sys-squad.com
              Soluções: https://conexti.com.br

              1 Reply Last reply Reply Quote 0
              • R
                ricardodru
                last edited by

                Jack

                te enviei um email em particular sobre o assunto

                1 Reply Last reply Reply Quote 0
                • JackLJ
                  JackL
                  last edited by

                  @ricardodru:

                  Jack
                  te enviei um email em particular sobre o assunto

                  O documento em PDF, de autoria do colega Ricardo, já pode ser acessado a partir deste link: http://www.jack.eti.br/www/arquivos/outros_tutoriais/pfsense/autenticacao_grupos_AD_pfsense.pdf

                  Abraços!
                  Jack

                  Treinamentos de Elite: http://sys-squad.com
                  Soluções: https://conexti.com.br

                  1 Reply Last reply Reply Quote 0
                  • JackLJ
                    JackL
                    last edited by

                    @JackL:

                    O documento em PDF, de autoria do colega Ricardo, já pode ser acessado a partir deste link: http://www.jack.eti.br/www/arquivos/outros_tutoriais/pfsense/autenticacao_grupos_AD_pfsense.pdf

                    Agora o artigo do Ricardo também pode ser acessado diretamente pelo blog: http://www.jack.eti.br/www/?p=3052

                    Abraços!
                    Jack

                    Treinamentos de Elite: http://sys-squad.com
                    Soluções: https://conexti.com.br

                    1 Reply Last reply Reply Quote 0
                    • V
                      valtecirgmail.com
                      last edited by

                      Olá Jack,

                      Estamos na luta pra fazer o squid funcionar por grupo do AD, li o seu tuto, o do link abaixo, depois alterei o meu squid.inc. Porém o meu squid não sobe… Fica registrando o erro a seguir no log:

                      squid[16863]: Bungled squid.conf line 83: external_acl_type ldap_group children=30

                      Onde estou errando?

                      Desde já sou muito grato pelas contribuições de todos, pois são foruns como este que nos estimula a utilizar ferramentas em linux, só não aprende quem não quer mesmo…

                      Veja abaixo o trecho adicionado no squid.inc

                      seguindo –-> http://forum.pfsense.org/index.php/topic,20208.0.html

                      ###################################################################### 
                      #  Estrutura dentro do AD:
                      #  Domínio: srg.net, Servidor: SERVER4, IP: 192.168.1.202
                      #  Admin: Users\administrador
                      #  Grupos de Internet: g_produtividade, g_total
                      #  Unidade Org.: u_internet
                      ######################################################################

                      #Define a autenticação ldap e os parâmetros usados
                      external_acl_type ldap_group children=30
                      %LOGIN /usr/local/libexec/squid/squid_ldap_group -v 3 -R -b "dc=srg,dc=net" -D "cn=Administrador,cn=Users,dc=srg,dc=net" -w
                      "minha senha" -f "(&(objectclass=person) (sAMAccountName=%v) (memberof=cn=%a,ou=g_internet,dc=srg,dc=net))" -h 192.168.1.202 -p 389

                      #Define a ACL do tipo external para usar os grupos do AD
                      external_acl_type ldap_group
                      %LOGIN /usr/local/libexec/squid/squid_ldap_group -R -b "dc=srg,dc=net" -D "cn=administrador,cn=Users,dc=srg,dc=net" -w
                      "minha senha" -f "(&(&(objectClass=person)(sAMAccountName=%u))(memberOf=%g))" -h 192.168.1.202

                      #Define uma ACL denominada "produtividade" para um grupo que terá acesso restrito.
                      acl gprodutividade external ldap_group CN=g_produtividade, OU= u_internet, DC=srg,dc=net

                      #Define uma ACL para acesso restrito aos domínios listados em um arquivo texto
                      acl restrito dstdom_regex -i "/var/squid/acl/whitelist.acl"

                      #Define a diretiva formada pela combinação das ACLs acima definidas (AND lógico).
                      http_access allow gprodutividade restrito

                      #Define uma ACL para um grupo com acesso total.
                      acl gtotal external ldap_group CN=g_total, OU= u_internet, DC=srg,dc=net

                      #Define a diretiva de acesso total.
                      http_access allow gtotal

                      ######################################################################

                      1 Reply Last reply Reply Quote 0
                      • JackLJ
                        JackL
                        last edited by

                        @ValterTI11:

                        #Define a autenticação ldap e os parâmetros usados
                        external_acl_type ldap_group children=30
                        %LOGIN /usr/local/libexec/squid/squid_ldap_group -v 3 -R -b "dc=srg,dc=net" -D "cn=Administrador,cn=Users,dc=srg,dc=net" -w
                        "minha senha" -f "(&(objectclass=person) (sAMAccountName=%v) (memberof=cn=%a,ou=g_internet,dc=srg,dc=net))" -h 192.168.1.202 -p 389

                        @ValterTI11,

                        Antes de qualquer coisa, grato pelos elogios…
                        No entanto, o artigo foi escrito pelo @ricardodru. Eu apenas o publiquei no meu blog.

                        Em relação a sua dúvida, veja que a linha "external_acl_type ldap_group" é inteira, ou seja, deve ser escrito tudo na mesma linha "external_acl_type ldap_group children=30 %LOGIN /usr/local/libexec/squid/squid_ldap_group..."

                        Uma pequena correção: O PFSense é baseado no FreeBSD, não no Linux (embora ambos sejam softwares livres, são sistemas operacionais bem diferentes). ;-)

                        Abraços!
                        Jack

                        Treinamentos de Elite: http://sys-squad.com
                        Soluções: https://conexti.com.br

                        1 Reply Last reply Reply Quote 0
                        • V
                          valtecirgmail.com
                          last edited by

                          Fala Jack,

                          Era isso mesmo, coloquei tudo em uma linha só e o squid subiu sem problemas.
                          Eu sinceramente não sabia que o FreeBSB e Linux não são a mesma coisa… Aprendendo mais uma... vou pesquisar mais a respeito...
                          Porém agora estou no 2º Round com o squid + LDAP...
                          É o seguinte a estação pede o usuário e senha, mas fica repetindo isso sem para e não navega...

                          Grato por mais essa...

                          Veja como está as minhas ACLs:

                          #Define a ACL do tipo external para usar os grupos do AD
                          external_acl_type ldap_group %LOGIN /usr/local/libexec/squid/squid_ldap_group -R -b "dc=srg,dc=net" -D "cn=squid,cn=Users,dc=srg,dc=net" -w  "senha" -f "(&(&(objectClass=person)(sAMAccountName=%v))(memberOf=cn=%a, ou=g_internet, dc=srg, dc=net))" -h 192.168.1.202 -p 389

                          #Vincula as ACLs com base nos grupos do AD
                          acl gprodutividade external ldap_group g_produtividade
                          acl gtotal              external ldap_group g_total       
                          acl gbloqueados    external ldap_group g_bloqueados

                          #Define uma ACL para acesso restrito aos domínios listados em um arquivo texto produtividade.acl
                          acl restrito dstdom_regex -i "/var/squid/acl/produtividade.acl"

                          #Define a diretiva formada pela combinação das ACLs acima definidas
                          http_access deny  gbloqueados
                          http_access deny  gprodutividade !restrito
                          http_access allow gtotal

                          #######################################################################

                          @JackL:

                          @ValterTI11:

                          #Define a autenticação ldap e os parâmetros usados
                          external_acl_type ldap_group children=30
                          %LOGIN /usr/local/libexec/squid/squid_ldap_group -v 3 -R -b "dc=srg,dc=net" -D "cn=Administrador,cn=Users,dc=srg,dc=net" -w
                          "minha senha" -f "(&(objectclass=person) (sAMAccountName=%v) (memberof=cn=%a,ou=g_internet,dc=srg,dc=net))" -h 192.168.1.202 -p 389

                          @ValterTI11,

                          Antes de qualquer coisa, grato pelos elogios…
                          No entanto, o artigo foi escrito pelo @ricardodru. Eu apenas o publiquei no meu blog.

                          Em relação a sua dúvida, veja que a linha "external_acl_type ldap_group" é inteira, ou seja, deve ser escrito tudo na mesma linha "external_acl_type ldap_group children=30 %LOGIN /usr/local/libexec/squid/squid_ldap_group..."

                          Uma pequena correção: O PFSense é baseado no FreeBSD, não no Linux (embora ambos sejam softwares livres, são sistemas operacionais bem diferentes). ;-)

                          Abraços!
                          Jack

                          1 Reply Last reply Reply Quote 0
                          • R
                            ricardodru
                            last edited by

                            Valter
                            Vou tentar ajuda-lo a resolver isso
                            O que esta acontecendo, é que o squid nao consegue identificar o grupo em que o usuário esta cadastrado.

                            No trecho abaixo, descrito no seu squid.inc, ficou meio confuso.

                            #Vincula as ACLs com base nos grupos do AD
                            acl gprodutividade external ldap_group g_produtividade
                            acl gtotal              external ldap_group g_total       
                            acl gbloqueados    external ldap_group g_bloqueados

                            Por exemplo, no AD, qual o nome do grupo "gprodutividade" ?
                            No AD, este grupo chama-se gprodutividade, ou g_produtividade ?
                            Acho que vc confundiu ai.
                            Veja no meu tutorial, a linha abaixo:
                            acl ldapInternet-TI external ldap_group Internet-TI

                            Eu defini apenas como nome da ACL "ldapInternet-TI", ja no AD, este grupo esta definido como "Internet-TI".
                            A ordem é essa:

                            acl "nomedaACL" external ldap_group "grupo cadastrdo no AD"

                            OBS: Utilizei as aspas "" apenas para referencia, pois na linha de configuração, estas aspas nao devem ser inseridas.
                            Em nome da ACL, vc define qualquer nome, em grupo cadastrado no AD, vc deve inserir o nome correto que esta cadastrado no AD.
                            Lembrando, em ""nome da ACL", deverá colocar um nome diferente do nome do grupo do AD.
                            Faça os testes ai e poste o resultado.

                            1 Reply Last reply Reply Quote 0
                            • V
                              valtecirgmail.com
                              last edited by

                              Olá RicardoDru,

                              É o seguinte:
                              Grupos de Internet no AD: g_produtividade, g_total, g_bloqueados
                              e as ACLs gprodutividade, gtotal, gbloqueados

                              Então escrevi acho certo mesmo. Ok?

                              acl gprodutividade external ldap_group g_produtividade
                              acl gtotal             external ldap_group g_total       
                              acl gbloqueados    external ldap_group g_bloqueados

                              @ricardodru:

                              Valter
                              Vou tentar ajuda-lo a resolver isso
                              O que esta acontecendo, é que o squid nao consegue identificar o grupo em que o usuário esta cadastrado.

                              No trecho abaixo, descrito no seu squid.inc, ficou meio confuso.

                              #Vincula as ACLs com base nos grupos do AD
                              acl gprodutividade external ldap_group g_produtividade
                              acl gtotal             external ldap_group g_total       
                              acl gbloqueados    external ldap_group g_bloqueados

                              Por exemplo, no AD, qual o nome do grupo "gprodutividade" ?
                              No AD, este grupo chama-se gprodutividade, ou g_produtividade ?
                              Acho que vc confundiu ai.
                              Veja no meu tutorial, a linha abaixo:
                              acl ldapInternet-TI external ldap_group Internet-TI

                              Eu defini apenas como nome da ACL "ldapInternet-TI", ja no AD, este grupo esta definido como "Internet-TI".
                              A ordem é essa:

                              acl "nomedaACL" external ldap_group "grupo cadastrdo no AD"

                              OBS: Utilizei as aspas "" apenas para referencia, pois na linha de configuração, estas aspas nao devem ser inseridas.
                              Em nome da ACL, vc define qualquer nome, em grupo cadastrado no AD, vc deve inserir o nome correto que esta cadastrado no AD.
                              Lembrando, em ""nome da ACL", deverá colocar um nome diferente do nome do grupo do AD.
                              Faça os testes ai e poste o resultado.

                              1 Reply Last reply Reply Quote 0
                              • R
                                ricardodru
                                last edited by

                                Ok Valter,
                                Esta certo do jeito que vc fez.
                                Poste a imagem da guia Auth Settings do Squid, e tambem o trecho do squid.inc onde vc personaliza as configurações.

                                Nas linhas de configuração personalizadas, bem como na guia Auth Settings do squid, vc está usando qual usuário para pesquisar no AD ?
                                Se vc leu o meu tutorial, veja que fiz testes na maquina fisica, e tambem em VMs.
                                Na VM, utilizei um usuario comum chamado squid, ja na maquina fisica, isto nao funcionou, tive que utilizar o Administrator.
                                Faça os testes e poste o resultado.

                                1 Reply Last reply Reply Quote 0
                                • V
                                  valtecirgmail.com
                                  last edited by

                                  Fala Ricardo,

                                  É o seguinte… seu eu escrever diretor no squid.conf, deixo a guia auth Settings em branco e reiniciar o serviço... Tudo funciona.
                                  Depois tento colar no squid.inc e depois reinicio o servidor aí ele não escreve no squid.conf.

                                  O que gostaria mesmo era escrever direto no squid.conf e se ele reiniciar um script meu vai lá e copia o meu squid.conf,, mas vai ficar um gambiarra do inferno.... Ou tem um jeito de anular o squid.inc?

                                  Esse negócio tá ficando cada vez mais complicado, mas estou aprendendo um bocado... hehehe

                                  Mas se
                                  @ricardodru:

                                  Ok Valter,
                                  Esta certo do jeito que vc fez.
                                  Poste a imagem da guia Auth Settings do Squid, e tambem o trecho do squid.inc onde vc personaliza as configurações.

                                  Nas linhas de configuração personalizadas, bem como na guia Auth Settings do squid, vc está usando qual usuário para pesquisar no AD ?
                                  Se vc leu o meu tutorial, veja que fiz testes na maquina fisica, e tambem em VMs.
                                  Na VM, utilizei um usuario comum chamado squid, ja na maquina fisica, isto nao funcionou, tive que utilizar o Administrator.
                                  Faça os testes e poste o resultado.

                                  1 Reply Last reply Reply Quote 0
                                  • R
                                    ricardodru
                                    last edited by

                                    Valter, conseguiu resolver o problema?
                                    Acho estranho vc alterar o squid.inc, reiniciar o serviço, e o squid.conf nao ser reescrito.
                                    É padrão do pfsense (squid.inc) reescrever o squid.conf, sempre que o serviço ou o sistema for reiniciado. A nao ser que vc altere o squid.conf, faça uma copia, e um script se encarrega de repor o squid.conf original quando o sistema for reiniciado.
                                    Quando vc reinicia o serviço, vc faz isto via ssh ?
                                    Ao invez de reiniciar, ja tentou apenas salvar (clicando no botão), em uma das guias do proxy server ? Isto pode ser feito a guia Access Control.
                                    Qual a versão do pfsense que vc esta usando ?

                                    1 Reply Last reply Reply Quote 0
                                    • V
                                      valtecirgmail.com
                                      last edited by

                                      Oi Ricardo,

                                      Agora ficou bom. Coloquei em custom option e deu certo. Eu dei mole com o ";" entre linhas, mas agora foi. (Veja abaixo observe o ";" no final de cada linha).

                                      Porém deixei a aba Auth Setting em branco, o parâmetro http_access allow localnet estava aparecendo, então coloquei http_access deny localnet no início do meu código e deu certo. Outro detalhe é que tive que desmarcar a opção Allow users on interface. Testei reiniciando o serviço, depois reiciando o server e ficou 10. Tudo funcionado belezinha.

                                      Creio o problema do squid.inc era várias abas do navegador aberta, lá para as 3 da madruga, e mexendo em códigos do squid… lendo email, pfds e vendo HBO, aí nada vai dar certo mesmo...
                                      Fui dormir, e depois com calma e com a ajuda do Leandro Bandeira on-line, foi show, tudo 100%.

                                      O mais fantástico do open source não é o produto em si, mas a colaboração voluntária dos seus usuários. Eita falei bonito!!!

                                      Mais uma vez muito obrigado mesmo...

                                      Um forte abraço. Valter


                                      access deny localhost;
                                      auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -v 3 -R -b dc=srg,dc=net -D cn=Administrador,cn=Users,dc=srg,dc=net -w MinhaSenha -f "sAMAccountName=%s" -u uid -P 192.168.1.202;

                                      auth_param basic children 5;
                                      auth_param basic realm INTERNET CORPORATIVA;
                                      auth_param basic credentialsttl 60 minutes;
                                      acl password proxy_auth REQUIRED;

                                      external_acl_type ldap_group %LOGIN /usr/local/libexec/squid/squid_ldap_group -R -b "dc=srg,dc=net" -D "cn=Administrador,cn=Users,dc=srg,dc=net" -w "MinhaSenha" -f "(&(&(objectClass=person)(sAMAccountName=%u))(memberOf=%g))" -h 192.168.1.202;

                                      acl gprodutividade external ldap_group CN=g_prod,OU=u_internet,DC=srg,DC=net;

                                      acl restrito dstdom_regex -i "/var/squid/acl/produtividade.acl";

                                      http_access allow gprodutividade restrito;

                                      acl gtotal external ldap_group CN=g_total,OU=u_internet,DC=srg,DC=net;

                                      http_access allow gtotal;

                                      http_access deny all;


                                      @ricardodru:

                                      Valter, conseguiu resolver o problema?
                                      Acho estranho vc alterar o squid.inc, reiniciar o serviço, e o squid.conf nao ser reescrito.
                                      É padrão do pfsense (squid.inc) reescrever o squid.conf, sempre que o serviço ou o sistema for reiniciado. A nao ser que vc altere o squid.conf, faça uma copia, e um script se encarrega de repor o squid.conf original quando o sistema for reiniciado.
                                      Quando vc reinicia o serviço, vc faz isto via ssh ?
                                      Ao invez de reiniciar, ja tentou apenas salvar (clicando no botão), em uma das guias do proxy server ? Isto pode ser feito a guia Access Control.
                                      Qual a versão do pfsense que vc esta usando ?

                                      1 Reply Last reply Reply Quote 0
                                      • R
                                        ricardogarcia
                                        last edited by

                                        Boa noite, pessoal sou novo aqui,
                                        Tenho pfsense 2.0 já atualizado, squid, lightsquid e squidGuard
                                        A primeira duvida é fazer a autenticação por usuário no AD.  Até ja consegui mas só com usuarios da OU Users
                                        Porem, tenho uma OU com o nome ( funcionários ) com 5 usuarios, quando eu faço a alteração para enxergar os 5 usuarios….ex:(cn=squid,cn=FUNCIONARIOS,dc=dominio,dc=com,dc=br).  ele simplesmente não reconhece.

                                        A segunda duvida seria criar os grupos de liberação dentro de uma OU..
                                        OU - funcionarios   e  dentro desta grupo liberado e grupo bloqueado. nao entendi a parte de colar os codigos dentro do squid.inc

                                        Pessoal desde já agradeço a atenção de todos.

                                        Att

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          ricardodru
                                          last edited by

                                          @ricardogarcia:

                                          Boa noite, pessoal sou novo aqui,
                                          Tenho pfsense 2.0 já atualizado, squid, lightsquid e squidGuard
                                          A primeira duvida é fazer a autenticação por usuário no AD.  Até ja consegui mas só com usuarios da OU Users
                                          Porem, tenho uma OU com o nome ( funcionários ) com 5 usuarios, quando eu faço a alteração para enxergar os 5 usuarios….ex:(cn=squid,cn=FUNCIONARIOS,dc=dominio,dc=com,dc=br).  ele simplesmente não reconhece.

                                          A segunda duvida seria criar os grupos de liberação dentro de uma OU..
                                          OU - funcionarios   e  dentro desta grupo liberado e grupo bloqueado. nao entendi a parte de colar os codigos dentro do squid.inc

                                          Pessoal desde já agradeço a atenção de todos.

                                          Att

                                          Ricardo

                                          Primeiramente, sobre as duvidas no arquivo squid.inc, leia o tutorial que escrevi, lá vc entenderá o porque alterar o arquivo squid.inc.
                                          O tutorial está em PDF, veja nos posts anteriores o local de acesso ao arquivo.

                                          Para trabalhar com os grupos, crie uma OU chamada Internet. Dentro desta OU, vc cria os grupos (e relacione os usuarios aos grupos), e depois relacione estes grupos no squid.inc.

                                          Veja o exemplo:

                                          external_acl_type ldap_group children=30 %LOGIN /usr/local/libexec/squid/squid_ldap_group -v 3  -R -b "dc=dominio,dc=com,dc=br" -D "cn=squid,cn=Users,dc=dominio,dc=com,dc=br" -w "SENHA" -f "(&(objectclass=person) (sAMAccountName=%v) (memberof=cn=%a,ou=Internet,dc=dominio,dc=com,dc=br))" -h  10.22.5.10 -p 389

                                          Neste trecho:  memberof=cn=%a,ou=Internet,dc=dominio,dc=com,dc=br
                                          Em ou=Internet, é a OU que contem os grupos a serem autenticados.

                                          Depois de criar os grupos e relacionar cada usuario com os grupos, é só seguir o tutorial que eu fiz, indicando os grupos de acesso no squid.inc

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.