_ Daniel García
El principal objetivo de este artículo es ofrecer una visión de alto nivel sobre el proceso de fortificación de un servidor y no ser una guía paso-a-paso de cómo llevarlo a cabo, ya que el procedimiento se debería adaptar a cada caso particular teniendo en cuenta la tecnología que se utilice, la arquitectura de red, el sistema operativo, la finalidad de la aplicación o aplicaciones alojadas en el servidor y sus requerimientos tanto técnicos como de negocio, etc.
De manera general, estos son los tres principios básicos que ha de tener cualquier fortificación independientemente del producto y/o la plataforma:
- Principio de Defensa en Profundidad: Para que un atacante pueda acceder a los datos o la información, antes tiene que vulnerar varios niveles de seguridad, los cuales son más duros a medida que se va profundizando en el sistema.
- Principio de Mínima superficie de Exposición: Esto es, intentar exponer el mínimo de servicios posibles. De esta forma, un atacante tendría menos probabilidades de encontrar una manera de explotar vulnerabilidades y comprometer el sistema. La superficie de ataque puede ser a través de la aplicación, de la red o de los empleados. Tres factores que hay que tener en cuenta a la hora de evaluar esta superficie.
- Principio de Mínimo Privilegio: Este principio se basa en aplicar una capa de abstracción sobre cada proceso, usuario o aplicación para que únicamente acceda a la información y recursos estrictamente necesarios para su legítimo propósito
El primer paso es fortificar la instalación, llevando a cabo una instalación mínima, básica, y posteriormente instalar los componentes o módulos que sean necesarios. Antes de nada, conviene planear cómo se hará el particionado y analizar las necesidades de la memoria de intercambio.En este punto se ha de incluir también la seguridad física y los controles de acceso. Las acciones a llevar a cabo serían proteger la BIOS/UEFI con contraseña, deshabilitar periféricos, utilizar fuentes de alimentación redundantes, RAID y controlar el acceso físico al equipo.
Una vez instalado es importante tener el sistema siempre lo más actualizado posible.
Dar la menor información es otro punto muy importante, para ello conviene modificar el banner tanto del sistema como de los servicios y establecer políticas de uso de la información y del sistema.Siguiendo el principio de Mínima exposición, se han de deshabilitar los protocolos y servicios que no se utilicen, así como restringir el acceso a los puertos a direcciones concretas, si es posible. Deshabilitar IPv6 si no se utiliza estaría incluido en este paso.
En lo referente al control de acceso, algunas medidas son restringir el acceso como root/administrador a los terminales, forzar el logout de los usuarios, crear un grupo de usuarios con permisos de administrador y limitar su uso, establecer una política de contraseñas y crear usuarios sin shell con mínimos privilegios.
Es recomendable establecer una política de gestión de registros. La configuración de los registros de acceso y los eventos que se producen en un servidor Web son de especial importancia, pues pueden ayudar a detectar preventivamente un ataque al sistema, una debilidad que está siendo explotada o simplemente un fallo en la configuración o en el sistema.
Configurar un servidor NTP para sincronizar la fecha y la hora siempre es una buena acción a realizar.
Daniel García