La primera vez que revisé los logs de un servidor en producción me quitó el sueño. Cientos de peticiones diarias buscando mi archivo punto env, mi carpeta git, credenciales de AWS, paneles de WordPress que ni siquiera tenía. No era paranoia. Era el ruido normal de Internet tocando todas las puertas, todo el tiempo.
Ese día entendí que un servidor que solo responde no es un servidor listo para producción. Lo que siguió fueron meses de aprender a endurecerlo bien, casi siempre por las malas. Mover archivos a la carpeta de Apache y recibir un 403 que no entendía hasta descubrir que era SELinux. Un typo en la configuración de Valkey que impedía que el servicio arrancara. Reglas de bloqueo de bots mal escritas que dejaban pasar justo a los que quería frenar.
Cada uno de esos tropiezos me enseñó algo. Y en lugar de dejar ese conocimiento en mis notas sueltas, lo ordené todo en una guía.
Es un runbook completo para montar desde cero un servidor AlmaLinux 10, compatible con RHEL 10, listo para hospedar Laravel y Node en producción. Con el stack actual de 2026 y, sobre todo, con las lecciones aprendidas marcadas donde duelen. No es la versión idealizada de cómo debería hacerse, es la versión real de lo que de verdad funciona y de los errores que cuesta caro repetir.
Lo que más me gusta es que arma seguridad por capas. El firewall, SELinux en Enforcing, el bloqueo de bots en Apache, Fail2Ban y Turnstile para los formularios. Cuando una capa falla, la siguiente sostiene. Y lo medible importa. Tras el bloqueo de bots, una sola IP de escaneo agresivo se llevó 220 bloqueos en un día sin rozar la aplicación.
La dejé abierta porque a mí me habría ahorrado muchas noches tener algo así al inicio.
https://github.com/danterobles/guia-seguridad-almalinux10
A ti qué te enseñó por las malas tu primer servidor en producción

Comments are closed