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