Resistir las inundaciones de conexiones
Mantiene la máquina respondiendo cuando alguien la inunda con conexiones a medio abrir.
Por qué importa
Un SYN flood envía cantidades enormes de peticiones de conexión y nunca las completa. Cada conexión medio abierta ocupa memoria, así que el servidor se llena y deja de responder a visitantes reales. Las SYN cookies permiten a la máquina seguir respondiendo mientras dura el ataque.
Cómo funciona
Fija net.ipv4.tcp_syncookies en 1. Cuando la cola de conexiones medio abiertas se desborda, el kernel deja de guardarlas y codifica el estado necesario en la respuesta, así que el ataque no consume memoria.
Quién debería usarlo
Cualquier equipo que acepte conexiones TCP: servidores, laboratorios caseros, portátiles con servicios. Solo actúa bajo carga, así que hay poca razón para dejarlo apagado. La mayoría de las distribuciones ya lo activa.
Qué puedes notar
Nada, porque solo importa durante una sobrecarga. Durante un ataque, algunas funciones opcionales de TCP pueden faltar en las conexiones afectadas.
Compruébalo en tu equipo
Lee el valor actual:
sysctl net.ipv4.tcp_syncookies Aplícalo a mano
Establécelo ahora (hasta el próximo reinicio):
sudo sysctl -w net.ipv4.tcp_syncookies=1 Consérvalo tras los reinicios, en un archivo tuyo:
sudo tee /etc/sysctl.d/90-net-tcp-syncookies.conf <<'EOF'
net.ipv4.tcp_syncookies = 1
EOF
sudo sysctl --system Deshazlo
Elimina el archivo y reinicia, o vuelve a poner el valor anterior con sysctl -w.
Ajustes relacionados
Fuentes
- Linux Hardening Guide (madaidans)
- 2.2.2
- Linux kernel documentation
- net