Hardening en variables de Kernel

Configuraciones en variables de kernel para implementar mecanismos de seguridad en base a modificación binaria. Analizar el cambio de una variable ya que no todo sistemas puede llegar a necesitarlo.


Desactivar redirección ICMP

  • Desactivar el envío de redirecciones ICMP en las interfaces de red.

sudo sysctl -w net.ipv4.conf.all.send_redirects=0
  • Desactivar el envío de redirecciones ICMP en la configuración por defecto de las interfaces de red.

sudo sysctl -w net.ipv4.conf.default.send_redirects=0

Desactivar IP Forwarding

  • Desactivar el reenvío de paquetes IP.

sudo sysctl -w net.ipv4.ip_forward=0

Desactivar respuestas a ICMP broadcast

  • Ignorar peticiones ICMP (ping) que se envían a direcciones de broadcast.

sudo sysctl -w net.ipv4.icmp_echo_ignore_broadcast=1

Recibir paquetes por cumplimiento de estándar

  • Ignorar respuestas incorrectas de errores ICMP.

sudo sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1

Asegurar rutas de origen para evitar ataques de Spoofing

  • Habilitar filtrado de rutas inversas en todas las interfaces.

sudo sysctl -w net.ipv4.conf.all.rp_filter=1
  • Habilitar filtrado de rutas inversas en la configuración por defecto de las interfaces.

sudo sysctl -w net.ipv4.conf.default.rp_filter=1

Activar TCP SYN cookies

  • Habilitar cookies SYN para protección contra ataques de inundación SYN (SYN flood attacks).

sudo sysctl -w net.ipv4.tcp_syncookies=1

Reiniciar tabla de enrutamiento y caché

  • Forzar el vaciado de caché por rutas.

sudo sysctl -w net.ipv4.route.flush=1

Restringir el uso de la memoria compartida

  • Configurar parámetros para evitar ataques basados en memoria compartida.

sudo sysctl -w kernel.shmmax=268435456
sudo sysctl -w kernel.shmall=2097152

Desactivar la ejecución de código en stack (protección NX)

  • Configuración para evitar la ejecución de código en una pila de memoria específica

sudo sysctl -w kernel.exec_shield=1
sudo sysctl -w kernel.randomize_va_space=2

Deshabilitar core dumps

  • Evitar que se creen core dumps de procesos fallidos para prevenir exposición de información sensible.

sudo sysctl -w fs.suid_dumpable=0

Aumentar seguridad en espacio de nombres de usuarios

  • Proteger contra ataques que abusan de los espacios de nombres de usuarios.

sudo sysctl -w kernel.unprivileged_userns_clone=0

Restringir la posibilidad de modificar parámetros del kernel

  • Limitar el acceso a la configuración de parámetros del kernel desde un espacio de usuario.

sudo sysctl -w kernel.kptr_restrict=2

Controlar acceso a archivos del dispositivo

  • Limitar el acceso a ciertos archivos del sistema.

sudo sysctl -w dev.tty.ldisc_autoload=0

Implementar protección sobre el KPTI

  • Implementar Kernel Page Table Isolation para mitigar vulnerabilidades de hardware como Meltdown.

sudo sysctl -w kernel.kpti=1

Endurecer protección del stack

  • Aumentar protección contra overflows en el stack general de memoria.

sudo sysctl -w kernel.stack_protector=1

Deshabilitar el acceso a dmesg para usuarios no privilegiados

  • Restringir el acceso a los mensajes del kernel.

sudo sysctl -w kernel.dmesg_restrict=1

Deshabilitar la carga de módulos a nivel de usuario

  • Evitar que usuarios de bajos privilegios carguen módulos del kernel.

sudo sysctl -w kernel.modules_disabled=1

Prevenir ataques ICMP Redirect

  • Evitar manipulación de tablas de enrutamiento mediante mensajes ICMP redirect.

sudo sysctl -w net.ipv4.conf.all.accept_redirects=0
sudo sysctl -w net.ipv4.conf.default.accept_redirects=0

Desactivar la respuesta a pings de broadcast

  • Desactivar respuesta a pings de broadcast para protección contra ataques de amplificación de de paquetes ICMP.

sudo sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1

Deshabilitar el uso de source routing

  • Prevenir que un atacante especifique rutas personalizadas para ciertos paquetes consultados.

sudo sysctl -w net.ipv4.conf.all.accept_source_route=0
sudo sysctl -w net.ipv4.conf.default.accept_source_route=0

Configurar límites de memoria sobre buffer de conexiones

  • El ajuste de estos parámetros ayuda a prevenir ataques de denegación de servicio (DOS o DDOS).

sudo sysctl -w fs.file_max=100000
sudo sysctl -w net.ipv4.tcp_max_syn_backlog=2048
sudo sysctl -w net.ipv4.tcp_fin_timeout=15
sudo sysctl -w net.core.netdev_max_backlog=2048

Habilitar restricciones de red para usuarios sin privilegios

  • Limitar las capacidades de conexión sobre una red a usuarios sin privilegios.

sudo sysctl -w net.ipv4.tcp_rfc1337=1

Deshabilitar TCP timestamps

  • Ajustar protección contra ataques de secuencia TCP por inferencia.

sudo sysctl -w net.ipv4.tcp_timestamps=0

Protección contra ataques de brute force en pila TCP

  • Finalizar conexiones que excedan la capacidad de la pila TCP, contra ataques de denegación de servicio.

sudo sysctl -w net.ipv4.tcp_abort_on_overflow=1