SYN cookies em máquinas internas

3

Nosso sistema usa o Cassandra rodando no Ubuntu 10.04 e durante o último pico de tráfego nós observamos a seguinte mensagem nos logs:

possible SYN flooding on port 9160. Sending cookies.

Estas máquinas não estão disponíveis publicamente, o tráfego é legítimo - provém dos nossos próprios servidores de aplicações.

Alguém sabe qual é a conseqüência do kernel entrar no modo "cookie" para o chamador? Compreendo esse servidor pára de adicionar conexões semiabertas (SYN_RECV) à fila de pendências, mas isso afeta o chamador (ou seja, nosso aplicativo .NET) de alguma forma? Há algum estrangulamento / atraso que possa iniciar um ciclo vicioso?

Dado que estas são máquinas internas, esta proteção faz sentido? Como sobre o valor padrão tcp_max_syn_backlog=1024 ?

    
por Piotr 25.01.2012 / 12:12

2 respostas

0

Você pode desativá-los usando:

echo 0 > /proc/sys/net/ipv4/tcp_syncookies

Para tornar a mudança permanente, edite /etc/sysctl.conf adicione uma linha como:

net.ipv4.tcp_syncookies=0

Eu não acho que será um problema se o tráfego for gerado localmente e legítimo, a menos que você mesmo alimente seu servidor:)

    
por 25.01.2012 / 12:24
1

Dado que este é um tráfego válido, você desejará desabilitar esse comportamento - há um impacto significativo no desempenho do uso de cookies SYN em cada lado da conexão. A idéia é evitar o esgotamento de recursos de RAM em um flood SYN, deslocando a carga para a CPU (a memória não é alocada com cookies até que uma resposta válida seja recebida).

O cálculo da sequência, entretanto, é computacionalmente intensivo e pode impactar tanto seu aplicativo quanto o servidor, o fator limitante será a CPU. É um mecanismo de prevenção de DDoS, e não algo que você deve executar quando o tráfego é conhecido como bom, quando esse é o caso, isso é essencialmente um desperdício de recursos. Por que uma computação intensiva não é necessária em todo o seu tráfego?

Se você desativar os cookies syn e achar que seu servidor é potencialmente vulnerável, você pode adicionar lógica no servidor para reativar os cookies quando detectar inundações em outras portas ou pode colocar um IDS / LoadBalancer ou similar no meio que possui recursos dedicados para lidar com esse tipo de ataque.

    
por 25.01.2012 / 22:47