Vivimos en un mundo cada vez más inseguro a todos los niveles. Cada vez contamos con más servicios conectados y nuestros atacantes son cada día más numerosos y mejor equipados, por esta razón debemos estar siempre alerta y mantener siempre una postura defensiva y vigilante en lo que respecta a la seguridad de todos nuestros sistemas.
No hay un solo sistema, servicio o máquina, por muy insignificante que sea, que no pueda ser explotado por nuestros atacantes para tomar ventaja y acabar comprometiendo nuestra explotación.
Por eso, debemos tener en cuenta ciertas medidas para que nuestra organización esté lo más segura posible. En este artículo te proponemos cinco de ellas que a través de pequeñas grandes ideas te ayudarán a construir una infraestructura segura enraizada en servidores Windows Server 2022 bien asegurados.
NOTA: Aunque hablamos de Windows Server 2022, estos consejos son aplicables a cualquier versión de Windows, e incluso a sistemas GNU/Linux. Como es lógico, la forma de implementar todo esto en cada sistema será distinta, pero los principios serán los mismos.
Básicamente, a lo largo del artículo verás que todo lo que aquí hablamos se puede resumir en tómate tu tiempo y planifica todo lo que hagas y te ahorrarás muchos disgustos.
Las 5 medidas de seguridad que debes aplicar en tu Windows Server 2022
En este artículo, finalmente, hemos pensado tratar las cinco medidas de seguridad que siempre deberíamos aplicar a nuestra infraestructura de servidores, bien sean Windows Server 2022, o cualquier ora versión.
1. Minimiza la superficie de ataque: Instala solo los servicios y roles que vayas a necesitar.
2. Tomate tu tiempo para configurar el firewall de Windows.
3. Mantente actualizado.
4. Planifica tu continuidad de servicio.
5. Programa auditorías del sistema de manera recurrente.
Minimiza la superficie de ataque: Instala solo los servicios y roles que vayas a necesitar:
Una de las cosas maravillosas que tenemos en este país (España), son tanto los refranes como los dichos; en esto no logrará ganarnos nunca el mundo anglosajón, porque entre otras cosas tenemos una gran inventiva y muchos de estos refranes o dichos, a pesar de ser realmente antiguos, pueden aplicarse al mundo moderno, y por supuesto, las nuevas tecnologías (aunque ya no lo son tanto) no están exentas de esto.
El dicho que me viene a la cabeza cuando pienso en este primer punto es el de “El clavo que sobresale siempre recibe un martillazo”, y es que no hay mejor manera de poner en peligro nuestra infraestructura que instalar programas, servicios y roles que no vamos a utilizar.
Siempre que instalemos un servidor debemos planificar cuidadosamente para qué queremos dicho servidor. Una vez lo tengamos claro, podremos empezar con la operativa para instalar lo que queremos desplegar.
Sin esta tarea previa, es muy posible que terminemos desplegando más servicios y roles de los que nos gustaría tener y así expongamos los servicios legítimos a más superficie de ataque de lo que sería deseable.
Cada servicio, rol, o programa que instalamos deja abiertos servicios y puertos que escucharan las peticiones que puedan venir del exterior de dicho servidor y es por donde podría llegar a entrar un atacante.
Además, debemos tener claro que algunos servicios como Active Directory Domain Services (AD DS) no se deben instalar en un solo equipo (en este caso un solo Domain Controller), ya que se debe crear redundancia para evitar caídas de servicio, por lo que deberán desplegarse varios servidores con el mismo propósito o clúster para servicios como DNS, DHCP, impresión, etc.
Otro punto que debemos tener en cuenta en este sentido es que, con el auge de la virtualización, e incluso de la virtualización en contenedores, podemos desplegar distintos servidores para aislar los servicios y minimizar el impacto en caso de que uno se vea comprometido.
Tomate tu tiempo para configurar el firewall de Windows:
Tras haber levantado solo los servicios necesarios para dar soporte a nuestra infraestructura, o sea, solo los que deben operar para evitar los agujeros de seguridad, debemos tener en cuenta también la configuración del firewall de Windows.
En este sentido, debemos empezar por decir que la aproximación de “tener un firewall perimetral es más que suficiente” es completamente errónea. En un mundo tan complejo como el que vivimos, con amenazas crecientes y con atacantes que pueden aprovechar cualquier descuido, debemos asumir la brecha y asegurar cada elemento que sea susceptible de ser asegurado.
Debemos invertir un tiempo en revisar cada servidor, hacer una lista de los servicios que tiene que dar y denegar el acceso a todos los demás. Y si, la política de firewall debe ser la de seguridad por defecto, o lo que es lo mismo, denegar todo e ir abriendo solo los puertos necesarios.
¡Y mucho ojo con esto último! Cuando decimos que debemos abrir los puertos necesarios no deberemos abrir todos los puertos de un servicio, sino aquellos que queramos usar.
Un ejemplo de esto puede ser Microsoft SQL Server, que cuenta con innumerables puertos para dar servicio a sus distintas opciones; y en el que por ejemplo no abriremos los puertos relacionados con Analysis Services si no desplegamos este servicio.
NOTA: Para aprender más sobre los puertos de SQL Server se puede visitar el artículo Cómo gestionar los puertos SQL en tu servidor Windows de este mismo blog.
Por otro lado, es posible que se piense en el tiempo que puede costar desplegar los cortafuegos de toda la infraestructura, y la enorme inversión de tiempo que puede ser dejar todos correctamente configurados.
En este sentido, podemos recomendar la lectura del artículo Cómo configurar tu firewall mediante GPO script donde se describe como podemos usar políticas de grupo (GPO) para desplegar la configuración de los firewall, que podríamos agrupar por ejemplo en equipos de clientes, servidores web, controladores de dominio, servidores de bases de datos, etc., para así poder hilar más fino las configuraciones de los firewall.
Mantente actualizado:
Otro de los puntos críticos dentro de la seguridad de los sistemas es el de mantenerse actualizado. Y en este sentido deberemos tratar varias vertientes.
Para empezar, debemos pensar en qué sentido debemos mantenernos actualizados y cuando yo pienso en este tema pienso en varias interpretaciones:
- Debemos mantener actualizados nuestros sistemas operativos aplicando las últimas actualizaciones de sistema cuando tengamos claro que estas no plantean una amenaza para nuestros sistemas.
- Debemos mantener actualizados nuestros servicios y roles, además de nuestros aplicativos de la misma manera que se aplican las actualizaciones de sistema operativo.
- Debemos mantenernos actualizados nosotros mismos revisando noticias de seguridad continuamente, y para ello deberemos reservar una parte de la semana para poder revisar foros, páginas especializadas, newsletters de seguridad, etc.
- Debemos mantenernos actualizados de nuevo nosotros mismos, reciclándonos, aprendiendo nuevos modos de administrar nuestros sistemas, aprendiendo por ejemplo sobre PowerShell y como automatizar procesos que nos ayudarán a ganar tiempo en tareas repetitivas, un tiempo que podremos invertir en otras tareas más importantes como mejorar la infraestructura.
Respecto a las actualizaciones de los sistemas operativos y servicios, debemos hacer una pequeña inversión para desplegar un entorno de pruebas, comúnmente llamado “piloto” o “maqueta”, en el que podremos probar las actualizaciones y nuevos servicios o programas a desplegar antes de llevarlos a producción.
Para gestionar este tipo de actualizaciones se pueden usar distintas aproximaciones que se podrán ejecutar en función del presupuesto disponible.
Por un lado, podemos hablar de System Center, que cuenta ya con unos cuantos años en el mercado y que algunos de nosotros hemos podido operar a lo largo de los años. Este cuenta con System Center Configuration Manager en versiones algo más antiguas, un aplicativo que ya ha migrado a la nube en las versiones más nuevas. SCCM, que es como se le conoce entre los administradores de plataformas “wintel” ha facilitado notablemente la administración de este tipo de plataformas para los que han tenido la suerte de contar con un presupuesto suficiente. El único pero que se le puede poner a esta plataforma de gestión es que se necesita invertir un buen volumen de horas para desplegar la infraestructura y afinarla al principio.
NOTA: Actualmente se tiene disponible Microsoft Endpoint Configuration Manager como sustituto natural de este software.
Por otro lado, en el mercado hay muchas opciones como MDM para el despliegue, actualización y control de dispositivos, pero todos necesitan una buena inversión.
Para aquellos que no contaran con un presupuesto suficiente, siempre se ha tenido disponible WSUS (Windows Server Update Services), un sistema de administración de actualizaciones de sistemas y aplicaciones de Microsoft que puede usarse para crear distintos perfiles de servidores y clientes y provisionar de solo aquellos paquetes que se consideren propicios para cada perfil.
Planifica tu continuidad de servicio:
El siguiente punto es el de planificar la continuidad de tu servicio y por tanto del negocio. Y para esto no hace falta hacer un despliegue completo de la ISO/IEC-22301 que es la dedicada a los Sistemas de Gestión de Continuidad de Negocio, que suele ser más un sello de calidad y de cumplimiento formal que una medida de continuidad real.
Para esto debemos para empezar aplicar el sentido común y para continuar aplicar medidas técnicas, que si vienen acompañadas de los procedimientos apropiados pueden asegurar que nuestra empresa sobreviva a casi cualquier eventualidad.
Para empezar, debemos pensar en la formación: no solo en la nuestra y en la de nuestro equipo de trabajo, sino que también deberemos pensar en la del personal de otros departamentos.
Todo nuestro personal deberá tener al menos cierto nivel de formación y conocimiento en materia de seguridad y en materia de como operar los servicios en los que se vea involucrado para actuar de la mejor manera posible en caso de eventualidad o incluso para evitar que se cometan pequeños errores que comprometan la seguridad, como por ejemplo caer en las trampas del phishing, la ingeniería social, etc.
El siguiente punto que debemos tener en cuenta es algo que casi me ruboriza al comentarlo, pero que por desgracia no siempre se encuentra cubierto, el de las copias de seguridad. Todos nuestros servidores y nuestros servicios deben contar con copias de seguridad, especialmente los más críticos, que deben tener copias de seguridad más numerosas, cada menos tiempo y con mayores retenciones.
Además, no debemos olvidarnos de ciertos usuarios clave de la compañía cuyo trabajo es imprescindible para la supervivencia de la empresa. Por poner un ejemplo que real de algo que me tocó vivir en el pasado, hay empresas cuyo sistema de generación de nóminas es completamente prescindible y si se cae, aunque se demore un poco no constituirá un problema, pero por el contrario hay otras empresas cuyo sistema de generación de nóminas es su razón de existir, porque se dedican a dar dicho servicio. Por tanto, deberemos siempre adaptar las copias y los sistemas a las necesidades del negocio, y no al revés.
En el caso de Jotelulu, por poner un ejemplo, se cuenta con unas copias de seguridad programadas por defecto para todos los servidores desplegados por los clientes, algo que puede verse consultando la página de Infraestructura y Seguridad.
Tanto en el caso de las copias de seguridad como en el del clúster de servidores, siempre que sea posible será buena idea externalizar una de las copias o servidores y llevarlos a una sede remota y si es posible, además guardar una más en un proveedor externalizado.
Programa auditorías del sistema de manera recurrente:
Por último, creemos que un plan de auditorías programadas para ser ejecutadas cada cierto tiempo puede ayudarnos a tener bajo control la infraestructura.
Sobre este tema no vamos a extendernos más porque ya dedicamos un artículo en este mismo blog, por lo que dejo el enlace a dicho artículo Cómo auditar la seguridad de tu servidor Windows.
Conclusiones:
A lo largo de este artículo se han revisado algunas de las medidas que podemos tomar para mantener nuestro Windows Server 2022 (u otras versiones o incluso aplicativos) seguros frente a las amenazas, ya que lo que aquí se cuenta puede ser útil para distintos sistemas tanto on-premise como on-cloud.
En este artículo hemos repasado solo cinco puntos, pero deberíamos poner el foco también en otros como en las cuentas y contraseñas de los usuarios, por ejemplo.
Todos estos puntos irán encaminados a mejorar la seguridad, pero hemos de decir que lo más importante, como hemos dicho en otras ocasiones, es disponer de una correcta planificación, que nos ayudará a eliminar la mayor parte de las vulnerabilidades o errores de despliegue.
Este artículo, como es lógico, es breve, ya que terminaría aburriendo y abrumando al lector, por tanto, hemos dejado de lado algunos puntos que quizá abordemos más adelante.
Creemos que, con estos consejos, podrás mejorar la seguridad de tus servidores, pero recuerda que estos son solo algunos de los puntos, y te animamos a investigar y añadir nuevos puntos.
¡Gracias por acompañarnos!