El hardening de sistemas es una colección de herramientas, técnicas y mejores prácticas para reducir la vulnerabilidad en aplicaciones de tecnología, sistemas, infraestructura, firmware y otras áreas.
El objetivo del hardening de los sistemas es reducir el riesgo de seguridad al eliminar los posibles vectores de ataque y condensar los “Attack Surface” del sistema. Al eliminar programas superfluos, funciones de cuentas, aplicaciones, puertos, permisos, acceso, etc., de esta forma los atacantes y el malware tienen menos oportunidades de establecerse dentro de su ecosistema de TI.
El fortalecimiento de los sistemas exige un enfoque metódico para auditar, identificar, cerrar y controlar posibles vulnerabilidades de seguridad en toda tu organización. Hay varios tipos de actividades de hardening del sistema, que incluyen:
- Aplicación hardening
- Hardening del sistema operativo
- Hardening del servidor
- Base de datos hardening
- Hardening de la red
Aunque los principios del hardening en sistemas son universales, las herramientas y técnicas específicas varían según el tipo de hardening que esté realizando. El fortalecimiento del sistema es necesario durante todo el ciclo de vida del sistema, desde la instalación inicial, pasando por la configuración, el mantenimiento y el soporte, hasta el desmantelamiento al final de su vida útil.
Hardening de los sistemas para reducir ataques
Los ataques de superficie (Attack Surface) es la combinación de todas las posibles fallas y puertas traseras de la tecnología que los piratas informáticos pueden aprovechar. Estas vulnerabilidades pueden ocurrir de varias formas, que incluyen:
- Contraseñas predeterminadas y codificadas
- Contraseñas y otras credenciales almacenadas en archivos de texto sin formato
- Vulnerabilidades de software y firmware sin parches
- BIOS, firewalls, puertos, servidores, conmutadores, enrutadores u otras partes de la infraestructura mal configurados
- Tráfico de red no cifrado o datos en reposo
- Falta o deficiencia de controles de acceso privilegiado
9 mejores prácticas para el refuerzo de sistemas
El tipo de hardening que lleves a cabo depende de los riesgos de su tecnología existente, los recursos que tengas disponibles y la prioridad para realizar las correcciones.
- Audita tus sistemas existentes. Realiza una auditoría integral de tu tecnología existente. Usa pruebas de penetración, escaneo de vulnerabilidades, administración de configuración y otras herramientas de auditoría de seguridad para encontrar fallas en el sistema y priorizar las correcciones. Realiza evaluaciones de fortalecimiento del sistema contra los recursos utilizando estándares de la industria de NIST, Microsoft, CIS, DISA, etc.
- Crea una estrategia para el hardening de los sistemas. No necesitas asegurar todos los sistemas a la vez. En su lugar, crea una estrategia y un plan basados en los riesgos identificados dentro de su ecosistema tecnológico y utiliza un enfoque por fases para remediar las fallas más importantes.
- Parcha las vulnerabilidades de inmediato. Asegúrate de contar con un sistema de parches e identificación de vulnerabilidades automatizado y completo.
- Fortalecimiento de la red. asegúrate de que tu firewall esté configurado correctamente y de que todas las reglas se auditen periódicamente; puntos y usuarios seguros de acceso remoto; bloquear los puertos de red abiertos que no se utilicen o no sean necesarios; deshabilitar y eliminar protocolos y servicios innecesarios; implementar listas de acceso; cifrar el tráfico de la red.
- Fortalecimiento del servidor. Coloca todos los servidores en un centro de datos seguro; nunca pruebes el hardening en servidores de producción; Siempre refuerza los servidores antes de conectarlos a Internet o redes externas; evita instalar software innecesario en un servidor; segregar los servidores de forma adecuada; garantizar que los recursos compartidos administrativos y de superusuario estén configurados correctamente y que los derechos y el acceso estén limitados de acuerdo con el principio de privilegio mínimo.
- Hardening de la aplicación. Elimina cualquier componente o función que no necesites; restringe el acceso a las aplicaciones según los roles y el contexto de los usuarios (como con el control de aplicaciones); elimina todos los archivos de muestra y las contraseñas predeterminadas. Las contraseñas de las aplicaciones deben administrarse a través de una administradora de contraseñas de aplicaciones / administrador de contraseñas privilegiadas, que hace cumplir las mejores prácticas de contraseñas (rotación de contraseñas, longitud, etc.). La protección de las aplicaciones también debería implicar la inspección de integraciones con otras aplicaciones y sistemas, y la eliminación o reducción de componentes y privilegios de integración innecesarios.
- Fortalecimiento de la base de datos. Crea restricciones de administración, como controlar el acceso privilegiado sobre los usuarios. Activa la comprobación de nodos para verificar aplicaciones y usuarios. Cifra la información de la base de datos, tanto en tránsito como en reposo. Haz cumplir contraseñas seguras. Introduce privilegios de control de acceso basado en roles (RBAC). Elimina las cuentas que no utilices.
- Fortalecimiento del sistema operativo. Aplica actualizaciones del sistema operativo, paquetes de servicio y parches automáticamente. Elimina controladores, uso compartido de archivos, bibliotecas, software, servicios y funciones innecesarios. Cifra el almacenamiento local. Refuerza los permisos de registro y otros sistemas. Registra toda la actividad, errores y advertencias. Implementa controles de usuario privilegiado.
- Elimina cuentas y privilegios innecesarios. Aplica el privilegio mínimo, eliminando las cuentas innecesarias (como las cuentas huérfanas y las cuentas no utilizadas) y los privilegios en toda la infraestructura de TI.
Aquí te dejamos una pequeña guía de protocolo hardening para que puedas iniciar la protección en tu sistema.
Beneficios del hardening de sistemas
El hardening de los sistemas recupera el esfuerzo continuo, pero la diligencia dará sus frutos de manera sustancial en toda tu organización a través de:
- Funcionalidad del sistema mejorada: dado que menos programas y menos funcionalidad significa que hay menos riesgo de problemas operativos, configuraciones incorrectas, incompatibilidades y compromiso.
- Seguridad significativamente mejorada: un ataque reducido se traduce en un menor riesgo de filtraciones de datos, acceso no autorizado, piratería de sistemas o malware.
- Cumplimiento y auditabilidad simplificados: menos programas y cuentas, junto con un entorno menos complejo, significa que la auditoría del entorno generalmente será más transparente y sencilla.