se for usa pf usa esta regra block in log on $ext_if1 inet proto icmp from any to any icmp-type redir block in log on $int_if inet proto icmp from any to any icmp-type redir
Em 28 de março de 2012 11:52, Marcelo Gondim <gon...@bsdinfo.com.br> escreveu: > Em 28/03/2012 10:24, Marco Aurélio V. da Silva escreveu: >> Caros, >> >> É o seguinte, tenho sofrido ataques a um servidor meu dns que tem variado o >> ip de origem. Segue log feito utilizando tcpdump: >> >> IP (tos 0x0, ttl 64, id 49078, offset 0, flags [none], proto UDP (17), >> length 29, bad cksum 0 (->261c)!) xxx.xxx.xxx.xxx.59663> >> 91.204.161.226.46325: [bad udp cksum c007!] UDP, length 1 >> IP (tos 0x0, ttl 64, id 49079, offset 0, flags [none], proto UDP (17), >> length 29, bad cksum 0 (->261b)!) xxx.xxx.xxx.xxx.59663> >> 91.204.161.226.46325: [bad udp cksum c007!] UDP, length 1 >> IP (tos 0x0, ttl 64, id 49080, offset 0, flags [none], proto UDP (17), >> length 29, bad cksum 0 (->261a)!) xxx.xxx.xxx.xxx.59663> >> 91.204.161.226.46325: [bad udp cksum c007!] UDP, length 1 >> IP (tos 0x0, ttl 64, id 49081, offset 0, flags [none], proto UDP (17), >> length 29, bad cksum 0 (->2619)!) xxx.xxx.xxx.xxx.59663> >> 91.204.161.226.46325: [bad udp cksum c007!] UDP, length 1 >> IP (tos 0x0, ttl 64, id 49082, offset 0, flags [none], proto UDP (17), >> length 29, bad cksum 0 (->2618)!) xxx.xxx.xxx.xxx.59663> >> 91.204.161.226.46325: [bad udp cksum c007!] UDP, length 1 >> IP (tos 0x0, ttl 64, id 49083, offset 0, flags [none], proto UDP (17), >> length 29, bad cksum 0 (->2617)!) xxx.xxx.xxx.xxx.59663> >> 91.204.161.226.46325: [bad udp cksum c007!] UDP, length 1 >> IP (tos 0x0, ttl 64, id 49084, offset 0, flags [none], proto UDP (17), >> length 29, bad cksum 0 (->2616)!) xxx.xxx.xxx.xxx.59663> >> 91.204.161.226.46325: [bad udp cksum c007!] UDP, length 1 >> IP (tos 0x0, ttl 64, id 49085, offset 0, flags [none], proto UDP (17), >> length 29, bad cksum 0 (->2615)!) xxx.xxx.xxx.xxx.59663> >> 91.204.161.226.46325: [bad udp cksum c007!] UDP, length 1 >> IP (tos 0x0, ttl 64, id 49086, offset 0, flags [none], proto UDP (17), >> length 29, bad cksum 0 (->2614)!) xxx.xxx.xxx.xxx.59663> >> 91.204.161.226.46325: [bad udp cksum c007!] UDP, length 1 >> IP (tos 0x0, ttl 64, id 49087, offset 0, flags [none], proto UDP (17), >> length 29, bad cksum 0 (->2613)!) xxx.xxx.xxx.xxx.59663> >> 91.204.161.226.46325: [bad udp cksum c007!] UDP, length 1 >> >> Poderiam me dar uma dica de como bloquear estes ataques ? Inicialmente eu >> tenho adicionado regras do ipfw para bloquear os ips, mas a cada ataque o ip >> muda. >> >> Desde já agradeço a atenção recebida. > > Bem você poderia tentar algumas coisas: > > 1) Setar política default no ipfw como drop adicionando como últimas linhas: > > ipfw add allow tcp from me to any out setup keep-state > ipfw add allow all from me to any out keep-state > ipfw add 65534 deny log all from any to any > > As regras acima libera as saídas do seu servidor de dns e bloqueia o > restante. Logicamente que você vai ter que ter as regras antes liberando > suas portas de entrada. > > 2) liberar apenas pacotes que sejam: arp, rarp e ipv4: > > # So passa IPv4 > # habilitar net.link.ether.ipfw=1 > # ip 0x0800 > # ipv4 0x0800 > # ipv6 0x86dd > # arp 0x0806 > # rarp 0x8035 > # vlan 0x8100 > # loop 0x9000 > # trail 0x1000 > # at 0x809b > # atalk 0x809b > # aarp 0x80f3 > # pppoe_disc 0x8863 > # pppoe_sess 0x8864 > # ipx_8022 0x00E0 > # ipx_8023 0x0000 > # ipx_ii 0x8137 > # ipx_snap 0x8137 > # ipx 0x8137 > # ns 0x0600 > ipfw add allow all from any to any layer2 mac-type ipv4,arp,rarp > > Para usar esse recurso precisa habilitar net.link.ether.ipfw=1 no > /etc/sysctl.conf e ativar ele. > IMPORTANTE!!! Lembrando que se a última linha do seu firewall for DROP > pra tudo e habilitar net.link.ether.ipfw=1... se não houver a regra > acima e outras regras liberando suas portas de acesso ao servidor, vai > travar o acesso remoto à essa máquina. :) > > Aqui no meu caso descobri uns pacotes estranhos vindos da minha > operadora e comecei à barrar eles e informei a operadora. Chegava > pacotes de outras empresas na minha vlan. > Pode não ser seu caso mas é bom filtrar. Se você tiver trânsito IPv6 não > esquecer de habilitar na regra o ipv6 também. > > 3) Nas liberações dos serviços se for udp coloca um "limit src-addr 1", > por exemplo, mas vai depender da sua necessidade. Com essa regra você > limitaria até 1 conexão vinda do mesmo IP para o seu serviço. > > Exemplo: ipfw add allow tcp from any to me 22 setup limit src-addr > 1 nesse caso estou limitando apenas 1 conexão vinda de um mesmo IP > na porta do ssh. É uma boa proteção para DoS. > > O "setup" você só usa em conexões TCP porque ele obriga a conexão fazer > o 3 way hadshake. > > Mais uns carinhas legais no sysctl.conf: > > net.inet.ip.redirect=0 > net.inet.ip.sourceroute=0 > net.inet.ip.accept_sourceroute=0 > net.inet.icmp.maskrepl=0 > net.inet.icmp.log_redirect=0 > net.inet.icmp.drop_redirect=1 > net.inet.tcp.drop_synfin=1 > > Bem essas são algumas dicas mas vale muito de como você configurou seu > sistema e suas regras. > >> Marco Aurélio V. da Silva >> ma...@prodatanet.com.br >> marcoprod...@gmail.com >> msn: ma...@prodatanet.com.br >> Prodata Inf. e Cadastros LTDA >> (33) 3322-4444 >> ------------------------- >> 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 -- Alessandro de Souza Rocha Administrador de Redes e Sistemas FreeBSD-BR User #117 Long live FreeBSD Powered by .... (__) \\\'',) \/ \ ^ .\._/_) www.FreeBSD.org ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd