Skip to content

Explícame cómo endurecerías un servidor Linux nuevo expuesto a Internet.

Respuesta breve

Reducir la superficie de ataque (eliminar paquetes y servicios sin uso), forzar SSH solo por clave sin inicio de sesión root, mantener el sistema parcheado, ejecutar un cortafuegos de denegación por defecto que exponga solo los puertos necesarios, aplicar privilegios mínimos mediante sudo y permisos de archivos, habilitar auditd y registro centralizado, y añadir monitorización de integridad más un MAC como SELinux o AppArmor.

El endurecimiento es la eliminación sistemática de todo lo que un atacante podría aprovechar, más la adición de controles para detectarlo y contenerlo si entra. Un marco útil son los CIS Benchmarks, pero el razonamiento importa más que la lista de comprobación.

Reducir la superficie de ataque

Empieza por quitar lo que no necesitas: desinstala los paquetes sin uso, deshabilita los servicios no requeridos y cierra los puertos a la escucha innecesarios. Cada servicio en ejecución es un punto de entrada potencial. Una imagen base mínima con solo las dependencias de la carga de trabajo es mucho más fácil de defender.

Blindar el acceso remoto

SSH es la puerta de entrada de una máquina expuesta a Internet:

  • Deshabilita por completo la autenticación por contraseña; usa autenticación basada en claves (las claves resisten la fuerza bruta de un modo que las contraseñas nunca lograrán).
  • Deshabilita el inicio de sesión root directo; los administradores entran como usuario normal y elevan privilegios mediante sudo.
  • Restringe las IP de origen cuando sea factible, y considera configuraciones no estándar y fail2ban para mitigar los ataques automatizados.

Parchear y cortafuegos

  • Mantén el kernel y los paquetes parcheados, idealmente con actualizaciones de seguridad automatizadas: el software sin parchear es el vector de brecha más común.
  • Ejecuta un cortafuegos de denegación por defecto (nftables/iptables o grupos de seguridad de nube) que permita solo los puertos entrantes específicos que el servicio necesita.

Aplicar privilegios mínimos

Ejecuta los servicios como usuarios no root dedicados, establece permisos de archivos estrictos, y usa control de acceso obligatorio — SELinux o AppArmor — para confinar los procesos de modo que un servicio comprometido no pueda salir de su política, ni siquiera como root.

Detectar y verificar

  • Habilita auditd y envía los registros a un colector centralizado y fuera del host para que un atacante no pueda simplemente borrar las evidencias locales.
  • Añade monitorización de integridad de archivos (AIDE/Tripwire) para detectar binarios o configuraciones manipulados.

Qué buscan los entrevistadores

Una respuesta de nivel senior es estructurada — reducción de superficie, control de acceso, parcheo, privilegios mínimos, detección — y explica el porqué (por ejemplo, claves en lugar de contraseñas, registros fuera del host). Punto extra por nombrar los CIS Benchmarks y un MAC como SELinux en lugar de quedarse en «poner una contraseña fuerte».

Posibles preguntas de seguimiento

  • ¿Por qué deshabilitar SSH basado en contraseña en favor de claves?
  • ¿Qué añaden SELinux o AppArmor sobre los permisos de archivos?
  • ¿Cómo detectarías que un binario del host ha sido manipulado?

Fuentes

Certificaciones

Consigue 100 preguntas de entrevista de ciberseguridad + respuestas

Déjanos tu correo y te enviaremos el pack en PDF gratuito y el mazo de flashcards.

Sin spam. Cancela tu suscripción cuando quieras.