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

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

    Portuguese
    13
    28
    18.0k
    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.
    • 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
                                  • T
                                    ThoMalverde
                                    last edited by

                                    Pergunta : É possível instalar o nxfilter no PfSense 2.3.2?

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

                                      @ThoMalverde:

                                      Pergunta : É possível instalar o nxfilter no PfSense 2.3.2?

                                      Sim, é possível: http://blog.bemanuel.com.br/post/nxfilter/nxfilter_pfsense_2_3/

                                      []`s
                                      Jack

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

                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        pliniofelipe
                                        last edited by

                                        @JackL:

                                        @ThoMalverde:

                                        Pergunta : É possível instalar o nxfilter no PfSense 2.3.2?

                                        Sim, é possível: http://blog.bemanuel.com.br/post/nxfilter/nxfilter_pfsense_2_3/

                                        []`s
                                        Jack

                                        Boa tarde, o pacote do java jdk não estão mais disponível no repositório padrão, como efetuaria a instalação dele neste caso?
                                        Se alguém puder ajudar agradecido! Muito Obrigado por este tutorial!

                                        Nulla tenaci invia est via - "Para os persistentes, nenhum caminho é impossível"

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

                                          @pliniofelipe:

                                          @JackL:

                                          @ThoMalverde:

                                          Pergunta : É possível instalar o nxfilter no PfSense 2.3.2?

                                          Sim, é possível: http://blog.bemanuel.com.br/post/nxfilter/nxfilter_pfsense_2_3/

                                          []`s
                                          Jack

                                          Boa tarde, o pacote do java jdk não estão mais disponível no repositório padrão, como efetuaria a instalação dele neste caso?
                                          Se alguém puder ajudar agradecido! Muito Obrigado por este tutorial!

                                          Segue esse tutorial do Tacio Andrade : http://pastebin.com/auANUcxk!
                                          Consegui instalar por ele!

                                          E 1 Reply Last reply Reply Quote 0
                                          • P
                                            pliniofelipe
                                            last edited by

                                            @ThoMalverde:

                                            @pliniofelipe:

                                            @JackL:

                                            @ThoMalverde:

                                            Pergunta : É possível instalar o nxfilter no PfSense 2.3.2?

                                            Sim, é possível: http://blog.bemanuel.com.br/post/nxfilter/nxfilter_pfsense_2_3/

                                            []`s
                                            Jack

                                            Boa tarde, o pacote do java jdk não estão mais disponível no repositório padrão, como efetuaria a instalação dele neste caso?
                                            Se alguém puder ajudar agradecido! Muito Obrigado por este tutorial!

                                            Segue esse tutorial do Tacio Andrade : http://pastebin.com/auANUcxk!
                                            Consegui instalar por ele!

                                            Funcionou perfeitamente! Muito Obrigado

                                            Vou aproveitar e agregar alguns detalhes do passo a passo:

                                            Segue o Tutorial do Tacio Andrade  http://pastebin.com/auANUcxk!

                                            ATENÇÃO PARA A LINHA 14 DO TUTORIAL DO TACIO, um pequeno ERRO de digitação na extensão do pacote JDK para instalar

                                            1 - #!/bin/sh
                                            2 - # Script: Scritp de instalação do NXFilter no pfSense 2.3 RC
                                            3 - # Autor: Tácio Andrade
                                            4 -
                                            5 - # Instala os pacotes necessários:
                                            6 - echo "Atualizando a lista de pacotes"
                                            7 -  pkg update
                                            8 - echo "Instalando o Cron"
                                            9 - pkg install pfSense-pkg-Cron
                                            10 - echo "Baixando o Java"
                                            11 - fetch http://tacioandrade.com/owncloud/index.php/s/zDW2mtOgpDxT99c/download -o openjdk8-jre.zip
                                            12 - unzip openjdk8-jre.zip
                                            13 - echo "Instalando o Java"
                                            14 - pkg add openjdk8-jre/openjdk8-jre*.xtz  ''TROQUE A EXTENSÃO .XTZ POR .TXZ''  se não não irá instalar!!
                                            15 - rehash

                                            16 - # Inicia a instalação do NXFilter
                                            17 - echo "Criando a pasta do NXFilter"
                                            17 - mkdir -p /opt/nxfilter/
                                            18 - cd /opt/nxfilter/
                                            19 - echo "Baixando a versão 3.1.6 do NXFilter"
                                            20 - fetch http://nxfilter.org/download/nxfilter-3.1.6.zip
                                            21 - unzip nxfilter-.zip
                                            22 - rm -fr nxfilter-
                                            .zip
                                            23 - chmod +x /opt/nxfilter/bin/*.sh
                                            24 - echo "NXFilter instalado com sucesso!"
                                            25 - read -p "Vá até o dnsforward e desabilite o serviço. Depois disso vá em System -> Advanced e altere o TCP port para 10443. E pressione qualquer tecla para continuar a configuração."

                                            26 - # Instalando o Shallalist
                                            27 - echo "Instalando o Shallalist"
                                            28 - mkdir  /opt/nxfilter/shallalist1
                                            29 - cd /opt/nxfilter/shallalist1
                                            30 - fetch http://www.shallalist.de/Downloads/shallalist.tar.gz
                                            31 - tar -zxf shallalist.tar.gz
                                            32 - echo "Se prepara pois esta parte demora!!!!!"
                                            33 - /opt/nxfilter/bin/update_sh.sh /opt/nxfilter/shallalist1/BL

                                            34 - # Cria Script de auto start caso o serviço caia
                                            35 - fetch http://tacioandrade.com/owncloud/index.php/s/euft2ruu4StzORM/download -o /root/iniciaNXFilter.sh

                                            36 - chmod +x /root/iniciaNXFilter.sh
                                            37 - echo "NXFilter instalado com sucesso. Crie uma regra no Cron para executar o script /root/iniciaNXFilter.sh o tempo todo e sua instalação estara finalizada!!!"

                                            AGREGANDO

                                            1 - Você pode instalar a versão mais nova do NXFILTER, basta quando chegar na linha 19 e 20 do tutorial do Tácio vc trocar o nome do arquivo para a versão mais recente do NXFILTER, fiquem atentos a NOVA POLÍTICA DE USO DO NXFILTER, pois a nova versão 3.4  ela foi alterada, antes era possível usar a Blacklist SHALLALIST em ambientes COMERCIAIS sem a licença, mas a SHALLALIST é livre apenas em ambientes para fins NÃO COMERCIAL. A solução que eles fizeram foi uma versão OEM do NXFILTER, no site tem o endereço para download, e quando for instalar em ambiente COMERCIAL use a versão OEM;

                                            2 - Instale o Pacote ShellCMD para fazer o NXFilter iniciar junto com o REBOOT do PFSense
                                            Nele adicione o comando : /opt/nxfilter/bin/startup.sh –d

                                            3 - A Time Zone do NXFilter costuma estar diferente a do Brasil, para corrigir basta editar o arquivo /opt/nxfilter/bin/startup.sh e editar as linhas 8 e 12 logo após ''java'' e acrescentar o parâmetro:  -Duser.timezone=America/Sao_Paulo LEMBRANDO, NAS LINHAS 8 E 12
                                            O Correto ficará assim:

                                            #!/bin/sh
                                            cd $(dirname $0)
                                            cd ..
                                            export NX_HOME=$PWD
                                            export PATH=$PATH:/usr/bin:/usr/local/bin
                                            case $1 in
                                            '-d')
                                            nohup java -Duser.timezone=America/Sao_Paulo -Djava.net.preferIPv4Stack=true -Xmx512m -Djava.security.egd=file:/dev/./urandom -cp $NX_HOME/nxd.jar:$NX_HOME//lib/: nxd.Main > /dev/null 2>&1 &
                                            ;;
                                            )
                                            #java -Xmx512m -cp $NX_HOME/nxd.jar:$NX_HOME//lib/
                                            : nxd.Main
                                            java -Duser.timezone=America/Sao_Paulo -Djava.net.preferIPv4Stack=true -Xmx512m -Djava.security.egd=file:/dev/./urandom -cp $NX_HOME/nxd.jar:$NX_HOME//lib/
                                            : nxd.Main
                                            ;;
                                            esac

                                            4 - Adicione também este comando ao CRON: /root/checknx.sh configure para executar o tempo todo

                                            5 - Comandos Úteis para o NXFILTER

                                            opt/nxfilter/bin/startup.sh -d        INICIA O NXFILTER
                                            opt/nxfilter/bin/shutdown.sh -d    DESLIGA O NXFILTER

                                            1. Abraço a todos!

                                            Nulla tenaci invia est via - "Para os persistentes, nenhum caminho é impossível"

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