PRACTICAS DE ASEGURAMIENTO O HARDERING DE LOS SISTEMAS OPERATIVOS SERVER
El Hardening es el fortalecimiento o endurecimiento de un sistema, es el proceso de asegurar un sistema mediante la reducción de vulnerabilidades. Un sistema tiene mayor vulnerabilidad cuando más funciones o servicios brinda. Su propósito, entorpecer la labor del atacante y ganar tiempo para poder minimizar las consecuencias de un inminente incidente de seguridad e incluso, en algunos casos, evitar que éste se concrete en su totalidad.
Configuración del usuario:
En Windows Server actual es obligatorio hacerlo, hay que asegurarse que la contraseña se restablezca a algo seguro, siempre que se pueda se debe desactivar el administrador local para evitar un ataque y crear una cuenta para usar. Puede ser una cuenta de dominio apropiada si es un directorio activo o se puede crear una cuenta local y ponerla en el grupo de administradores.
También se debe cerrar la cuenta de invitado y verificar los grupos de seguridad para asegurarse que todos están donde deberían estar, no se debe olvidar de proteger las contraseñas con requisitos de complejidad y longitud, vencimiento, historial y bloqueo de la cuenta, la contraseñas antiguas representan ataques exitosos, así que los cambios regulares son necesarios.
Configuración de red:
Los servidores de producción deben tener una dirección IP estática para que los clientes puedan encontrarlos de manera confiable. Esta IP debe estar en un segmento protegido, detrás de un firewall. Se debe configurar al menos dos servidores DNS para la redundancia y verificar la resolución de nombres usando nslookup desde el símbolo del sistema. Asegurarse de que el servidor tenga un registro A válido en DNS con el nombre que desea, así como un registro PTR para búsquedas inversas. Hay que tener en cuenta que puede llevar varias horas para que los cambios de DNS se propaguen a través de Internet, por lo que las direcciones de producción deben establecerse mucho antes de una ventana activa. Finalmente, desactivar cualquier servicio de red que el servidor no vaya a usar, como IPv6. Esto depende del entorno y cualquier cambio aquí debe ser probado antes de entrar en producción.
Características de Windows y configuración de roles:
Microsoft usa roles y características para administrar paquetes de sistema operativo. Los roles son básicamente una colección de características para un propósito específico, por lo que generalmente se pueden elegir roles si el servidor se ajusta a uno, y luego las características se pueden personalizar. Dos cosas igualmente importantes para hacer son 1) asegurarse de que todo lo que necesita esté instalado. Puede ser una versión de .NET framework o IIS, pero sin las piezas adecuadas, sus aplicaciones no funcionarán. 2) Desinstale todo lo que no necesita. Los paquetes extraños extienden innecesariamente la superficie de ataque del servidor y deben eliminarse siempre que sea posible. Esto es igualmente cierto para las aplicaciones predeterminadas instaladas en el servidor que no se usarán. Los servidores deben diseñarse con la necesidad en mente y desprovistos de grasa para que las partes necesarias funcionen de la manera más suave y rápida posible.
Actualizar la instalación:
La mejor manera de mantener un servidor seguro es mantenerlo actualizado. Esto no significa necesariamente vivir a la vanguardia y aplicar actualizaciones tan pronto como se lanzan con poca o ninguna prueba, sino simplemente tener un proceso para asegurar que las actualizaciones se apliquen dentro de un plazo razonable. La mayoría de las vulnerabilidades explotadas tienen más de un año, aunque las actualizaciones críticas se deben aplicar tan pronto como sea posible en las pruebas y luego en producción.
Existen diferentes tipos de actualizaciones:
Los parches tienden a abordar una única vulnerabilidad; los roll-ups son un grupo de paquetes que abordan varias vulnerabilidades, tal vez relacionadas, y los service packs son actualizaciones de una amplia gama de vulnerabilidades, que comprenden docenas o cientos de parches individuales. Hay que mirar los foros y enterarse de experiencias de otras personas.
Se deben configurar las actualizaciones automáticas en el servidor. Las actualizaciones deberán ser escalonadas para que los entornos de prueba las reciban una semana antes, lo que les da a los equipos la oportunidad de observar su comportamiento. Las actualizaciones opcionales se pueden realizar de forma manual, ya que generalmente abordan problemas menores; Cada aplicación debe actualizarse regularmente y con pruebas.
Configuración de NTP:
Una diferencia de tiempo de solo 5 minutos romperá completamente los inicios de sesión de Windows y otras funciones que dependen de la seguridad de Kerberos. Los servidores que son miembros del dominio automáticamente sincronizarán su tiempo con un controlador de dominio al unirse al dominio, pero los servidores autónomos deben tener el NTP configurado para sincronizarse con una fuente externa para que el reloj permanezca preciso. Los controladores de dominio también deben tener sincronizada su hora con un servidor horario, asegurando que todo el dominio permanezca dentro del rango operativo del tiempo real.
Configuración del firewall:
En un servidor web, solo los puertos web (80 y 443) se abrirán a ese servidor desde Internet. Si los clientes anónimos de Internet pueden hablar con el servidor en otros puertos, eso abre un riesgo de seguridad enorme e innecesaria. Si el servidor tiene otras funciones como el escritorio remoto (RDP) para la administración, solo deberían estar disponibles a través de una conexión VPN, asegurando que personas no autorizadas no puedan explotar el puerto a voluntad desde la red.
El firewall de Windows es un firewall de software integrado decente que permite la configuración del tráfico basado en el puerto desde el sistema operativo. En un servidor independiente, o en cualquier servidor sin un firewall de hardware, el firewall de Windows proporcionará al menos cierta protección contra los ataques basados en la red al limitar la superficie de ataque a los puertos permitidos. Un firewall de hardware siempre es una mejor opción porque descarga el tráfico a otro dispositivo y ofrece más opciones para manejar ese tráfico, dejando que el servidor cumpla con su deber principal. El punto clave es restringir el tráfico solo a las rutas necesarias.
Configuración de acceso remoto:
Si se usa RDP, solo se podrá acceder a través de VPN, si es posible. Dejarlo abierto a Internet no garantiza los ataques, pero ofrece potenciales caminos hacia el servidor. El RDP solo será accesible para usuarios autorizados. De forma predeterminada, todos los administradores pueden usar RDP. Las personas adicionales pueden unirse al grupo de usuarios de escritorio remoto para acceder sin convertirse en administradores.
Además del RDP, otros mecanismos de acceso remoto como Powershell y SSH deben bloquearse cuidadosamente hacerlo accesible solo dentro de un entorno VPN. Telnet nunca debe utilizarse en absoluto, ya que transmite información en texto sin formato y es terriblemente inseguro de varias maneras. Lo mismo vale para FTP. Utilizar SFTP o SSH (desde una VPN) siempre que sea posible y evitar por completo las comunicaciones no encriptadas.
Configuración del servicio:
El servidor de Windows tiene un conjunto de servicios predeterminados que se inician automáticamente y se ejecutan en segundo plano. Muchos de estos son necesarios para que el sistema operativo funcione, pero algunos se deben desactivar si no se usan. Se minimiza la superficie del ataque del servidor al deshabilitar todo lo que no sea la funcionalidad principal. Las versiones anteriores tienen más servicios innecesarios.
Los servicios importantes deben configurarse para que se inicien automáticamente, de modo que el servidor pueda recuperarse sin interacción humana después de una falla. Para aplicaciones más complejas, aproveche la opción Automático (Inicio diferido) para dar a otros servicios la oportunidad de ponerse en marcha antes de lanzar servicios intensivos de aplicaciones. También se puede configurar dependencias de servicio en las cuales un servicio esperará a que otro servicio o conjunto de servicios se inicie exitosamente antes de comenzar. Las dependencias también permiten detener e iniciar una cadena completa a la vez.
Más endurecimiento:
Microsoft proporciona analizadores de mejores prácticas basados en la función y la versión del servidor que pueden ayudar a fortalecer los sistemas escaneando y haciendo recomendaciones. User Account Control (UAC) sirve para el importante propósito de abstraer ejecutables del contexto de seguridad del usuario que ha iniciado sesión. Esto significa que incluso cuando haya iniciado sesión como administrador, UAC evitará que las aplicaciones se ejecuten sin consentimiento. Esto evita que el malware se ejecute en segundo plano y que los sitios web maliciosos inicien instaladores.
Cada aplicación que se ejecute también debe ser reforzada. Las aplicaciones comunes de servidor de Microsoft como MSSQL y Exchange tienen mecanismos de seguridad específicos que pueden ayudar a proteger, se debe investigar y modificar cada aplicación para obtener la máxima capacidad de recuperación.
Registro y Monitoreo:
Asegurarse de que los registros y supervisión estén configurados y capturar los datos para que, en caso de un problema, se pueda encontrar rápidamente lo que se necesita y remediarlo. El registro funciona de manera diferente dependiendo de si el servidor es parte de un dominio. Los inicios de sesión de dominio son procesados por los controladores de dominio y, como tales, tienen los registros de auditoría para esa actividad, no el sistema local. Los servidores independientes tendrán auditorías de seguridad disponibles y se pueden configurar para mostrar pases y / o fallas.
Verificar el tamaño máximo de los registros y marcarlos en un tamaño apropiado. Los valores predeterminados de los registros son casi siempre demasiado pequeños para monitorear aplicaciones de producción complejas. Como tal, el espacio en disco debe asignarse durante las compilaciones del servidor para el registro, especialmente para aplicaciones como MS Exchange. Los registros se deben respaldar de acuerdo con las políticas de retención de su organización y luego se borran para dejar espacio para más eventos actuales.
Establecer una línea base de rendimiento y también umbrales de notificación para métricas importantes. Ya sea que utilice el monitor de rendimiento integrado de Windows o una solución de terceros que utiliza un cliente o SNMP para recopilar datos, se debe recopilar información de rendimiento en cada servidor. Cosas como el espacio disponible en el disco, el uso del procesador y la memoria, la actividad de la red e incluso la temperatura deben analizarse y registrarse constantemente para que las anomalías se puedan identificar y tratar fácilmente. Este paso a menudo se pasa por alto debido a la naturaleza agitada de los cronogramas de producción, pero a la larga pagará dividendos porque la solución de problemas sin líneas de base establecidas es básicamente disparar en la oscuridad.
ARTICUL0