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

    TUTORIAL - Web Filter - Bloqueio de sites usando DNS - Pacote NXFILTER + Pfsense

    Scheduled Pinned Locked Moved Portuguese
    28 Posts 13 Posters 18.0k 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.
    • V
      victorfmaraujo
      last edited by

      Prezados, bom dia
      Estou passando para divulgar nosso grupo de mensagens via Telegram sobre um pacote que já estamos testando e trocando informações e idéias.
      Se trata do Nxfilter.  Para quem não conhece o mesmo, pode acessar o site > http://www.nxfilter.org
      Trata-se de um pacote que instalamos via Console, então muita gente pode se sentir "desconfortável" com essa solução, mas muitos colegas estão testando e aprovam os resultados.
      Muitos vão perguntar de cara (Bloqueia HTTPS?  precisa instalar certificado?  Precisa configurar proxy no navegador?  Integra com o AD?)
      Diferente do Squid (Que é um Proxy Server), o Nxfilter se trata de Um Servidor DNS com integração à listas (shallalist por exemplo) onde podemos configurar ACLS (Em comparação ao squid) permitindo ou negando um determinado Domínio.
      Como praticamente tudo na internet hoje em dia necessita de DNS para funcionar, a solução está se apresentando satisfatória com todos os nossos colegas.  Inclusive lá já temos vídeos feitos por nós demonstrando a instalação e exemplos de configuração.
      Quem quiser trocar idéias, conhecer o projeto e por em prática o nxfilter no Pfsense, acesse o link abaixo pelo telegram para automaticamente entrar no grupo.  Como não existe "pacote oficial" para pfsense, não temos como utilizar (Por enquanto) o fórum como canal principal de comunicação.  Inclusive estamos em contato com os responsáveis pelo projeto para quem sabe futuramente um pacote ser criado exclusivamente para pfsense.

      Link do Grupo
      https://telegram.me/joinchat/BpMjGQb6zc4kQv9c_R0Fvg

      #######À pedido do nosso amigo Marcelo Coutinho#######

      Abaixo o procedimento de instalação no pfsense.

      Considerações:
      Antes de começar, procure o link da versão mais atual do nxfilter em http://www.nxfilter.org/p2/?page_id=93
      O Nxfilter necessariamente necessita rodar nas portas 80, 443 e 53, logo você deverá alterar a porta da interface web do pfsense, caso não utilize a 80 ou 443, desconsidere.  Outro detalhe, por se tratar de um servidor dns, nenhum outro semelhante deverá estar rodando no pfsense (Bind, dnsmasq ou unbound por exemplo).

      Passos:  Toda a instalação é feita no console.
      1 - pkg update
      2 - pkg search ^openjdk
      3 - pkg install openjdk8-jre
      4 - rehash
      5 - mkdir -p /opt/nxfilter/
      6 - cd /opt/nxfilter/
      7 - fetch http://nxfilter.org/download/nxfilter-VERSAO.zip
      8 - unzip nxfilter-VERSAO.zip
      9 - cd /opt/nxfilter/bin
      10 - chmod +x *.sh
      11 - /opt/nxfilter/bin/startup.sh -d

      Para alterar o Timezone do  Nxfilter que costuma estar diferente do brasileiro, edite o arquivo /opt/nxfilter/bin/startup.sh
      nas linhas 8 e 12 adicionar logo após 'java' o parâmetro -Duser.timezone=America/Sao_Paulo

      Para fazer com que o nxfilter inicie junto com o boot do pfsense, baixe o pacote shellcmd e adicione o comando /opt/nxfilter/bin/startup.sh -d

      Para acessar a interface do Nxfilter, acesse:
      http://IP_PFSENSE/admin (Usuario e senha iniciais admin, admin)

      TUTORIAL OFICIAL do nxfilter > http://www.nxfilter.org/tutorial.html

      Vídeos de colegas que já estão testandeo e/ou utilizando o Nxfilter diretamente no pfsense.
      https://www.youtube.com/watch?v=Z4VAEtzYRlY
      https://www.youtube.com/watch?v=3P7AqXW55GM
      Youtube Video

      1 Reply Last reply Reply Quote 0
      • G
        guitarcleiton
        last edited by

        Poderia postar o link dos videos?

        Grato!

        Analista de Sistemas
        Bacharel em Sistemas de Informação

        https://cleiton.tech.blog/

        1 Reply Last reply Reply Quote 0
        • marcellocM
          marcelloc
          last edited by

          @victorfmaraujo:

          Como não existe "pacote oficial" para pfsense, não temos como utilizar (Por enquanto) o fórum como canal principal de comunicação.

          Pode colocar aqui com o procedimento de instalação como fiz com o contador de regras e o patch da consulta ldap do squidguard.

          @victorfmaraujo:

          Diferente do Squid (Que é um Proxy Server), o Nxfilter se trata de Um Servidor DNS com integração à listas (shallalist por exemplo) onde podemos configurar ACLS (Em comparação ao squid) permitindo ou negando um determinado Domínio.

          Tem uma implementação parecida usando o bind com views + opendns.

          Pessoalmente vejo vantagens nesse tipo de implementação para ambientes controlados mas infelizmente filtro de navegação por dns é facilmente contornado pelos usuários curiosos ou furiosos uma vez que as portas de navegação ficam abertas para acesso direto.

          Treinamentos de Elite: http://sys-squad.com

          Help a community developer! ;D

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

            @marcelloc:

            @victorfmaraujo:

            Como não existe "pacote oficial" para pfsense, não temos como utilizar (Por enquanto) o fórum como canal principal de comunicação.

            Pode colocar aqui com o procedimento de instalação como fiz com o contador de regras e o patch da consulta ldap do squidguard.

            @victorfmaraujo:

            Diferente do Squid (Que é um Proxy Server), o Nxfilter se trata de Um Servidor DNS com integração à listas (shallalist por exemplo) onde podemos configurar ACLS (Em comparação ao squid) permitindo ou negando um determinado Domínio.

            Tem uma implementação parecida usando o bind com views + opendns.

            Aliás, temos uma aula específica sobre este tema no treinamento pfSense Extranet: http://sys-squad.com/sys/curso/52

            Pessoalmente vejo vantagens nesse tipo de implementação para ambientes controlados mas infelizmente filtro de navegação por dns é facilmente contornado pelos usuários curiosos ou furiosos uma vez que as portas de navegação ficam abertas para acesso direto.

            Além disso, o NxFilter só consegue efetuar bloqueios por expressões/palavras com utilização de agents na ponta - o que está longe de ser prático!

            []`s
            Jack

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

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

              @JackL:

              Além disso, o NxFilter só consegue efetuar bloqueios por expressões/palavras com utilização de agents na ponta - o que está longe de ser prático!

              Não precisa de agente instalado, só se quiser fazer controle de aplicação.
              Posso usar lista como Shallalist da mesma forma que no Squidguard;

              Tomas @ 2W Consultoria

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

                @marcelloc:

                Pessoalmente vejo vantagens nesse tipo de implementação para ambientes controlados mas infelizmente filtro de navegação por dns é facilmente contornado pelos usuários curiosos ou furiosos uma vez que as portas de navegação ficam abertas para acesso direto.

                Mas impedindo que seja feita qualquer consulta a outros DNS que não seja o NxFilter não resolve o problema?

                Tomas @ 2W Consultoria

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

                  @Tomas:

                  Mas impedindo que seja feita qualquer consulta a outros DNS que não seja o NxFilter não resolve o problema?

                  Mas as portas TCP/80 e TCP/443 não vão estar abertas? De que adianta 'bloquear apenas consulta DNS' pra fora?

                  Qualquer usuário minimamente 'esperto' será capaz de configurar proxys abertos na internet ou locais pra navegar!

                  Este é mecanismo de segurança extremamente frágil, na minha opinião.

                  []`s
                  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

                    @Tomas:

                    Não precisa de agente instalado, só se quiser fazer controle de aplicação.
                    Posso usar lista como Shallalist da mesma forma que no Squidguard;

                    Sim, mas se quiseres bloquear/liberar expressões ou partes de URL e não domínios completos?

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

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

                      Criando Ruleset e aplicando a expressão regular.
                      Ainda estou testando mas me parece bem promissor, principalmente em ambientes com muitos dispositivos moveis, então não tenho todas as respostas! :)

                      Tomas @ 2W Consultoria

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

                        @Tomas:

                        Não vai ficar aberto, a porta 53 só vai ser permitida para consulta ao IP do pfSense/NxFilter.

                        Como não vai ficar aberto?

                        Como os usuários vão navegar na web se as portas 80 e 443 não estiverem abertas da LAN para WAN?

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

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

                          @JackL:

                          @Tomas:

                          Não vai ficar aberto, a porta 53 só vai ser permitida para consulta ao IP do pfSense/NxFilter.

                          Como não vai ficar aberto?
                          Como os usuários vão navegar na web se as portas 80 e 443 não estiverem abertas da LAN para WAN?

                          Desculpe, li errado as portas 80 e 443 ficam abertas sim, tinha entendido que a porta 53 iria ficar aberta, mas como te falei ainda estou estudando a ferramenta, quero validar essa questão.

                          Tomas @ 2W Consultoria

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

                            @Tomas:

                            Desculpe, li errado as portas 80 e 443 ficam abertas sim, tinha entendido que a porta 53 iria ficar aberta, mas como te falei ainda estou estudando a ferramenta, quero validar essa questão.

                            Sim, sim.. é uma 'ferramenta útil' para alguns tipos de cenário - mas fica longe de aplicar um controle realmente efetivo de acesso a web numa rede corporativa/crítica.

                            Tratar os filtros à web apenas por DNS pode parecer funcionar num primeiro momento (ká entre nós é simples de fazer - o pfSense com Bind que é nativo resolveria o problema), mas é um tratamento bastante frágil e simplista!

                            []`s
                            Jack

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

                            1 Reply Last reply Reply Quote 0
                            • C
                              castrofrota
                              last edited by

                              Pergunta: É possível usar em conjunto com o Squid? Tipo, somente o Squid teria acesso as porta 80, 443 e etc, configuramos o Squid para consultar somente o DNS do NxFilter, mas o controle de acesso é feito pelo NxFilter integrado com o AD. Resolveria o problema da fragilidade?

                              É possível ou viajei?

                              Hoje faço algo parecido com o OpenDNS, deixo bloqueado a categoria Porn por DNS e para outras categorias, uso o SquiGuard mesmo. O problema é que não teria como liberar a categoria Porn para um determinado grupo do AD ou user, caso houvesse solicitação.

                              1 Reply Last reply Reply Quote 0
                              • V
                                victorfmaraujo
                                last edited by

                                @JackL:

                                @marcelloc:

                                @victorfmaraujo:

                                Como não existe "pacote oficial" para pfsense, não temos como utilizar (Por enquanto) o fórum como canal principal de comunicação.

                                Pode colocar aqui com o procedimento de instalação como fiz com o contador de regras e o patch da consulta ldap do squidguard.

                                @victorfmaraujo:

                                Diferente do Squid (Que é um Proxy Server), o Nxfilter se trata de Um Servidor DNS com integração à listas (shallalist por exemplo) onde podemos configurar ACLS (Em comparação ao squid) permitindo ou negando um determinado Domínio.

                                Tem uma implementação parecida usando o bind com views + opendns.

                                Aliás, temos uma aula específica sobre este tema no treinamento pfSense Extranet: http://sys-squad.com/sys/curso/52

                                Pessoalmente vejo vantagens nesse tipo de implementação para ambientes controlados mas infelizmente filtro de navegação por dns é facilmente contornado pelos usuários curiosos ou furiosos uma vez que as portas de navegação ficam abertas para acesso direto.

                                Além disso, o NxFilter só consegue efetuar bloqueios por expressões/palavras com utilização de agents na ponta - o que está longe de ser prático!

                                []`s
                                Jack

                                Com certeza, assim que chegar em casa irei postar aqui tanto os vídeos do pessoal já testando, bem como o passo a passo de implementacao.

                                Concordo inclusive com o Jack sobre as portas http e https fixarem abertas, inclusive isso foi questão de uma calorosa discussão ontem no grupo Rsrs.

                                Chegamos à conclusão que,  até mesmo com o Squid sem interceptação ssl, não fica totalmente fechado e que o ideal é o conjunto com um ids /ips.

                                Creio inclusive que o treinamento de suricata irá me ajudar bastante nessa empreitada.

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

                                  @castrofrota:

                                  Pergunta: É possível usar em conjunto com o Squid? Tipo, somente o Squid teria acesso as porta 80, 443 e etc, configuramos o Squid para consultar somente o DNS do NxFilter, mas o controle de acesso é feito pelo NxFilter integrado com o AD. Resolveria o problema da fragilidade?

                                  É possível ou viajei?

                                  Possível, é, mas não é funcional, nem prático e muito menos performático. Dentro desta configuração, ao meu ver, o NxFilter fica como 'água de salsicha', ou seja, sem muita utilidade! - Já que todo o trabalho vai continuar sendo feito pelo Squid.

                                  Aliás, foi pensando exatamente neste tipo de cenário, onde se busca controle e auditoria de conexões HTTP/HTTPS - sem abrir mão de alto-desempenho, que desenvolvemos o SSO WMI: http://conexti.com.br/sso_wmi

                                  []`
                                  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

                                    @victorfmaraujo:

                                    Concordo inclusive com o Jack sobre as portas http e https fixarem abertas, inclusive isso foi questão de uma calorosa discussão ontem no grupo Rsrs.
                                    Chegamos à conclusão que,  até mesmo com o Squid sem interceptação ssl, não fica totalmente fechado e que o ideal é o conjunto com um ids /ips.

                                    A questão é que com Squid, as conexões HTTP/HTTPS passam obrigatoriamente por dentro do Proxy. Nada 'fica aberto' da LAN pra WAN sem 'auditoria' ou aplicação de 'webfilter' - mesmo sem intercepção SSL (coisa que aliás, particularmente, não recomendo por questões práticas e de segurança)!

                                    []`s
                                    Jack

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

                                    1 Reply Last reply Reply Quote 0
                                    • V
                                      victorfmaraujo
                                      last edited by

                                      @marcelloc:

                                      Pode colocar aqui com o procedimento de instalação como fiz com o contador de regras e o patch da consulta ldap do squidguard.

                                      Editei o primeiro Post e adicionei o passo a passo de implementação e alguns vídeos.

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        mateus0032
                                        last edited by

                                        Vejo uma grande ajuda para muitos, nada contra mas em redes que se utiliza muitos dispositivos movel como citado pelo Tomas acredito que sim é uma grande ajuda. Mas em questão de segurança dentre mais, sim squid é uma alternativa muito boa mas não vejo total segurança então nada que utilizar IDS/IPS ou pfblock ou ambos poderia sim manter uma boa segurança…
                                        Esse é meu ponto de vista onde hoje utilizo com dezenas de redes wireless e esta muito bom...

                                        1 Reply Last reply Reply Quote 0
                                        • E
                                          elizeufreitas
                                          last edited by

                                          Concordo com o Mateus, pois atualmente nosso grande problema é lidar com bloqueios https nos smartphones, e isso o nxfilter trouxe com facilidade.

                                          Realmente dá pra fazer algo parecido com o Bind, más não teremos a mesma praticidade, com as listas.

                                          E pra finalizar, essas "facilidades" em burlar a segurança do pfSense em conjunto com o NXFilter, precisa de algum usuário "espertinho", então esse certamente será demitido.

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

                                            @mateus0032:

                                            Vejo uma grande ajuda para muitos, nada contra mas em redes que se utiliza muitos dispositivos movel como citado pelo Tomas acredito que sim é uma grande ajuda. Mas em questão de segurança dentre mais, sim squid é uma alternativa muito boa mas não vejo total segurança então nada que utilizar IDS/IPS ou pfblock ou ambos poderia sim manter uma boa segurança…
                                            Esse é meu ponto de vista onde hoje utilizo com dezenas de redes wireless e esta muito bom...

                                            "Total segurança" é um termo que ninguém usaria em sã consciência - simplesmente porque ela não existe de fato!.

                                            Contudo, trabalhar com as portas de conexão diretas (80/443 neste exemplo) abertas, é um ato falho consideravelmente grave. O usuário não precisa ser 'muito esperto' para configurar um simples proxy local na sua máquina ou se quer isso. Ele pode usar centenas de opções em vários países do mundo de proxys abertos na Internet. Se você ainda não enfrentou problemas com usuários burlando este frágil esquema de segurança baseado num filtro DNS, logo, logo terá (se é que ainda não o tem e você não percebeu - já que não aplica filtros e auditoria sobre as portas de conexão).

                                            Quanto a usar um IPS/IDS ou mesmo o pfBlocker pra conexões saintes, realmente não entendo como isso poderia ajudar de fato. Um sistema de análise de intrusão em conjunto com bloqueios por ranges IP com base da região geográfica (pfBlocker) não resolveria nada neste caso. Ao contrário, deixaria todo o processo de análise de conexões muuuuuuiiiittooooo mais lento que um webproxy com webfilter bem configurado. Toda e qualquer eventual vantagem assinalada aqui em relação a performance com o uso do NxFilter, se perderia muito facilmente e ainda por cima sem qualquer resultado prático que aumentasse a segurança. Notem que usar um IDS/IPS ou um "IPv4/v6 List Sources by Country" são técnicas essencialmente de proteção na extranet (proteger a rede interna da Internet e não o oposto).

                                            Enfim, estas são apenas algumas reflexões que precisam ser feitas. Sei que é 'fácil subir um NxFilter na rede' e parar de filtrar/auditar as portas diretas de configuração. Também pode ser mais performático - mas não se iludam, isso está longe de ser algo eficiente do ponto de vista de segurança. Acho que pode até ser uma técnica complementar, mas não única para proteger redes locais de acesso indevido na web.

                                            []`s
                                            Jack

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

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