En Zabbix, hemos defendido el movimiento open source, con su énfasis en la apertura, transparencia y cooperación, desde el primer día.
Debido a esto, los clientes potenciales y socios a menudo tienen preguntas sobre la seguridad de nuestro producto, con la inquietud de que el software de código abierto sea de alguna manera menos seguro que el software propietario.
En esta publicación, proporcionaremos un poco de contexto sobre cómo funciona el software de código abierto, explicaremos por qué los temores sobre la seguridad del software de código abierto en gran parte no tienen fundamentos y ofreceremos una visión general de cómo el equipo de Zabbix trabaja para asegurarse de que nuestro producto sea lo más seguro posible.
Table of Contents
Una breve introducción al open source
En su forma más básica, el software de código abierto es el código que está disponible para que cualquiera lo modifique y comparta en sus formas original o modificada. Permite a los desarrolladores compartir su trabajo sin las restricciones de una licencia propietaria. El movimiento de código abierto se basa en el desarrollo colaborativo y fomenta la creación de software de alta calidad al aprovechar la creatividad y el entusiasmo de una comunidad global de desarrolladores.
Zabbix en sí es una solución de código abierto cubierta por la Licencia Pública General Affero GNU versión 3 (AGPLv3). El código fuente de Zabbix está disponible y puede ser redistribuido o modificado: cualquier persona con una gran idea puede crear su propia versión de Zabbix. Además de Zabbix, muchas soluciones de software ampliamente conocidas y utilizadas han surgido del movimiento de código abierto, incluyendo el navegador Firefox de Mozilla, el sistema de gestión de contenidos WordPress, VLC Media Player y el sistema operativo Linux.
Software open source y seguridad
La seguridad de los datos es un tema que une a todas las empresas (y, por lo tanto, a todos los socios o clientes potenciales). Los desarrolladores están constantemente en busca de soluciones que sigan las mejores prácticas de seguridad de datos y aplicaciones para reducir el riesgo y ofrecer a los usuarios la experiencia más segura posible.
Un debate común entre usuarios y desarrolladores es si el software de código abierto es suficientemente seguro en comparación con las alternativas de código cerrado. La buena noticia es que hay enormes esfuerzos en marcha para ayudar a asegurar que la comunidad de código abierto sea lo más segura posible.
El proyecto Community Health Analytics Open Source Software (CHAOSS) de la Fundación Linux se centra en crear un conjunto estándar de métricas y software para ayudar a definir la salud de la comunidad de código abierto, y particularmente su herramienta GrimoireLab facilita mucho que los proyectos de código abierto analicen e informen sobre sus métricas de salud comunitaria.
Las opiniones varían sobre qué constituye un entorno verdaderamente seguro, pero posiblemente la mayor ventaja de seguridad del software de código abierto es su transparencia.
Si ves algo, di algo
El código open source está disponible para que cualquiera lo revise, modifique y distribuya. Puedes pensar, “Si alguien puede ver todo el código, ¿no podría simplemente aprovecharse de una vulnerabilidad si la ve?” La respuesta es que alguien ciertamente podría explotar una vulnerabilidad, pero porque todos también pueden ver el código, hay una probabilidad mucho mayor de que alguien más también haya notado la vulnerabilidad en cuestión y tomado medidas para corregirla.
Con el código abierto, generalmente es mucho más fácil ponerse en contacto con los desarrolladores e informar problemas directamente a ellos que con un proyecto de código cerrado. Esto significa una resolución más rápida de la mayoría de los problemas de seguridad. Además, dado que al público a menudo se le permite y se le anima a enviar mejoras de código directamente a los desarrolladores, cualquiera podría enviar el código para corregir una vulnerabilidad como parte de su informe de un problema. Esto lleva a un escrutinio de seguridad riguroso, con muchos ojos en el código, identificando y reportando vulnerabilidades.
Piensa en ello como el equivalente a un programa de “vigilancia vecinal”, en el que grupos organizados de civiles se dedican a la prevención de crímenes y actos de vandalismo dentro de un vecindario, haciéndolo más seguro y protegido para todos.
Sin “juegos de espera” para las actualizaciones
Con el software de fuente cerrada (o propietario) estándar, los usuarios están completamente a merced de las empresas detrás del software en lo que respecta a la obtención de actualizaciones. Las actualizaciones y correcciones para aplicaciones de fuente cerrada de alto perfil suelen involucrar una gran cantidad de planificación compleja, y si no hay presupuesto o recursos disponibles, los usuarios pueden pasar meses o incluso años antes de ver una nueva actualización, haya o no fallos de seguridad evidentes.
Las soluciones de código abierto también son más ágiles cuando se trata de iterar y lanzar nuevas versiones. Esto se debe a una serie de razones, incluido el hecho de que el software de código abierto tiene más ojos en el código fuente en cualquier momento, además de un interés impulsado por la comunidad en hacer el producto lo mejor posible.
La ventaja de Zabbix
En Zabbix, hemos beneficiado durante mucho tiempo de las ventajas de seguridad inherentes a ser de código abierto. Dado que somos un software de código abierto a nivel empresarial, hemos podido adoptar un enfoque de “lo mejor de ambos mundos” que combina la flexibilidad y la vigilancia comunitaria del código abierto con el conocimiento que solo un equipo dedicado de expertos en seguridad internos y políticas de seguridad robustas pueden proporcionar.
Si un miembro de nuestra comunidad nota una vulnerabilidad de seguridad, la mejor manera de asegurarse de que se corrija lo más rápido posible es seleccionando la opción de “create a new issue” en la sección de Zabbix Security Reports (ZBXSEC) del rastreador público de errores, describiendo el problema (y una solución propuesta si es posible) a detalle. Esto nos ayuda a asegurarnos de que solo el equipo de seguridad de Zabbix y el usuario que hace el reporte, tengan acceso al caso.
En ese punto, el equipo de seguridad de Zabbix revisa el problema y evalúa su impacto potencial. Luego, el equipo trabaja en el problema para proporcionar una solución, creando nuevos paquetes y poniéndolos disponibles para descargar. Los clientes con acuerdos de soporte son informados sobre las vulnerabilidades de seguridad que han sido abordadas y corregidas, y se les da una ventana de oportunidad para actualizar antes de que el problema sea conocido por el público. Después de eso, se hace un anuncio público para la comunidad.
Otro riesgo de seguridad potencial involucra dependencias complejas en otras bibliotecas de código abierto, donde cada dependencia puede introducir vulnerabilidades si no se gestionan adecuadamente. Un ejemplo perfecto de esto es el ataque de repojacking en GitHub en 2023, en el que una vulnerabilidad crítica en un repositorio de código abierto llevó a la exposición de más de 4,000 otros repositorios.
Para minimizar la posibilidad de estos ataques a la cadena de suministro, utilizamos herramientas que pueden generar un SBOM (Bill of Materials de Software), que es básicamente una lista de ingredientes que componen los componentes del software. Esto facilita el seguimiento de cada ingrediente individual y tomar medidas adecuadas en caso de una alerta roja. Además, el hecho de que nuestros clientes sean los únicos propietarios de sus datos elimina otra fuente potencial de problemas de seguridad: a diferencia de otros proveedores de software, no hay riesgo de que un atacante acceda a sistemas que ejecutan Zabbix.
Como una línea adicional de defensa, trabajamos con HackerOne, la plataforma líder mundial para hackers éticos, para mantener un programa específico de recompensas por errores de Zabbix que desafía a los hackers éticos más élites del mundo a encontrar los puntos débiles en nuestro código y hacérnoslo saber a tiempo para corregirlos. Estamos orgullosos de la forma en que nuestra comunidad ha hecho su parte para ayudarnos a hacer Zabbix lo más seguro posible, y confiamos en que con algunos refinamientos podamos pagar aún más recompensas por errores en el futuro.
Para aprender más sobre el enfoque de Zabbix hacia la seguridad de código abierto, por favor visita nuestro sitio web o ponte en contacto con nosotros.