¿Cómo protejo mi sistema contra el exploit TCP fuera de ruta en Linux?

9

Según cve.mitre.org , el kernel de Linux anterior a 4.7 es vulnerable a las vulnerabilidades TCP "fuera de ruta"

Descripción

net / ipv4 / tcp_input.c en el kernel de Linux antes de 4.7 no determina correctamente la tasa de desafío de los segmentos ACK, lo que facilita a los atacantes intermedios secuestrar sesiones TCP a través de un ataque ciego en la ventana.

Esta vulnerabilidad se considera peligrosa porque el atacante solo necesita una dirección IP para realizar un ataque.

¿La actualización del kernel de Linux a la última versión estable se 4.7.1convierte en la única forma de proteger mi sistema?

GAD3R
fuente

Respuestas:

10

Según LWN, hay una mitigación que se puede usar mientras no tenga un kernel parcheado:

Hay una mitigación disponible en la forma de la tcp_challenge_ack_limit sysctlperilla. Establecer ese valor en algo enorme (por ejemplo 999999999) hará que sea mucho más difícil para los atacantes explotar la falla.

Debe configurarlo creando un archivo /etc/sysctl.dy luego implementándolo con sysctl -a. Abra una terminal (presione Ctrl+ Alt+ T) y ejecute:

sudo -i

echo "# CVE-2016-5696
net.ipv4.tcp_challenge_ack_limit = 999999999
" > /etc/sysctl.d/security.conf

sysctl -a
exit

Por cierto, puede rastrear el estado de esta vulnerabilidad en Debian en el rastreador de seguridad .

ysdx
fuente
6

Etiquetó esta pregunta como , por lo que supondré que está ejecutando un sistema Debian basado en Linux.

El parche relevante que corrige este error es pequeño y está relativamente aislado, lo que lo convierte en un candidato ideal para el backport.

Debian suele ser bastante bueno sobre el respaldo de correcciones relacionadas con la seguridad a las versiones de software que se envían en las versiones de distribución compatibles. Su lista de avisos de seguridad para 2016 actualmente enumera ocho avisos de seguridad relacionados con el kernel de Linux ( linuxy los linux-2.6paquetes), el más reciente fue DSA-3616 el 4 de julio. El parche para el error que menciona fue enviado al árbol de código fuente una semana después, el 11 de julio.

El soporte de seguridad para Wheezy está con el equipo de LTS (Soporte a largo plazo) hasta el 31 de mayo de 2018, y Jessie actualmente recibe actualizaciones de seguridad normales en virtud de ser la versión actual.

Esperaría pronto un parche de seguridad contra las versiones compatibles de Debian que sufren este error.

También es posible que los núcleos enviados por Debian no sean vulnerables. La CVE hace decir "antes de 4.7", pero dudo que la declaración puede ser tomado en sentido literal literal; el código relevante probablemente no se había introducido en la primera versión pública del kernel de Linux (en 1991 más o menos), por lo que lógicamente deben existir versiones del kernel que cumplan los criterios de ser anteriores a la versión 4.7 pero que no sean vulnerables. No he comprobado si esto se aplica a los núcleos que se envían con las versiones actuales de Debian.

Si está ejecutando una versión de Debian no compatible que es vulnerable a este error, o si necesita una solución inmediata, entonces es posible que deba realizar una copia de seguridad de la solución manualmente o actualizar a una versión más reciente al menos del núcleo mismo.

un CVn
fuente
3
El núcleo actualmente enviado por Debian es vulnerable como se puede ver en su rastreador de seguridad . El núcleo Linux impecable es vulnerable desde 3.6. Aparentemente, incluso wheezy que está utilizando Linux 3.2 es vulnerable porque la característica (y el error) fueron respaldados.
ysdx
Consulte el registro de cambios para Linux 3.2.37 que incluye esta confirmación.
ysdx