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

    Pfsense + Squid + LDAP + ACL BASEADA EM GRUPOS DO AD

    Scheduled Pinned Locked Moved Portuguese
    5 Posts 4 Posters 15.5k 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.
    • F
      fabiod
      last edited by

      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 LDAP

      Este 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

      1 Reply Last reply Reply Quote 0
      • L
        leandrodearaujo
        last edited by

        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>

        1 Reply Last reply Reply Quote 0
        • S
          souzalinux
          last edited by

          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

          Souza Linux

          1 Reply Last reply Reply Quote 0
          • L
            leandrodearaujo
            last edited by

            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>

            1 Reply Last reply Reply Quote 1
            • T
              tcorreia
              last edited by

              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

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