Script pronto para Bloquear sites HTTPS
-
Boa Noite Pessoas,
Estou migrando do BrazilFw para o PFSENSE, e me deparei com o grande problema de muitos que é o bloqueio de sites https. No BrazilFw, um user fez um sript para automatizar o processo de bloqueio mas como o BFW utiliza iptables eu não consegui colocar para rodar o as regras corretamente. Procurei material do ipfw porém não consegui converter as regras.
Alguem poderia me ajudar? Vai ser uma coisa boa para todos, pois com ele fica muito simples. Adicionando apenas os sites que quer bloquear e quais ips vão passar pelo filtro.
O script principal é para adicionar regras ao iptables:
Select all #!/bin/sh caminho="/partition/bloquear/" ###############limpa os treco tudo #rm -f ${caminho}ipsexo ##rm -f ${caminho}limpar_restricao #vai ficar assim #dig +short www.f****.com >> ${caminho}ipsexo #enquanto le o arquivo executa a descoberta de ips sort ${caminho}sexo | while read p; do dig +short $p >> ${caminho}ipsexo done #remover linha iguais, copiando e colando em cima do mesmo arquivo sort ${caminho}ipsexo | uniq >> ${caminho}tempipsexo ; rm -f ${caminho}ipsexo ; mv ${caminho}tempipsexo ${caminho}ipsexo sed '/timed out/d' ${caminho}ipsexo >> ${caminho}tempipsexo ; rm -f ${caminho}ipsexo ; mv ${caminho}tempipsexo ${caminho}ipsexo #verifica a existencia de regras anteriores e as deleta em FORWARD iptables -t filter -L >> ${caminho}verifica if grep -q "RESTRICAO" "${caminho}verifica" then { ##########Apagar regras de redirecionar para a chain RESTRICAO sort ${caminho}iplocalantigo | while read IPantigo; do /usr/sbin/iptables -D FORWARD -p tcp -s $IPantigo --dport 20:79 -j RESTRICAO /usr/sbin/iptables -D FORWARD -s $IPantigo -p tcp --dport 81:909 -j RESTRICAO /usr/sbin/iptables -D FORWARD -s $IPantigo -p tcp --dport 914:8179 -j RESTRICAO /usr/sbin/iptables -D FORWARD -s $IPantigo -p tcp --dport 8182:65535 -j RESTRICAO done #apagar cópia iplocalantigo rm -f ${caminho}iplocalantigo } fi if grep -q "RESTRICAO" "${caminho}verifica" then { ###########Apagar Chain RESTRICAO /usr/sbin/iptables -t filter -F RESTRICAO /usr/sbin/iptables -t filter -X RESTRICAO } fi ###########Criar nova chain com nome RESTRICAO /usr/sbin/iptables -t filter -N RESTRICAO rm -f ${caminho}verifica ###########Politica padrão da chain RESTRICAO é accept iptables -t filter -A RESTRICAO -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT ###########Destinos bloqueados da RESTRICAO sort ${caminho}ipsexo | while read IP2; do /usr/sbin/iptables -I RESTRICAO -d $IP2 -j REJECT done sort ${caminho}iplocal | while read IP; do ###########Redirecionar para a chain RESTRICAO, os ips locais /usr/sbin/iptables -I FORWARD -p tcp -s $IP --dport 20:79 -j RESTRICAO >> ${caminho}FORWARD /usr/sbin/iptables -I FORWARD -s $IP -p tcp --dport 81:909 -j RESTRICAO >> ${caminho}FORWARD /usr/sbin/iptables -I FORWARD -s $IP -p tcp --dport 914:8179 -j RESTRICAO >> ${caminho}FORWARD /usr/sbin/iptables -I FORWARD -s $IP -p tcp --dport 8182:65535 -j RESTRICAO >> ${caminho}FORWARD done #faz copia de segurança cp ${caminho}iplocal ${caminho}iplocalantigo
Script para atualizar lista de ip:
Select all #!/bin/sh caminho="/partition/bloquear/" ###############limpa os treco tudo #rm -f ${caminho}ipsexo ##rm -f ${caminho}limpar_restricao #vai ficar assim #dig +short www.f****.com >> ${caminho}ipsexo #enquanto le o arquivo executa a descoberta de ips sort ${caminho}sexo | while read p; do dig +short $p >> ${caminho}ipsexo done #remover linha iguais, copiando e colando em cima do mesmo arquivo sort ${caminho}ipsexo | uniq >> ${caminho}tempipsexo ; rm -f ${caminho}ipsexo ; mv ${caminho}tempipsexo ${caminho}ipsexo sed '/timed out/d' ${caminho}ipsexo >> ${caminho}tempipsexo ; rm -f ${caminho}ipsexo ; mv ${caminho}tempipsexo ${caminho}ipsexo
Script para limpar lista de ip:
Select all #!/bin/sh caminho="/partition/bloquear/" ###############limpa os treco tudo rm -f ${caminho}ipsexo
Primeiro deve ser criado a pasta: /partition/bloquear/ e dentro delas colocar os scripts e os arquivos: sexo(arquivos que contem os sites) iplocal(arquivo que contem os ips filtrados)
Creditos ao user ceserjhony do forum BrazilFw
-
lucasbira, bem vindo ao fórum! :)
No pfsense, para bloquear o nome do site, basta criar um alias com todos os nomes dos hosts/sites que quiser bloquear.
Depois de criar o alias, basta associa-lo a uma regra.
Para bloquear sites https, você pode utilizar também o squid3-dev ou marcar(automático ou manual) o proxy no browser dos clientes.
att,
Marcello Coutinho -
lucasbira, bem vindo ao fórum! :)
No pfsense, para bloquear o nome do site, basta criar um alias com todos os nomes dos hosts/sites que quiser bloquear.
Depois de criar o alias, basta associa-lo a uma regra.
Para bloquear sites https, você pode utilizar também o squid3-dev ou marcar(automático ou manual) o proxy no browser dos clientes.
att,
Marcello CoutinhoEntao a facilitade do script é que ele busca os ips dos sites e adiciona automaticamente, sem a necessidade de ficar alterando o alias. Eu acabei de instalar aqui o squid3-dev, antes estava com o squid3 por isso nao tava dando. Agora vou configurar o dansguardian para ver se vai funcionar o bloqueio dos sites https.
Att lucas
-
Entao a facilitade do script é que ele busca os ips dos sites e adiciona automaticamente
Bom esta função faz parte do alias. Você coloca o nome lá e na regras(não na interface gráfica) ficam os ips.
-
Entao a facilitade do script é que ele busca os ips dos sites e adiciona automaticamente
Bom esta função faz parte do alias. Você coloca o nome lá e na regras(não na interface gráfica) ficam os ips.
Entendi marcelloc, vou testar por alias e depois por squid. Abcs