Hardening de sistemas operativos: Solo lo esencial puede permanecer

Sean bienvenidos una vez más a Código Seguro, en el día de hoy estimados lectores, comienzo pidiéndoles como cada viernes pensando por un momento que queremos proteger nuestro hogar. Invertimos en las mejores cámaras de seguridad de última generación, contratamos un servicio de monitoreo 24/7 y colocamos sensores de movimiento en cada ventana. Sin embargo, en nuestro afán por proteger el hogar, olvidamos lo más básico: cerrar la puerta principal con llave. Esta metáfora, aunque simple, describe perfectamente el estado de la ciberseguridad en muchas organizaciones y hogares hoy día. Nos obsesionamos con el malware más sofisticado, el ransomware de moda o las campañas de phishing más elaboradas, pero descuidamos los cimientos de nuestra fortaleza digital.

Por tanto, les propongo adentrarnos en el esencial mundo del archiconocido en el área de la ciberseguridad como el hardening (endurecimiento o fortalecimiento) de sistemas operativos. Hablaremos de Windows y Linux, no como entornos enfrentados, sino como dos caras de la misma moneda que, si no se aseguran desde la base, son igualmente vulnerables. Y no vamos a hablar de un producto que se compra; sino de una disciplina, una forma de pensar la tecnología que antepone la seguridad a la comodidad por defecto.
Pero empecemos por lo primero ¿Qué es el hardening y por qué debería importarnos?
El hardening es el proceso de asegurar un sistema reduciendo su superficie de ataque. En términos prácticos, esto significa eliminar todo aquello que no sea estrictamente necesario para que el sistema cumpla su función. Si un servidor solo debe servir páginas web, ¿para qué necesita tener instalado un cliente de correo, servicios de impresión o, peor aún, protocolos heredados como el abuelo peligroso (SMBv1)? La respuesta es simple: no lo necesita. Cada pieza de software adicional, cada puerto abierto, cada servicio en ejecución es una potencial puerta de entrada para un atacante.
El beneficio es doble. Por un lado, mejora la seguridad al reducir los vectores de ataque. Por otro, a menudo se optimiza el rendimiento del sistema, ya que este no desperdicia recursos en procesos innecesarios. El problema es que los sistemas operativos, tal como vienen de fábrica, están configurados para la facilidad de uso, no para la seguridad. Empresas como Microsoft y las distribuciones de Linux buscan que todo funcione "nada más sacarlo de la caja", lo que abre una brecha peligrosa entre la configuración por defecto y las buenas prácticas de seguridad.
Entonces ahora sí hablemos del hardening en Windows, empecemos domesticando al Gigante. Durante décadas, Windows ha sido el sistema operativo más extendido en entornos de escritorio y varios servidores, lo que lo convierte en el blanco favorito de los ciberdelincuentes. La buena noticia es que dicho sistema operativo dispone de herramientas de hardening muy potentes, aunque a menudo infrautilizadas.
- La gestión de usuarios: El talón de Aquiles
El primer paso para endurecer Windows es auditar las cuentas de usuario. La cuenta de Administrador local es un objetivo prioritario. Lo primero que debemos hacer es cambiarla de nombre o, mejor aún, deshabilitarla y crear una cuenta alternativa con privilegios de administración, pero con un nombre no predecible. La cuenta de Invitado debe estar siempre deshabilitada.
Pero no se trata solo de las cuentas, sino de lo que hacen. Debemos aplicar rigurosamente el principio de mínimo privilegio: un usuario no debe tener más permisos de los estrictamente necesarios para realizar su trabajo. Para los administradores, esto implica usar cuentas sin privilegios para las tareas cotidianas (como leer el correo o navegar) y usar la funcionalidad "Ejecutar como Administrador" (el equivalente al sudo de Linux) solo cuando sea imprescindible. Además, es vital establecer políticas de contraseñas robustas: longitud mínima de 12-15 caracteres, complejidad y caducidad periódica, así como políticas de bloqueo de cuenta tras varios intentos fallidos para prevenir ataques de fuerza bruta.
- Servicios y características: menos en este caso puede ser más
Windows Server y Windows 10/11 vienen con una larga lista de roles, características y servicios que se inician automáticamente. La pregunta no es "¿qué podemos deshabilitar?", sino "¿qué necesitamos realmente?".
- Roles y características: En un servidor, solo deben instalarse los roles necesarios para su función, por ejemplo DNS (Sistema de Nombres de Dominio) o IIS (Servicios de Información de Internet). Todo lo demás debe omitirse durante la instalación o desinstalarse posteriormente.
- Servicios: Servicios como el Registro Remoto deben deshabilitarse a menos que haya una razón de peso para mantenerlos. Permiten que usuarios remotos manipulen el registro del sistema, algo que raramente es necesario en un entorno seguro.
- Protocolos heredados: SMBv1 es un ejemplo de manual. Es un protocolo antiguo, inseguro y famoso por ser el vector de entrada de ransomware como WannaCry. Debe ser deshabilitado sin piedad.
- Red y cortafuegos: Levantando el puente levadizo
Un sistema sin proteger en la red es como un castillo sin foso. De ahí que sugerimos que nos asegurarnos de que:
- El cortafuegos de Windows esté activo en todos los perfiles (Dominio, Privado y Público) y configurado para bloquear el tráfico entrante por defecto, permitiendo solo el estrictamente necesario.
- Puertos: Solo deben estar abiertos los puertos esenciales. Por ejemplo, un servidor web necesita el 80 y el 443, pero no el puerto 3389 (RDP). Si se necesita administración remota (RDP), esta nunca debería estar expuesta directamente a Internet; lo ideal es que solo sea accesible a través de una VPN (Red Privada Virtual).
- IPv6: Si no se utiliza en la red, debe deshabilitarse para evitar que se convierta en un vector de ataque olvidado.
- Protección de datos y endurecimiento Adicional
El cifrado es la última línea de defensa. BitLocker debe activarse para cifrar toda la unidad de disco, protegiendo la información en caso de robo físico del equipo. Hay otras opciones por supuesto, incluso de código abierto. Además, es crucial controlar el acceso a los medios extraíbles (como memorias USB) para prevenir la exfiltración de datos o la entrada de malware.
En el caso Linux hay que desarraigar el mito de la seguridad innata
Existe la falsa creencia de que Linux es intrínsecamente seguro. Si bien su arquitectura y modelo de permisos son más robustos que los de Windows por defecto, la inseguridad en Linux no viene del kernel, sino de la mala configuración. Un Linux mal administrado es tan vulnerable como cualquier otro sistema.
- El pecado original: El famoso usuario root
En muchos sistemas Linux, especialmente en estaciones de trabajo de desarrolladores, es común ver a los usuarios trabajando directamente como root o usando sudo sin restricciones. Esto es una pésima práctica.
- Deshabilitar el acceso root directo por SSH: La autenticación directa como root a través de la red debe estar prohibida. En el archivo de configuración /etc/ssh/sshd_config, debemos asegurarnos de que la línea PermitRootLogin esté en no.
- Configurar sudo con granularidad: En lugar de dar acceso total a un usuario, debemos permitirle ejecutar solo los comandos específicos que necesita para su trabajo.
- Políticas de contraseñas: Al igual que en Windows, en Linux debemos forzar la complejidad de las contraseñas editando el archivo /etc/security/pwquality.conf y configurando el bloqueo de cuentas en /etc/pam.d/
- El poder de la modularidad: Eliminando lo superfluo
A diferencia de Windows, muchas instalaciones de Linux permiten un control granular absoluto desde el primer momento. Debemos aprovecharlo.
- Instalación mínima: Al instalar el sistema, debemos elegir la opción de "instalación mínima" o "servidor mínimo", que solo incluye lo básico.
- Gestión de paquetes: Debemos auditar los paquetes instalados con herramientas como rpm -qa (en Red Hat/CentOS) o dpkg -l (en Debian/Ubuntu) y eliminar todo aquello que no sea necesario (compiladores, servicios de impresión, juegos, etc.).
- Servicios: Hay que listar los servicios en ejecución (systemctl list-units) y detener y deshabilitar aquellos que no sean necesarios. Si el servidor no imprime, ¿para qué demonios está corriendo CUPS (Sistema Común de Impresión para UNIX)?
- Blindando el acceso remoto: SSH
SSH es la puerta de entrada principal a cualquier servidor Linux, y debe estar tan blindada como la puerta de un banco.
- Protocolo 2: Debemos forzar el uso exclusivo del protocolo SSH versión 2, que es más seguro que el obsoleto protocolo 1.
- Autenticación por claves: La autenticación por contraseña debería deshabilitarse (PasswordAuthentication no) y usar exclusivamente autenticación mediante pares de claves pública-privada.
- Cambiar el puerto por defecto: Aunque no es una medida de seguridad definitiva (el "security through obscurity"), cambiar el puerto 22 por un puerto no estándar reducirá drásticamente el ruido de los escaneos automáticos y los ataques de fuerza bruta.
- Fail2ban: Herramientas como esta son esenciales. Monitorizan los logs de SSH (Intérprete de Órdenes Seguro) y, tras varios intentos fallidos, bloquean la dirección IP del atacante a nivel de firewall, frenando los ataques de fuerza bruta en seco.
- El cortafuegos y el Kernel
- Cortafuegos: Linux dispone de potentes firewalls como iptables o su evolución, firewalld y nftables. La política por defecto debe ser "denegar todo" y solo ir abriendo los puertos estrictamente necesarios (22 para SSH, 80/443 para web, etc.).
- SELinux/AppArmor: Estas herramientas de control de acceso obligatorio (MAC) son el estándar de oro en hardening. SELinux (en Red Hat/CentOS/Fedora) o AppArmor (en Debian/Ubuntu) permiten definir qué puede hacer cada proceso en el sistema. Si un proceso web es comprometido, SELinux puede impedir que escriba en directorios que no sean los suyos o que ejecute otros binarios. A menudo son desactivados por los administradores por su complejidad, pero configurarlos correctamente es el pináculo del hardening en Linux.
Por supuesto, en un solo artículo es materialmente imposible abordar la totalidad de los aspectos técnicos que implica un proceso de hardening exhaustivo. Desde la gestión de parches y actualizaciones hasta la segmentación de red más avanzada, cada capa de seguridad requiere un conocimiento profundo. Por ello, más allá de las herramientas, el activo más valioso para cualquier empresa u organización es un equipo de TI en constante preparación; solo así podrán anticiparse a las amenazas y aplicar las configuraciones más robustas en el momento adecuado.
Finalmente hay que decir que el hardening no es una tarea de "una vez y ya está". Es un proceso continuo. Los sistemas cambian, se instalan nuevas aplicaciones, los usuarios cambian sus roles y, lo más importante, los atacantes evolucionan sus técnicas. Por eso, el este proceso debe ir acompañado de monitoreo y auditoría constantes. Revisar logs, analizar la configuración con herramientas como Lynis (para Linux) o los Security Compliance Toolkits de Microsoft, y gestionar el "configuration drift" (la desviación lenta de la configuración segura inicial) es tan importante como la configuración inicial.
Al final del día, el mensaje es claro: no podemos construir una catedral sobre arenas movedizas. Antes de gastar fortunas en el próximo servicio de moda de detección de amenazas, asegurémonos de que nuestros cimientos —nuestros sistemas operativos— son de roca. Cerremos la puerta con llave. Solo entonces las cámaras de seguridad tendrán el sentido que realmente merecen. Por hoy es todo, nos despedimos. Hasta la próxima semana.
- Hardening de sistemas operativos: Solo lo esencial puede permanecer
- El EDR: Ese guardián silencioso que duerme con un ojo abierto
- El latido que enfermó a internet: Heartbleed y la fragilidad oculta en el ciberespacio
- El doble filo de la tunelización: Cuando esconder datos protege o destruye una organización
- Más allá del cortafuegos: La DMZ como zona zero en el campo de batalla digital
- ir aCódigo seguro »
- Cuba es responsable y transparente con los donativos solidarios que recibe
- Hardening de sistemas operativos: Solo lo esencial puede permanecer
- Cuba actualiza sus estrategias para defender el curso escolar ante el recrudecimiento del bloqueo
- Ariel Martínez: “20 años después, las mismas 4 letras y el mismo orgullo”
- Siete preguntas y respuestas sobre los sismos al sureste de Imías
- ir aEspeciales »
- Hallan en Rusia un tesoro de 409 monedas de oro bajo una casa del siglo XIX
- Hardening de sistemas operativos: Solo lo esencial puede permanecer
- Siete preguntas y respuestas sobre los sismos al sureste de Imías
- Exprime Chrome al máximo: guía para personalizar la barra de herramientas como un profesional
- Amplía Radiocuba cobertura de canales digitales en La Habana
- ir aCiencia y Tecnología »


Muy bien artículo para los administradores de red. Cosas elementales que no en pocas ocasiones se descuidan.