TUTORIAL - Web Filter - Bloqueio de sites usando DNS - Pacote NXFILTER + Pfsense
-
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.
-
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.
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
JackCom 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.
-
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 -
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 -
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.
-
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... -
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.
-
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 -
Pergunta : É possível instalar o nxfilter no PfSense 2.3.2?
-
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 -
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
JackBoa 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! -
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
JackBoa 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! -
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
JackBoa 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 - rehash16 - # 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/BL34 - # Cria Script de auto start caso o serviço caia
35 - fetch http://tacioandrade.com/owncloud/index.php/s/euft2ruu4StzORM/download -o /root/iniciaNXFilter.sh36 - 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 –d3 - 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
;;
esac4 - 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- Abraço a todos!
-
@thomalverde olá, link quebrado para jdk...alguém conhece algum repositório para baixá-lo???
-
Bom dia o link do openjdk está quebrado, alguém teria outro link para disponibilizar?
-
Pessoal, boa tarde.
Existe a possibilidade de trabalhar com o PFSense e NxFilter em hosts diferentes? Pelo que vi, estão sendo instalados todos no mesmo host, como se o NxFilter fosse um 'pacote não oficial' do PFSense.