¿Que Sistema Operativo es más Seguro?

En este post revisaremos los sistemas operativos más utilizados por las organizaciones en los ambientes de TI, ya sea en nube pública, centros de datos locales, haciendo la típica pregunta, que sistema operativo es más seguro?, Microsoft Windows, Linux, OpenBSD, FreeBSD? o desde otro punto de vista, cuales son las medidas de protección que se aplicarán a los sistemas operativos?, Solo basta con Firewall y Antivirus? Solo basta con deshabilitar el servicio SSH en ambientes Linux? Solo basta con no usar root?

Introducción

Hace un tiempo atrás y en los últimos VeeamON Tours de Latinoámerica, conversaba con clientes y compañeros de trabajo sobre la típica pregunta, ¿Qué sistema operativo es más seguro? algunos decían, siempre es más seguro Linux, otros decian Windows y por último otros optaban por OpenBSD (Uno de sus objetivos es ser el S.O más seguro) y FreeBSD, pero realmente importa el sistema operativo o lo que importa es la forma como se despliega y se protegen los sistemas operativos?, siempre hablando desde un punto de vista de la seguridad.

Por lo general, siempre se habla de hacer “hardening” a los sistemas operativos, apuntando a una seguridad por defecto, pero ese “hardening” se va actualizando en el tiempo? Las personas que indican que Linux es más seguro, cuántas veces actualizan los servidores Linux desde que se encuentra alguna vulnerabilidad? Por lo general, en Latam y de acuerdo con mi experiencia, son muy pocas las organizaciones que mantienen actualizados sus servidores con sistema operativo Linux o BSD, pero otra parte no menor prefieren quedar expuestos a cualquier ataque basado en alguna vulnerabilidad de Linux / BSD o de alguna aplicación que preste servicios. Y ni hablar de los profesionales que no desean actualizar Windows por que no saben si va a funcionar la solución que tienen instalada o simple y llanamente tienen la idea de “a mi empresa no la van a atacar”.

Tu Organización está preparada para recibir un Ataque?

Es una tremenda pregunta, ya que no es fácil de responder, y en general, la repuesta es siempre No, ya que pueden existir muchos factores en las organizaciones que no permiten a las áreas de IT minimizar el riesgo, por ejemplo, alguno de los problemas más comunes que he visto:

  • Presupuesto
  • Aplicaciones Antiguas o Legadas
  • Falta de Entrenamiento
  • Falta de utilización de un Framework de Seguridad
  • Falta de Controles en la Infraestructura IT
  • Reutilización de Credenciales
  • Falta de utilización de RBAC o Role based Access Control
  • Falta de documentación

Entonces, con los ejemplos anteriores, se hace muy complejo prepararse ante un ataque, de hecho, solo es necesario hacer algun tipo de OSINT, para identificar ciertas organizaciones con sus respectivos servicios publicados (RDP, ILO, SQL, IDRAC, etc) en internet sin la seguridad necesaria.

Que Framework de Seguridad utilizar para minimizar el Riesgo?

Como dato adicional, ya que al hablar de frameworks de seguridad es necesario un post independiente, el primer framework a utilizar en tu organizacion puede ser el Cyber Security Framework (CSF) ya sea la versión actualmente publicada 1.1 o la próxima que se encuentra en un borrador, 2.0, del Instituto Nacional de Estándares y Técnologias de USA (NIST), donde, de acuerdo con las version 2.0, se encuentran 6 funciones principales:

Con estas funciones, es posible implementar una estrategia necesaria, con el objetivo de minimizar el riesgo en ciberseguridad, para que en caso de un ataque, poder reaccionar oportunamente. Una muy buena recomendación en conjunto con CSF, es la utilización de la publicación especial SP 800-53r5 para la aplicación de los controles necesarios.

Que Sistema Operativo elegir para los Servicios a Prestar?

Volviendo al tema principal, ¿Que Sistema Operativo es más Seguro?, lo primero que debemos revisar, es cual o cuales servicios vamos a instalar o utilizar en nuestro servidor, luego, dependiendo de la organización o requisitos del fabricante, revisar si la implementación de la solución puede ser posible en nube nativa, hibrida, on premises, kubernetes, serverless con el objetivo de buscar la mejor forma de brindar alta disponibilidad.

Ahora respecto a la decisión con que sistema operativo trabajar, ya sea definido por el software que se ejecutará en el servidor o ya sea por directrices de la organización, lo primero que debemos revisar es si vamos a exponer servicios hacia internet, que tipo de servicios, autenticación de los usuarios internos o externos, para conseguir cuáles seran las soluciones de seguridad que nos permitirán brindar protección al menos básica para proveer los servicios.

Ya teniendo conocimientos de los servicios a prestar, hay que definir SIEMPRE, cual sera la protección de estos servicios o sistema operativo, por supuesto, con una estrategia correcta de respaldo de los datos, que nos permita realizar la recuperación de los datos de distintas formas, para que en caso de ataque, tener múltiples opciones de recuperación de acuerdo con la necesidad de la continuidad del negocio.

Y por último, revisando los requerimientos del software o plataforma a instalar en el servidor, se podrá tomar la decisión sea favorable para la solución y se encuentre directamente relacionado con las políticas de seguridad de la organización o empresa.

Entonces, ¿Que Sistema Operativo es más Seguro?

La respuesta es bastante simple, el sistema operativo más seguro, siempre será, el que cumpla con una correcta implementación desde un punto de vista de seguridad integral e utilización segura, cumpliendo con controles de seguridad, ejemplo 800-53r5, aplicación de políticas de seguridad locales, monitoreo, utilización de distintos sistemas de seguridad de red y local, por tanto, no solo se trata del sistema operativo, se trata de todos los procedimientos, herramientas, políticas de seguridad que acompañan la gestión y utilización de los servicios a utilizar.

Todos los sistemas operativos, inclusive aplicaciones, tienen o tendrán vulnerabilidades de seguridad, ya que siempre existiran personas u organizaciones dedicadas a encontrar algun tipo de vulnerabilidad, ya sea por hobby, creación de malware o una hermosa investigacion.

Por tanto, una de las opciones a considerar siempre es revisar la capacidad o frecuencia de las actualizaciones de seguridad o características de los diferentes fabricantes de los sistemas operativos y aplicaciones, por ejemplo, en caso de algunas soluciones basadas en kubernetes, la frecuencia de actualizacion de las imagenes utilizadas y la aplicación como tal, son continuamente mejoradas o actualizadas para minimizar el riesgo de existir alguna vulnerabilidad.

Es por ello, que no es un tema del tipo de sistema operativo, por ejemplo, Linux es mas seguro que Windows?, Windows es mas Seguro que Linux?, MacOS es mas seguro que los anteriores? OpenBSD, es el sistema más seguro?. Como hemos visto, ninguno es más seguro que otro, ya que es solo buscar en las distintas bases de datos de Vulnerabilidades:

Y en los links anteriores, no solo se encontrarán las vulnerabilidades de los sistemas operativos, tambien de las aplicaciones que pueden ejecutarse en servidores o estaciones de trabajo.

Monitoreo y Protección

Cada vez que se genere un nuevo servidor, ya sea virtual o físico, DEBE, tener asociado un mecanismo de monitoreo de servicios y comportamiento de los diferentes recursos que estará utilizando el servidor y OBLIGATORIAMENTE el esquema de actualizacion de parches y la protección de los datos, por supuesto con Veeam :), ya que como vimos anteriormente, al utilizar framework de seguridad, es de suma importancia contar con la información de cuales serán los planes de recuperación ante desastres y la definición de RTO / RPO para cumplir con los tiempos necesarios.

Por que es importante el Monitoreo? más allá del monitoreo de los servicios, los sistemas de monitoreo actuales, como Veeam ONE, permiten tener información del comportamiento de las máquinas virtuales, es decir, es posible identificar el consumo de IOps, CPU, que podría ser sospechoso en un dia que no sea de carga mensual, con esto, al tener la información necesaria sera posible aplicar las acciones correctiva manualmente o automáticamente.

Por ejemplo para las vulnerabilidades de día cero u 0day, es de suma importancia monitorear los sistemas o servicios para saber si estas vulnerabilidades se están explotando o el servidor a comenzado con un comportamiento anormal.

Actualizaciones

Si o si mantener una política estricta de actualizaciones, independiente, del sistema operativo usado, ya que la primera forma de ataque es aprovecharse de las vulnerabilidades existentes de los sistemas operativos por ejemplo la ejecución remota de comandos, RCE, que últimamente se ha estado utilizando en versiones de hipervisores VMware. Por otra parte, al tener actualizados los sistemas operativos, también es de suma importancia mantener actualizadas las dependencias y las aplicaciones que estarán prestando servicios, como por ejemplo, las soluciones de Atlassian que últimamente se han encontrado múltiple vulnerabilidades criticas.

Guías Técnicas de Aplicación de Seguridad

Una de las prácticas ampliamente utilizadas es la aplicación de las guías DISA STIG, OpenSCAP, ya sea para sistemas operativos o para aplicaciones que se ejecutarán sobre los servidores. Es muy importante revisar estas guías, ya que se podría implementar completamente las recomendaciones o seleccionar las recomendaciones de seguridad que indican, por ejemplo si necesitas realizar la aplicación de controles de seguridad para Microsoft Windows Server 2022 y de Ubuntu 20.04 solo debes visitar:

Por mencionar algunos, existen más, que dependiendo de la necesidad, será posible aplicar los controles necesarios de acuerdo a la necesidad o negocio de tu organización.

Malas Prácticas de Seguridad en Sistemas Operativos o Servicios

Algunas que he visto reiteradamente:

  • Usar Administrador o root para instalar aplicaciones
  • Usar las mismas credenciales de acceso por múltiples usuarios Ej: [email protected]
  • No utilizar o habilitar MFA
  • No tener una política estricta de cambio de contraseñas y complejidad.
  • No contar con una política de respaldos y pruebas de recuperación.
  • No centralizar logs o eventos de sistemas operativos y aplicaciones
  • Guardar las contraseñas en un archivo Excel / TXT
  • Poca o nada de documentación de los sistemas o arquitecturas.
  • Utilización solo de Antivirus
  • No utilización de cifrado

Buenas Prácticas de Seguridad en Sistemas Operativos o Servicios

Algunas que deben ser utilizadas:

  • Usar siempre cuentas de servicio para las aplicaciones
  • Segmentar y aplicar RBAc a las cuentas por usuario
  • Deshabilitar cuentas por defecto o sin uso
  • Habilitar MFA donde sea posible y guardar los códigos de respaldo.
  • Aplicar politica de Cambio de Contraseñas
  • Respaldar todos los datos donde sea posible y probar la recuperacion cada cierto tiempo
  • Monitorear y guardar logs de todos los sistemas criticos
  • Utilizar Gestores de Contraseñas Empresariales
  • Documentar todas las arquitecturas y procesos necesarios.
  • Utilización de soluciones de seguridad en cada uno de los sistemas operativos
  • Cifrar comunicaciones y Respaldos

Recomendaciones

La primera regla obligatoria siempre es mantener actualizados todos los sistemas operativos y servicios que se instalen en el servidor, además del correspondiente monitoreo ya sea desde el punto de vista de disponibilidad de servicios como tambien de todos los registros de auditoria para identificar comportamientos extraños a la solución y aplicar las medidas correctivas.

Por supuesto instalar soluciones de seguridad en los distintos sistemas operativos (no solo Windows) para obtener una total visión y monitoreo desde el punto de vista de seguridad.

Utilizar siempre el principio de menor privilegio y no usar metodos de autenticación débiles, si el servicio no está siendo utilizado, deshabilitarlo o simplemente desintalar el servicio completamente.

Y por supuesto, la utilización de la Plataforma de Veeam para proteger todos tus datos en la organización, ya sea en tu centro de datos, Nube Pública, estaciones de trabajo, validando la recuperabilidad de forma automatizada, analizando y búscando malware en los respaldos para luego crear y documentar automatizadamente los Planes de Recuperación ante Desastres, DRP, con el objetivo de la recuperación de la organización con los datos de manera limpia y sin reinfección.

 

Agregar un comentario

Tu dirección de correo electrónico no será publicada. Los campos requeridos están marcados *