Que es el hardening de servidores

El hardening (endurecimiento) de un servidor Linux es el proceso de reducir la superficie de ataque del sistema operativo deshabilitando servicios innecesarios, eliminando software no utilizado, aplicando configuraciones de seguridad restrictivas y siguiendo las mejores practicas establecidas por organismos de seguridad como el CIS (Center for Internet Security). Un servidor recien instalado viene con una configuracion generica que prioriza la compatibilidad y la facilidad de uso sobre la seguridad, y el hardening lo adapta a un entorno de produccion mas seguro.

Lista de verificacion de hardening para Linux

Categoria Medida Prioridad
Actualizaciones Sistema operativo y paquetes actualizados Critica
SSH Puerto no estandar, sin root, llaves SSH obligatorias Critica
Firewall UFW o iptables configurado, solo puertos necesarios abiertos Critica
Usuarios Sin cuentas de usuario innecesarias, sudo limitado Alta
Servicios Solo servicios necesarios en ejecucion Alta
Permisos Archivos criticos con permisos restrictivos Alta
Logs Logging centralizado y revision periodica Media
Fail2ban Instalado y configurado para SSH y servicios web Alta
Contraseñas Politica de contraseñas fuertes activa Alta

Configuraciones de seguridad del sistema

# Deshabilitar el acceso root por contraseña en SSH
sed -i "s/PermitRootLogin yes/PermitRootLogin no/" /etc/ssh/sshd_config

# Configurar el firewall UFW
ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp  # SSH en puerto personalizado
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

# Instalar y configurar fail2ban
apt install fail2ban -y
systemctl enable fail2ban --now

Configuraciones del kernel para mayor seguridad

Agregar las siguientes configuraciones al archivo /etc/sysctl.conf para endurecer el kernel de Linux:

# Deshabilitar el reenvio de paquetes IP
net.ipv4.ip_forward = 0

# Proteccion contra SYN flood
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048

# Ignorar paquetes ICMP broadcast (Smurf attacks)
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Habilitar proteccion de IP spoofing
net.ipv4.conf.all.rp_filter = 1

# Deshabilitar respuesta a ICMP redirects
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0

Aplicar los cambios sin reiniciar:

sudo sysctl -p

Auditoria periodica de seguridad

  • Usar Lynis (sudo apt install lynis && sudo lynis audit system) para un analisis automatizado de la postura de seguridad del servidor con recomendaciones especificas.
  • Revisar periodicamente los logs de autenticacion en /var/log/auth.log (Ubuntu) o /var/log/secure (AlmaLinux).
  • Ejecutar ss -tlnp para verificar que solo los puertos esperados estan abiertos y escuchando.
¿Fue útil la respuesta? 0 Los Usuarios han Encontrado Esto Útil (0 Votos)