Navigation

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

    Liberar macs para não passar pelo proxy

    Portuguese
    6
    23
    3216
    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.
    • L
      lfernandosg last edited by

      Pessoal,

      Sempre usei linux para firewall e proxy(squid autenticado + iptables)

      Hoje minha solução é assim:

      Squid autenticado por usuário para proxy(tenho uma lista white e blacklist) onde fica tudo bloqueado e libero somente o que preciso.

      Exemplo do meu:
      #USER: Jeinne
      acl u_jeinne_url_allow  url_regex -i "/etc/squid/u_jeinne_allow"
      http_access allow  u_jeinne u_jeinne_url_allow
      acl u_jeinne_url_deny  url_regex -i "/etc/squid/u_jeinne_deny"
      http_access deny  u_jeinne u_jeinne_url_deny

      Dentro do u_jeinne_deny, tenho .* para ficar tudo bloqueado

      Tenho um arquivo no_cache onde ficam os sites que não passam pelo cache. Sites dinâmicos.
      o caminho do meu /etc/squid/no_cache

      Tenho uma lista liberados que são sites que não passam pela autenticação. São liberados para todos.
      /etc/squid/liberados

      Tenho sarg para relatório.
      caminho do meu: /etc/squid/sar.conf

      Caminho do cache, onde fica o caminho do cache squid para limpeza futuramente?

      Exemplo do meu:
      cache_dir ufs /var/cachesquid1  5120 16 256

      No firewall, só fiquei com dúvida para:

      1)Liberar os macs das máquinas da diretoria para não passar pelo proxy. Acesso liberado total sem passar pelo proxy
      Exemplo do meu:
      iptables -t nat -A PREROUTING -p tcp  -m mac –mac-source    64:76:ba:b5:6a:28  -d 0.0.0.0.0/0 --dport 80 -j  ACCEPT  #MBA NCF

      Essa linha está antes do direcionamento para a porta do proxy e o diretor navega normalmente sem passar pelo proxy

      2)Direcionamento para o proxy:

      iptables -t nat -A PREROUTING -i $IF_INTERNO -p tcp --dport 80 -j REDIRECT --to-port 3129  #redirecionar www da porta 80 para 3129 proxy
      iptables -A INPUT -i $IF_INTERNO --dst $IP_INTERNO/255.255.255.255 -p tcp --dport 3129 -j ACCEPT  # acesso interno ao Proxy aceitar os outros na porta 3128

      Como estou querendo migrar para o pfsense, e estou entrando agora no fórum, alguém pode me auxiliar como faço isso no firewall  e onde encontrar essa documentação para configurar o proxy dessa forma?

      1 Reply Last reply Reply Quote 0
      • B
        broonu last edited by

        @lfernandosg:

        Pessoal,

        Sempre usei linux para firewall e proxy(squid autenticado + iptables)

        Hoje minha solução é assim:

        Squid autenticado por usuário para proxy(tenho uma lista white e blacklist) onde fica tudo bloqueado e libero somente o que preciso.

        Exemplo do meu:
        #USER: Jeinne
        acl u_jeinne_url_allow  url_regex -i "/etc/squid/u_jeinne_allow"
        http_access allow  u_jeinne u_jeinne_url_allow
        acl u_jeinne_url_deny  url_regex -i "/etc/squid/u_jeinne_deny"
        http_access deny  u_jeinne u_jeinne_url_deny

        Dentro do u_jeinne_deny, tenho .* para ficar tudo bloqueado

        Tenho um arquivo no_cache onde ficam os sites que não passam pelo cache. Sites dinâmicos.
        o caminho do meu /etc/squid/no_cache

        Tenho uma lista liberados que são sites que não passam pela autenticação. São liberados para todos.
        /etc/squid/liberados

        Tenho sarg para relatório.
        caminho do meu: /etc/squid/sar.conf

        Caminho do cache, onde fica o caminho do cache squid para limpeza futuramente?

        Exemplo do meu:
        cache_dir ufs /var/cachesquid1  5120 16 256

        No firewall, só fiquei com dúvida para:

        1)Liberar os macs das máquinas da diretoria para não passar pelo proxy. Acesso liberado total sem passar pelo proxy
        Exemplo do meu:
        iptables -t nat -A PREROUTING -p tcp  -m mac –mac-source    64:76:ba:b5:6a:28  -d 0.0.0.0.0/0 --dport 80 -j  ACCEPT  #MBA NCF

        Essa linha está antes do direcionamento para a porta do proxy e o diretor navega normalmente sem passar pelo proxy

        2)Direcionamento para o proxy:

        iptables -t nat -A PREROUTING -i $IF_INTERNO -p tcp --dport 80 -j REDIRECT --to-port 3129  #redirecionar www da porta 80 para 3129 proxy
        iptables -A INPUT -i $IF_INTERNO --dst $IP_INTERNO/255.255.255.255 -p tcp --dport 3129 -j ACCEPT  # acesso interno ao Proxy aceitar os outros na porta 3128

        Como estou querendo migrar para o pfsense, e estou entrando agora no fórum, alguém pode me auxiliar como faço isso no firewall  e onde encontrar essa documentação para configurar o proxy dessa forma?

        Tranquilo?
        Vou tentar te ajudar pelo pouco que eu sei.
        Usando o pfsense, voc6e consegue até melhorar os controles por usuários e grupos no squid.
        No firewall, acho que você só consegue trabalhar com MAC habilitando o captive portal (trabalha com MAC no ipfw).

        Eu tenho rodando aqui o seguinte cenário:

        • Diversos departamentos, cada um em uma interface diferente
        • Firewall bloqueando tudo em todas as interfaces, liberando só as portas/ip's destino que o departamento precisa.
        • Wpad para proxy automatico no browser do usuario (http/https)
        • dhcpd com lease estatico para todos nas interfaces LAN
        • proxy squid+squidguard autenticando no samba4 ubuntu. com isso, eu libero grupos de acesso diferentes via grupo do AD.
        • squidguard

        Como sua dúvida foi só sobre liberar os MAC's, você poderia usar leases estáticos e liberar o IP da diretoria direto no firewall, sem passar pelo proxy.

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

          Muito obrigado pelo retorno.

          Instalei hoje e fiz a configuração do squid por grupo com autenticação local
          Mas o usuário do grupo só acessa o que está em withelist ma aba acl. Ele não acessa o que está na lista berada para o grupo dele. Segui o tutorial daqui. Pode me ajudar?

          Link: https://forum.pfsense.org/index.php?PHPSESSID=9opm9qfivng8frgc9ab83ica45&topic=91749.0

          Sobre o firewall, como usuária a regra: iptables -t nat -A PREROUTING -p tcp  -m mac –mac-source    64:76:ba:b5:6a:28  -d 0.0.0.0.0/0 --dport 80 -j  ACCEPT  #MBA

          No pfsense?

          1 Reply Last reply Reply Quote 0
          • T
            tomaswaldow last edited by

            Por MAC direto na regra não, vai ter que atrelar o MAC ao IP e usar IP.

            Tomas @ 2W Consultoria

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

              Então,

              O problema é que a rede é DHCP e o diretor não quer que eu coloque IP fixo na máquina dele. Se eu não fizer isso, vou ter problemas quando le pegar um IP novo.

              Não tem outra forma de liberar uma máquina para não passar pelo proxy?

              1 Reply Last reply Reply Quote 0
              • T
                tomaswaldow last edited by

                Atrela o MAC da máquina dele a um IP. Ele sempre vai receber o mesmo endereço.
                Só cadastrar ele nas opções do DHCP Server.

                https://doc.pfsense.org/index.php/DHCP_Server#Static_IP_Mappings

                Tomas @ 2W Consultoria

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

                  Entendi. Então, como ficaria essa regra de prerouting usando o ip ao invés do mac?

                  1 Reply Last reply Reply Quote 0
                  • T
                    tomaswaldow last edited by

                    O Iptables trabalha de forma diferente que o Packet Filter do pfSense.
                    Voce precisa somente criar um Alias com os IPs, e depois criar uma regra de PASS na interface onde as máquinas estão, por exemplo a LAN.

                    Recomendo você procurar videos de como funciona o firewall no pfSense, pois confunde um pouco para quem vem do Linux.

                    Da uma olhada neste vídeo, creio que vai te ajudar a entender melhor:
                    http://www.ivanildogalvao.com.br/seguranca/pfsense-firewall-e-roteamento

                    Tomas @ 2W Consultoria

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

                      Amigo muito obrigado.

                      Está funcionando!!!

                      Só tem um porém, será que tem como configurar uma página como no squid do linux para quando o usuário desmarcar o proxy e não for liberado, aparecer uma tela avisando?

                      Porque no pfsense só aparece: essa página da erb não está disponível.

                      1 Reply Last reply Reply Quote 0
                      • T
                        tomaswaldow last edited by

                        Como era a forma que fazia no Linux?

                        Tomas @ 2W Consultoria

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

                          Uso essa regra para direcionar todfo tráfego pra o proxy. Com isso, se o usuário desmarcar o proxy autenticado no navegador, ele redireciona automaticamente para a página erro "The requested URL could not be retrieved" onde eu peguei nesse arquivo na pasta de erros do squid e alterei.

                          #CONFIGURA?^??^?O PROXY##############################################
                          iptables -t nat -A PREROUTING -i $IF_INTERNO -p tcp –dport 80 -j REDIRECT --to-                                                                                        port 3129  #redirecionar www da porta 80 para 3129 proxy
                          iptables -A INPUT -i $IF_INTERNO --dst $IP_INTERNO/255.255.255.255 -p tcp --dpor                                                                                        t 3129 -j ACCEPT  # acesso interno ao Proxy aceitar os outros na porta 3128

                          1 Reply Last reply Reply Quote 0
                          • T
                            tomaswaldow last edited by

                            Certo, isso é feito automaticamente no pfSense quando ativo o proxy transparente, essa regra de redirecionamento é criada.
                            Essa pagina de erro você pode personalizar da mesma forma, pois é uma html do Squid.

                            Tomas @ 2W Consultoria

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

                              E no  meu caso que uso o proxy autenticado, não era para fazer isso automaticamente?

                              você usa squid transparente? me passa a regra para eu tentar colocar aqui para eu ver se redireciona no autenticado

                              1 Reply Last reply Reply Quote 0
                              • T
                                tomaswaldow last edited by

                                Proxy transparente não tem nada a ver com proxy autenticado.

                                A regra é criada pelo pfSense, não tem como eu te passar ela.

                                Eu só uso proxy ativo (não transparente).

                                Você ativa o proxy transparente nas configurações do Squid, e a regra vai ser criada, mas ela não aparece pra vocês nas regras de firewall da LAN.

                                Tomas @ 2W Consultoria

                                1 Reply Last reply Reply Quote 0
                                • R
                                  reinaldo.feitosa last edited by

                                  Se o proxy é autenticado, feche a porta 80/443 que se ele desmarcar o proxy no browser não vai navegar. Aquela sua regra do iptables estava usando um proxy misto autenticado/transparente, ou seja se o usuario desmarcar o proxy ele continuaria fazendo o proxy transparente.

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

                                    Isso já está feito!!

                                    Ai no caso, quando nega, abre essa tela em branco que falei anteriormente com a mensagem como se não tivesse internet"essa página da erb não está disponível." Preciso que abra uma pagina personalizada como no squid do linux entendeu?

                                    desde já agradeço,

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

                                      Alguem sabe como direcionar para uma página específica do squid quando não estiver com o proxy configurado no navegador?

                                      1 Reply Last reply Reply Quote 0
                                      • T
                                        tomaswaldow last edited by

                                        Use WPAD para entregar a configuração automática para os navegadores, assim não precisa configurar manualmente.

                                        Tomas @ 2W Consultoria

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

                                          Tomas.,

                                          O problema não é configurar manualmente ou automaticamente, quero realmente direcionar para uma página se o usuário não estiver com o navegador configurado. Nessa página, irei fazer uma customização onde ensino o usuário a configurar o proxy como faço hoje no linux.

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            tomaswaldow last edited by

                                            Eu entendi o que você quer, só te dei uma opção de não precisar fazer essa pagina. A configuração vai ser entregue automaticamente, é só uma opção. Faça como você achar melhor, eu só acho desnecessário.

                                            Tomas @ 2W Consultoria

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

                                              boa noite,

                                              aproveitando a conversa de voces eu criei um ambiente com PF 2.2.2 + AD(NTLM), usando WPAD para integrar as configurações, porém preciso de alguma forma criar exceção para os servidores nao passar pelo proxy, tenho procurado uma forma sem ser por regra de firewall.

                                              Alguem já conseguiu fazer isso?

                                              eu uso esses comandos no meu WPAD:

                                              function FindProxyForURL(url, host){
                                                var host_ip;
                                                //Exceção por rede de destino
                                                host_ip= dnsResolve(host);
                                                if (isInNet(host_ip, "127.0.0.1", "255.255.255.255"))
                                                    return "DIRECT";
                                                if (isInNet(host_ip, "192.168.2.0", "255.255.255.0"))
                                                    return "DIRECT";
                                                else
                                                    return "PROXY 192.168.2.2:3128";
                                              }

                                              abraços,

                                              Renan Lima

                                              1 Reply Last reply Reply Quote 0
                                              • T
                                                tomaswaldow last edited by

                                                Renan Lima,
                                                veja em: http://findproxyforurl.com/example-pac-file/

                                                // If the hostname matches, send direct.
                                                    if (dnsDomainIs(host, ".intranet.domain.com") ||
                                                        shExpMatch(host, "(*.abcdomain.com|abcdomain.com)"))
                                                        return "DIRECT";

                                                Tomas @ 2W Consultoria

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

                                                  @lfernandosg:

                                                  Alguem sabe como direcionar para uma página específica do squid quando não estiver com o proxy configurado no navegador?

                                                  Olá.

                                                  Uma pergunta… vc já tinha essa solução funcionando?
                                                  Seria uma possíbilidade se o pfsense fosse capaz de rodar 2 instâncias do proxy na mesma LAN (1 transparente e 1 autenticada).
                                                  Talvez seja possível usando captiveportal.

                                                  abs

                                                  Oswaldo Romano
                                                  SOSMICRO - uberaba - MG

                                                  1 Reply Last reply Reply Quote 0
                                                  • First post
                                                    Last post