[FUG-BR] IPFW - Bloquear dominios pelo Firewall

Danilo Neves danilorpneves em bsd.com.br
Quinta Junho 7 13:53:39 BRT 2012


Pois é Renato...
Mas a idéia é mais pra didática mesmo....ai queria saber se tem como fazer
no ipfw
sei que o pf faz...mas no ipfw eu não sei...por isso perguntei se tem como
fazer com ipfw


Em 7 de junho de 2012 13:37, Renato Frederick <renato em frederick.eti.br>escreveu:

> Opa,
>
> Danilo, sem um proxy(Squid e tal),que faz o L7 e vai inspecionar a URL,
> etc, etc, estes bloqueios por IP - no meu ponto de vista são muito
> radicais e manuais.
> Colocar o ipfw para dar deny dependendo de nome é um problema também,
> seu firewall fica preso ao DNS responder.
> o Ideal é usar um squid/lusca transparente e fazer nele o controle de URL.
>
> Se o servidor não puder rodar squid, aí só vejo alternativa você usar o
> whois para obter os blocos de IP deles e ir bloqueando.
>
>
> Em 07/06/12 13:07, Danilo Neves escreveu:
> > Caro colegas da comunidade....é o seguinteee
> > Não sei se estou fazendo da forma correta ou se um jeito melhor (sem
> > proxy), mas vamos supor que eu queira bloquear o facebook.com
> > pelo ipfw.
> >
> > ipfw add deny ip from any to facebook.com
> >
> > Nesse caso ele só vai bloquear o ip que resolveu na hora como mostro
> > abaixo...mas o facebook é resolvido por vários IPs...e sendo assim não
> > seria a forma ideal.
> >
> > # ipfw show
> > 00100      0        0 deny tcp from any to 69.171.224.37
> >
> >
> > No iptables  ele já pega todos os ips  e já bloqueia.
> >
> > Comando para bloquear
> > #iptables -A OUTPUT -d facebook.com.br -j DROP
> >
> > Listando os ips bloqueados
> > #iptables -nL OUTPUT
> > Chain OUTPUT (policy ACCEPT)
> > target     prot opt source               destination
> > DROP       all  --  0.0.0.0/0            69.171.242.11
> > DROP       all  --  0.0.0.0/0            66.220.158.11
> > DROP       all  --  0.0.0.0/0            69.171.224.37
> > DROP       all  --  0.0.0.0/0            66.220.149.11
> > DROP       all  --  0.0.0.0/0            69.171.229.11
> >
> > Vejam que ele já pegou todos os ips e dropou :D
> >
> > Agora vem a pergunta....no ipfw tem algum parâmetro que eu tenho q
> colocar
> > para bloquear todos os ips que resolve o nome facebook.com?
> >
> >
> > Veja uma alternativa em script e table dentro do arquivo do firewall a
> ser
> > carregado:
> >
> --------------------------------------------------------------------------------
> > ipfw -f flush
> > # Table
> > # é só criar um arquivo /etc/rc.blacklist e colocar dentro o nome dos
> > domínios a serem bloqueados
> >
> > while read domain
> > do
> >      nslookup $domain | grep Address | grep -v '#' | egrep
> > '([0-9]{1,3}\.){3}([0-9]){1,3}' | awk '{print $2}'>>  /etc/blockedips
> > done<  /etc/rc.blacklist
> >
> > ipfw -f table 91 flush
> >   for rede in $(cat /etc/blockedips) ; do
> >     ipfw table 91 add $rede
> >   done
> >
> > rm /etc/blockedips
> >
> >
> > ipfw add  1 deny ip from any to "table(91)"
> >
> >
> -----------------------------------------------------------------------------------------------
> >
> >
> > Ou seja...quando eu coloco dentro do arquivo /etc/rc.blacklist os nome
> dos
> > domínios
> >
> > facebook.com
> > terra.com.br
> >
> > ele vai resolver todos os ips do domínio com nslookup e jogar pra dentro
> do
> > arquivo os /etc/blockedips que colequei dentro da table 91.
> > Tendeu????
> >
> > Tem uma forma melhor de fazer isso ou correta com ipfw ??
> > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>


Mais detalhes sobre a lista de discussão freebsd