En tecnología, sobretodo en infraestructura, a la hora de poner un equipo o servicio en producción se toman muchos puntos en cuenta. Generalmente se traza un plan que incluye todas las herramientas a utilizar con sus respectivas versiones, quienes, como y cuando van a ejecutar las tareas y si las necesidades del negocio son cubiertas con la propuesta, sin embargo, muchas veces obviamos lo referente al endurecimiento (hardening) de los productos que están en escena.
Hardening no es más que el proceso de fortalecer los componentes tecnológicos que estamos utilizando para brindar un servicio determinado. Es en este punto donde se aplica seguridad a las versiones de los softwares que están siendo implementados, con el objetivo final de eliminar cualquier vulnerabilidad conocida y reducir así la posible superficie de ataque.
Esta tarea se realiza comúnmente mediante la aplicación de parchos y upgrades a los softwares involucrados, usando las herramientas suministradas por los suplidores de los mismos. También se incluyen la aplicación de controles a lo interno de las configuraciones tales como:
Apagado de los servicios que no se utilizan dentro de la soluciones y/o que ya han sido reconocidas como vulnerables. Un ejemplo a nivel sistema operativo: telnet.
Cambio de usuarios, contraseñas y puertos que vienen por defecto.
Cierre de puertos innecesarios.
Aplicación de políticas de passwords robustas.
Cuando la situación lo permita, encriptación de la información sensitiva.
Activar los servicios de auditoria disponibles.
Eliminación de usuarios innecesarios.
Estas tareas de aseguramiento también deben de incluir la instalación y el mantenimiento de softwares terceros, que permitan el monitorear nuestro ambiente productivo y al mismo accionar cualquier medida de coerción en caso de percibir alguna anomalía. En esta categoría entran en juego los antivirus, anti-spywares, IDS/IPS, firewalls y todos los scripts disponibles para mantener los sistemas operativos y/o aplicativos lo más cerrado y seguro posible.
Algunos ejemplos de estos últimos son:
Bastille: Aplicativo para endurecer cualquier equipo corriendo Linux.
JASS: Igual que el anterior, permite fortificar cualquier servidor corriendo Solaris.
Syhunt Apache/PHP Apache: aplica la seguridad a cualquier servidor web con Apache.
Lynis: Herramienta de auditoría y seguridad para fortalecer servidores Linux.
Finalmente, un buen recurso disponible para la comunidad es Center for Internet Security (CIS) el cual pone a la disposición, una serie de documentos con las mejores prácticas de seguridad para diferentes plataformas. La elaboración de estas guías se hace mediante la participación de una gran cantidad de voluntarios y casos, lo que permite al final un documento aplicable, generalmente actualizado y válido para la gran mayoría de las instalaciones.