Proceso de fortalecimiento de un sistema reduciendo su superficie de ataque mediante la eliminación de servicios innecesarios, aplicación de configuraciones seguras y restricción de accesos.
El hardening (o endurecimiento de sistemas) es un conjunto de prácticas y técnicas de ciberseguridad orientadas a reducir la vulnerabilidad de un sistema operativo, servidor, aplicación o red. El objetivo principal es minimizar la superficie de ataque eliminando componentes no esenciales, deshabilitando puertos y servicios innecesarios, aplicando principios de mínimo privilegio y configurando políticas de seguridad estrictas. Entre las acciones más comunes del hardening se incluyen: actualizar y parchear el software regularmente, deshabilitar cuentas de usuario predeterminadas o innecesarias, cifrar datos en tránsito y en reposo, configurar firewalls y listas de control de acceso (ACL), y aplicar auditorías de seguridad periódicas. El hardening es una práctica fundamental en entornos DevSecOps y es exigido por estándares de seguridad como CIS Benchmarks, NIST, PCI-DSS e ISO 27001.
# Ejemplo de hardening básico en un servidor Linux (Ubuntu/Debian) # 1. Deshabilitar el acceso SSH como root sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config # 2. Cambiar el puerto SSH por defecto sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config # 3. Habilitar autenticación por clave pública y deshabilitar por contraseña sudo sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config # 4. Restringir permisos en archivos críticos sudo chmod 600 /etc/shadow sudo chmod 644 /etc/passwd # 5. Deshabilitar servicios innecesarios sudo systemctl disable bluetooth sudo systemctl disable cups # 6. Configurar firewall con UFW sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 2222/tcp # Solo SSH en nuevo puerto sudo ufw enable # 7. Aplicar actualizaciones de seguridad automáticas sudo apt install unattended-upgrades -y sudo dpkg-reconfigure --priority=low unattended-upgrades sudo systemctl restart sshd