Cómo asegurar adecuadamente sysctl en Linux


Proteger sus servidores Linux contra ataques SYN y suplantación de IP no es tan difícil como cree. Jack Wallen te muestra cómo.

Protección del sistema informático, seguridad de la base de datos, internet seguro. Símbolo de bloqueo en el fondo de datos de computadora abstracta programación código binario, tecnología de protección de datos. Ilustración vectorial

Getty Images / iStockphoto

El sistema sysctl le permite realizar cambios en un núcleo Linux en ejecución. Esta utilidad lee y modifica varios atributos del núcleo, como el número de versión, los límites máximos y una serie de configuraciones de seguridad.

El sistema sysctl también le permite evitar cosas como los ataques de inundación SYN y la suplantación de direcciones IP. También registra varios tipos de paquetes sospechosos: paquetes falsificados, paquetes enrutados en origen y redireccionamientos.

Puede modificar los parámetros del kernel en tiempo de ejecución con el comando sysctl o puede hacer cambios dentro del archivo de configuración del sistema para que esos cambios sean más permanentes.

Quiero mostrarle cómo puede asegurar sysctl editando rápidamente el archivo de configuración. Esta configuración:

  • Deshabilitar el reenvío de IP

  • Deshabilitar redireccionamientos de paquetes de envío

  • Desactivar la aceptación de redireccionamiento ICMP

  • Habilitar la protección de mensajes de error incorrectos

VEA: Implementación de DevOps: una guía para profesionales de TI (PDF gratuito) (TechRepublic)

Lo que necesitarás

Nota: Voy a hacer una demostración en Ubuntu Server 18.04, pero el proceso es el mismo en la mayoría de las distribuciones de Linux.

Cómo editar el archivo de configuración sysctl

Inicie sesión en su servidor o escritorio Linux y abra una ventana de terminal. Desde esa terminal, emita el comando:

sudo nano /etcetera/sysctl.conf

La primera opción a buscar es:

#net.ipv4.ip_ahead=1

Cambia esa línea a:

internet.ipv4.ip_forward=

La siguiente línea para editar es:

#internet.ipv4.conf.all.ship_redirects = 

Cambia eso a:

internet.ipv4.conf.all.mail_redirects = 

Agregue la siguiente línea debajo de eso:

web.ipv4.conf.default.deliver_redirects = 

Busca la línea:

#net.ipv4.conf.all.settle for_redirects = 

Cambia eso a:

web.ipv4.conf.all.acknowledge_redirects = 

Agregue la siguiente línea debajo de eso:

web.ipv4.conf.default.take_redirects = 

Finalmente, agregue las siguientes líneas al remaining del archivo:

web.ipv4.icmp_ignore_bogus_error_responses = 1
internet.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
internet.ipv4.tcp_synack_retries = 3
web.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv=45

Las líneas anteriores hacen lo siguiente:

  • Habilitar la protección de mensajes de error incorrectos

  • Habilite las cookies SYN para garantizar que un servidor evite la caída de conexiones cuando la cola SYN se llene

  • Aumente el tamaño de la cola de pedidos acumulados de SYS a 2048

  • cerrar las conexiones de estado SYN_RECV anteriormente

  • Reduce el valor de tiempo de espera para SYN_RECV para ayudar a reducir el ataque de inundación SYN

Guarde y cierre el archivo.

Cómo recargar la configuración

Puede volver a cargar el problema de configuración con el comando:

sudo sysctl -p

Una advertencia para el comando sysctl -p es que encontré que no cargó el tcp_max_syn_backlog correctamente. No fue sino hasta el reinicio que se agregó el valor 2048. Entonces, después de ejecutar el comando sudo sysctl -p, emita el comando:

sudo less /proc/sys/internet/ipv4/tcp_max_syn_backlog

Asegúrese de que el valor presentado sea 2048.

Si el valor es algo menor, reinicie el servidor.

En este punto, su servidor Linux debería estar mejor protegido contra ataques SYN y suplantación de direcciones IP. Disfruta de esa seguridad recién descubierta.

Ver también



Enlace a la noticia primary