[FUG-BR] Ataque de DDoS tem como evitar ?

Marcelo Soares da Costa unixmafia em yahoo.com.br
Quinta Setembro 6 16:55:11 BRT 2007


Otimas informações sobre pf pode ser lida aqui

http://www.section6.net/wiki/index.php/Setting_up_a_Firewall_NAT_using_PF

http://www.freebsddiary.org/pf.php

e no manual claro

Eu gosto do jeito do IPFW , mas ambos são otimos e tanto um qto o outro
vai atender perfeitamente , acho que a escolha é mais em função de
gosto , o que vc se sente mais a vontade, aliais o propio OS é isso , o
melhor é aquele que vc sabe usar bem.

[]'s

Em Qui, 2007-09-06 às 16:46 -0300, Marcio Antunes escreveu:
> Muito obrigado lista.. sinceramente é um prazer participar desta
> comunidade..incentiva cada vez mais o uso do FreeBSD..  Realmente essa
> semana foi fogo ainda bem que tem um feriado ai.. esse assunto e o
> squid .. foi pano para render muitas opiniões, todas de alto nivel.
> 
> Vou montar um servidor para ele em FreeBSD, (se o meu amigo ainda
> estiver vivo) o que ele tem é em slackware, e colocar em pratica tudo
> que vcs me passaram. primeiramente vou usar o PF, não sei pq tenho
> mais afinidade com ele.. vivo entre a cruz e espada com IPFW. até hoje
> nao me decidi definitivamente com qual.
> 
> Depois eu vou postar os resultados na lista.
> 
> Valeu.
> 
> Em 06/09/07, breno at lagosnet.com.br<breno at lagosnet.com.br> escreveu:
> >     Só para ilustrar, segue abaixo um artigo interessante sobre DOS, que vi no
> > VOL (sim, estou certo que alguns não irão gostar, mas o conteúdo é bom :)
> >  Link: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=7070&pagina=1
> >
> > Att,
> > Breno Fernandes
> >
> >
> >
> >
> > > Esse tread cresceu bastante , como disse o colega de lista o semaninha
> > > danada ...
> > >
> > > Bem vou espor umas idéias , vou tentar ser um Mythbuster ..... mesmo que
> > > eu não tenha tanto talento qto.
> > >
> > > http://www.discoverybrasil.com/cacadores_funsite/
> > >
> > > a pergunta é :
> > >
> > > Ataque de DDoS tem como evitar ?
> > >
> > > Resposta: Não, porque enquanto existir jovens espinhentos que não
> > > praticam sexo sempre tera um desses querendo mostrar o poder de querer
> > > ser um "HACKER" fazendo papel de "LAMER".
> > >
> > > Mas se isso é um fato , o quanto eu estou vuneravel a este tipo de
> > > ataque ?
> > >
> > > Bem a definição disso passa por muitas coisas , com o aumento das bandas
> > > de conexão é digamos até esperado que esse tipo de ataque seja mais
> > > frequente e tenha maior probabilidade de atingir algum tipo de objetivo,
> > > isso é se isso tem algum objetivo além de gerar discussões,
> > > controvérsias e aborrecimento para algumas pessoas.
> > >
> > > Em contrapartida isso não tem nada de novidade é historicamente poucos
> > > desses ataques tiveram realmente destaques mundiais , um lá pelos idos
> > > de 1996 que tirou boa parte do que era uma redezinha internacional
> > > funcionando que era usada denominada internet e o caso mais famoso na
> > > minha opinião que vou o ataque em massa ao Yahoo onde o destaque foram
> > > os servidores FreeBSD que sobreviveram muito bem. Desde então muita
> > > coisa mudou , os sistemas operacionais evoluiram e temos o cenario
> > > atual, alguma referencia pode ser encontrada :
> > >
> > > http://en.wikipedia.org/wiki/Denial-of-service_attack
> > >
> > > A resposta é que se voce tem um bom sistema bem configurado , não estou
> > > me referindo a um OS específico , quase certo que voce de certa maneira
> > > esta imune a este tipo de ataque, todos os sistemas adotaram ações
> > > pró-ativas contra esses ataques, excessões podem existir lógico.
> > >
> > >
> > > Bem essa lista trata de FreeBSD e seus "Primos" , então focando nisso
> > > podemos considerar :
> > >
> > > Todos os BSD's tem proteção pró-ativa contra DDOS !!!!
> > >
> > > Experimente vc mesmo ai na sua rede "flodar" um BSD , olhe o prompt e
> > > vera mensagens do sistema descartando pacotes , isso não requer qualquer
> > > tipo de ação ou setup, é um recurso de segurança dos sistemas BSD's.
> > >
> > > Dai então a pergunta :
> > >
> > > Então vc pode simplemente ignorar um ataque DDOS ?
> > >
> > > Resposta : Não , não deve , vc deve ter o maximo de preocupação com
> > > isso , mesmo porque saiba-se lá o que pode estar por detraz de um ataque
> > > desses, vc deve ao menos tomar providencias com a intenção de ao menos
> > > desistimular os esfeitos colaterais desses ataques.
> > >
> > > Como isso pode ser feito ?
> > >
> > > Bem qualquer filtro de pacote tem, ou deveria ter , mecanismos que
> > > bloqueam pacotes cujo objetivo são simplesmente causar problemas.
> > >
> > > Onde vc encontra informações sobre como configurar meu firewall para
> > > isso ?
> > >
> > >
> > > Resposta : No manual horas, Handbook
> > >
> > > Uma das referencias especifica para IPFW
> > >
> > > http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-ipfw.html
> > >
> > > Onde na página do Handbook estão essas informações ?
> > >
> > > Bem veja as descrições e recomendações para uma configuração eficiente
> > > do firewall.
> > >
> > > Logo no primeiro exemplo :
> > >
> > > Start your rules file like this:
> > >
> > > ############### start of example ipfw rules script #############
> > > #
> > > ipfw -q -f flush       # Delete all rules
> > > # Set defaults
> > > oif="tun0"             # out interface
> > > odns="192.0.2.11"      # ISP's DNS server IP address
> > > cmd="ipfw -q add "     # build rule prefix
> > > ks="keep-state"        # just too lazy to key this each time
> > > $cmd 00500 check-state
> > > $cmd 00502 deny all from any to any frag
> > > $cmd 00501 deny tcp from any to any established
> > > $cmd 00600 allow tcp from any to any 80 out via $oif setup $ks
> > > $cmd 00610 allow tcp from any to $odns 53 out via $oif setup $ks
> > > $cmd 00611 allow udp from any to $odns 53 out via $oif $ks
> > > ################### End of example ipfw rules script ############
> > >
> > > Note as regras :
> > >
> > > $cmd 00500 check-state
> > > $cmd 00502 deny all from any to any frag
> > > $cmd 00501 deny tcp from any to any established
> > >
> > > A primeira busca por regras dinamicas , esse é uma boa ação , usar
> > > regras dinamicas ao invéz de estáticas , pois assim diminue em muito o
> > > processamento necessário para definir o que fazer com um determinado
> > > pacotes. A segunda descarta os pacotes fragmentados e a terceira e mais
> > > importante "DESCARTA pacotes marcados como established , pois eles não
> > > deveriam estar ai correto ? Afinal o que faz o check-state antes ,
> > > aceita os pacotes criados por regras dinamicas do seu firewall  , então
> > > se o pacote não se encaixou no check-state ele tem mais é que ser
> > > descartado mesmo.
> > >
> > > Mais sera tão simples assim ? Somente isso é suficiente ?
> > >
> > > Sim e não, simples mas apenas o suficiente para voce não ter efeitos
> > > colaterais ao seus servidores , voce pode melhorar ainda se entender o
> > > que vem ser um ataque DDOS. Regras como essas são um passo importante
> > >
> > > IPFW :
> > >
> > > # Bloqueia pacotes com opções de Source Routing e Record Route do Cabecalho IP
> > > ativadas.
> > > add 00001 deny tcp from any to any ipoptions ssrr,lsrr,rr
> > >
> > > # Bloqueio de pacotes com combinações estranhas de flags do protocolo TCP
> > > add 00003 deny tcp from any to any tcpflags syn,fin
> > > add 00004 deny tcp from any to any tcpflags syn,rst
> > >
> > > PF :
> > >
> > > ## NORMALIZATION - Scrubbing will automatically drop TCP packets that
> > > # have invalid flag combinations, so there's no need for typical 'anti-portscan'
> > > scrub in on $ext_if
> > > scrub out on $ext_if no-df random-id min-ttl 24 max-mss 1492
> > >
> > >
> > > Ou seja , um ataque DDOS é simplemente o envio de um monte de pacote com
> > > o objetivo de "atolar" sua rede , para conseguirem fazer isso precisam
> > > rodar scripts que enviam randomicamente pacotes com todos os tipos de
> > > combinações possiveis , alguns ataques podem ser direcionados a portas,
> > > de serviços especificas ou mesmo protocolos como ICMP, então uma boa
> > > prática poderia ser tambem uma boa filtragem de ICMP.
> > >
> > >
> > > do man ipfw :
> > >
> > >
> > > icmptypes types
> > >              Matches ICMP packets whose ICMP type is in the list types.
> > > The
> > >              list may be specified as any combination of individual
> > > types
> > >              (numeric) separated by commas.  Ranges are not allowed. The
> > > sup-
> > >              ported ICMP types are:
> > >
> > >              echo reply (0), destination unreachable (3), source quench
> > > (4),
> > >              redirect (5), echo request (8), router advertisement (9),
> > > router
> > >              solicitation (10), time-to-live exceeded (11), IP header
> > > bad
> > >              (12), timestamp request (13), timestamp reply (14),
> > > information
> > >              request (15), information reply (16), address mask request
> > > (17)
> > >              and address mask reply (18).
> > >
> > > Descartar icmp tipo 3 e 5 vindo da interface externa e não deixando sair
> > > icmp tipo 0 e 8 da sua rede interna para o mundo são uma boa prática
> > >
> > > add 00018 deny icmp from any to any via $ext_if in icmptypes 3,5
> > > add 00018 deny icmp from any to any via $ext_if out icmptypes 0,8
> > >
> > > Ah , uma referenciazinha , sera que tem BSD lá a algum tempo?
> > >
> > > http://www.rnp.br/newsgen/9901/ipfw-bsd.html
> > >
> > > Mas a pergunta persiste , assim eu fico imune ao ataque DDOS ?
> > >
> > > Resposta : Sua rede fica imune , vc não precisa usar nenhuma solução
> > > comercial , ipfw e pf ajudam mas seu BSD já ta pronto para aguentar o
> > > tranco mas o seu link com a internet cheio de pacotes "voando" de uma ou
> > > de varias origens isso esta fora do seu alcance , portando depende do
> > > seu fornecedor de link/operadora, procure obter o máximo de informação
> > > após um ataque , tente contatos, reporte o ataque ao CERT , pois a
> > > melhor maneira de realmente diminuir ataques é fazendo com que as
> > > consequencias para quem faz isso seja bastante ruim, crie logs , mas
> > > cuidado para não tomar muito remédio e fica envenenado, veja no
> > > handbook:
> > >
> > >
> > > 28.6.5.3 Logging Firewall Messages
> > >
> > > ....................
> > >
> > > Logging is a two edged sword, if you are not careful, you can lose
> > > yourself in the over abundance of log data and fill your disk up with
> > > growing log files. DoS attacks that fill up disk drives is one of the
> > > oldest attacks around. These log message are not only written to
> > > syslogd, but also are displayed on the root console screen and soon
> > > become very annoying.
> > >
> > >
> > > O que mais pode ser feito ?
> > >
> > > Se vc implementar sugestões como as acima o "pentelho" vai sentir
> > > dificuldade em "scanear" sua rede , isso já sera um dado positivo pois
> > > vai desestimular o ataque , soluções com portsentry e snort ajudam ainda
> > > mais a desestimular esses "meninos".
> > >
> > > Bem o afinal de contas qual o mito ?
> > >
> > > Bem isso digo agora num precisa de solução mirabolante ou comercial ou
> > > produzida pelos "super hiper entendidos " que vendem seus produtos ,
> > > voce mesmo pode fazer isso no seu BSD se tiver um pouco de dedicação e
> > > bastante pesquisa em sites e manuais, e digo mais vai funcionar melhor
> > > ainda já que vc não tem que atender a "Gregos e Troianos".
> > >
> > > So para lembrar que :
> > >
> > > http://www.fug.com.br/content/view/353/2/
> > >
> > >
> > > Bem espero ter ajudado , mais informações , mais detalhes sobre PF podem
> > > enrriquecer essa thead
> > >
> > > abraço e boa sorte a todos
> > >
> > > -------------------------
> > > 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
> >
> -------------------------
> 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