Limitar core dumps¶
Cuando un proceso falla, el sistema operativo puede verter el contenido de su memoria a un fichero en disco — un core dump. En un servidor de producción, estos ficheros pueden contener contraseñas, claves privadas o datos sensibles en claro, y ocupar espacio innecesariamente.
Qué hace¶
Se limitan core dumps en dos niveles independientes:
- Límites del usuario (
limits.d) — impiden que cualquier proceso del usuario pueda escribir core dumps al iniciar sesión. - Configuración del kernel (
sysctl.d) — desactiva la generación de core dumps para procesos con privilegios (setuid), que son los más peligrosos porque ejecutan con permisos elevados.
Configurar¶
Procesos del usuario¶
Limita a 0 el tamaño de core dump que se puede escribir:
-
Crear el drop-in de límites:
sudo vim /etc/security/limits.d/99-hardening.confContenido:
* hard core 0 * soft core 0 # También se puede escribir como: * - core 0 -
Aplicar: no hay servicio que reiniciar, pero los límites solo se leen al iniciar sesión, así que hace falta entrar por SSH de nuevo:
ssh hosting@<ip-servidor> -
Verificar (ya en la nueva sesión):
ulimit -Hc ulimit -Sc
Procesos privilegiados¶
-
Crear el drop-in de sysctl:
sudo vim /etc/sysctl.d/99-hardening.confContenido:
fs.suid_dumpable = 0 -
Aplicar —
sysctl --systemrecarga todos los ficheros de/etc/sysctl.d/y/usr/lib/sysctl.d/. Si solo quieres aplicar el tuyo:sudo sysctl -p /etc/sysctl.d/99-hardening.conf -
Verificar:
sudo sysctl fs.suid_dumpable
Verificar¶
Comprobar que ambos niveles están activos:
ulimit -Hc
ulimit -Sc
sudo sysctl fs.suid_dumpable
Debe salir 0 en los tres casos.
Y ahora qué
Los core dumps están limitados. El servidor está endurecido. Para una visión completa del estado de seguridad, ejecuta una auditoría con Lynis y compara la puntuación con la inicial.