A técnica TCP Keepalive pode ser usada para evitar DDOS?

A técnica TCP Keepalive pode ser usada para evitar DDOS?

Estou aprendendo sobre DDOS e as técnicas para mitigá-lo. TCP Keepalive é usado para verificar se o outro host ainda está ativo e se o host não reconhecer a mensagem tcp keep alive, a conexão será encerrada.

Gostaria de saber se essas mensagens podem ser usadas para mitigar ataques DDOS. O servidor sob ataque pode reduzir o tempo em que entra em contato com o cliente, esteja ele ainda ativo ou não. O servidor pode usar o encaminhamento de caminho reverso Unicast para evitar falsificação de IP e se o ataque estiver sendo feito a partir de hosts legítimos usando botnets, o servidor pode usar a técnica de mensagem keepalive do tcp de qualquer maneira para fechar as conexões mortas e evitar que seja DDOSed? Existe uma maneira de detectar conexões TCP meio abertas e fechá-las usando tcp keep alive?

Responder1

DDOS é um termo muito amplo e inclui uma variedade de ataques. TCP keep alive só é relevante para conexões TCP já estabelecidas, o que geralmente exclui ataques usando falsificação de IP em primeiro lugar. Isto significa que não é relevante para a maioria dos ataques DDOS, que são ataques que utilizam uma largura de banda elevada (como ataques de amplificação que utilizam endereços IP falsificados) ou inundação SYN.

Isso deixa ataques comoSlowlorisque tentam vincular recursos nos servidores mantendo muitas conexões abertas ou ataques que fazem um handshake TCP adequado a partir de um aplicativo de espaço do usuário e depois abandonam a conexão sem fechar. O TCP keep alive não funcionaria no primeiro, pois existe um cliente adequado que responde conforme o esperado ao TCP keep alive. Pode ajudar com uma implementação ingênua no segundo caso, mas isso pode ser modificado para lidar com o TCP keep alive também sem usar mais memória.

Resumindo: pode ajudar em tipos muito específicos e raros de DDOS. Mas mesmo para este DDOS pode ser mais eficaz usar um tempo limite de inatividade nas conexões e adaptar o tempo limite dinamicamente dependendo do número de conexões abertas e do estado específico da conexão. Isso provavelmente cobriria mais tipos de ataques.

Responder2

Sua máquina não tem como saber se o endereço IP de origem de um pacote foi falsificado. Numa primeira aproximação, o RPF se aplica apenas a roteadores. Se você tiver múltiplas interfaces para vários provedores upstream, isso reduzirá o tráfego por um fator N, onde N é o número de interfaces, é claro; quantos upstreamsfazervocê tem?

TCP KEEPALIVE não tem nada a ver com isso. Você pode estar pensando em cookies de sincronização tcp, que podem ser ativados com uma opção sysctl apropriada.

De qualquer forma, tudo isso é irrelevante, exceto se o seu modelo de ameaça for um casal de crianças sem mais nada para fazer. Os ataques DDOS, já há muito tempo, simplesmente obstruem o canal de entrada. Não importa se suas máquinas podem permanecer ativas se não houver mais capacidade de link para elas receberem qualquer tráfego útil!

Se você estiver realmente preocupado com um determinado invasor, precisará de proteção do seu provedor upstream e, em casos mais sérios, de um serviço anti-ddos dedicado (fácil de encontrar, não quero promover nenhum em particular).

Espero que isto ajude.

informação relacionada