[FUG-BR] evitar dos em dns

Lucas lucas_bortolato em hst.com.br
Segunda Junho 11 13:08:54 BRT 2012


   Ok, suponhamos que o host A quer comunicar-se com o host B. O host A 
inicia o handshake passando seu #SI, chamando A, no campo de seqüência 
do primeiro segmento sincronizado (SYN) do 3-way handshake. Quando o 
segundo host, B, recebe o SYN de A, este memoriza o número de seqüência 
recebido e replica enviando um SYN com seu #SI, chamando B, assim com um 
reconhecimento (ACK) indicando a A que reconhece o primeiro SYN enviado 
e continua com o handshake. Quando A recebe o SYN/ACK de B, lhe devolve 
um ACK a B indicando que ambos concordam que a conexão se estabeleceu.
O que estou propondo é que o dono da chave da autenticação seja o 
proprio servidor da rede de seus micros, então mesmo que ele copie o se 
ack, ele fará a conta matematica autenticando cada pacote, ou seja mesmo 
que ele pegue o pacote não saberá a "minicriptografia" que o mesmo 
possui, para agir como sinergia a isso voce teria que setar no router o 
bloqueio de ips externos, porem isso só funcionaria para servidores que 
" confiam" em ips internos, se o servidor necessita  " confiar" em ips 
externos ai esta solucão topológica falha. Neste caso devem-se bloquear 
todos os protocolos que usem TCP e autenticações basedas em direções.
É como você mesmo disse, não é nada simples.

Em 11/06/2012 11:30, Eduardo Schoedler escreveu:
> Em 11 de junho de 2012 11:21, Lucas<lucas_bortolato em hst.com.br>  escreveu:
>
>> Seguinte, não adianta você limitar quantidade de consultas, pois
>> dependendo da regra que você coloca na rede você caba facilitando o
>> flood, por exemplo, você cria uma regra pra x acessos na su rede sem
>> dropar e ai eu vou e flood e sou dropado, beleza, ai subo um script que
>> vai determinar o limite de pacotes que posso enviar e faço o flood
>> trabalhar no limite sem ser dropado, ai o proximo cliente legitimo que
>> logar sera dropado, ou seja, seu servidor não cai, mas posso impedir que
>> os outros clientes acessem.
>>
>> Tem um pulo do gato:
>>
>> 1. quando o cliente envia o primeiro SYN, envia também um número de 32
>> bits. chamado número de seqüência (vamos chamar de NS-C, número de
>> seqüência do cliente)
>>
>> 2. quando o servidor recebe o SYN, ele também escolhe um NS para si
>> (NS-S, número de seqüência do servidor) e devolve o pacote com dois
>> números: o seu NS-S e o número de verificação, chamando de ACK
>> (diferente do flag, este tem também 32 bits). Este segundo número nada
>> mais é do que NS-C+1.
>>
>> 3. o cliente, ao completar o handshake, devolve NS-C+1 e NS-S + 1.
>>
>> Tente colocar uma regra baseada em syn cookie ai todo pacote te´ra uma
>> autenticação e evite usar +1, use outro numero. Não resolve totalmente
>> mas podera ajudar a dificultar o DOS
>>
>>
> E como ficaria um ataque spoof?
> E uma rede com muitos computadores?
>
> Não é tão simples quanto parece.
>



Mais detalhes sobre a lista de discussão freebsd