Salt (a veces denominado SaltStack ) es un software de código abierto basado en Python para la automatización de TI impulsada por eventos, la ejecución de tareas remotas y la gestión de la configuración . Respaldar el enfoque de " infraestructura como código " para el sistema de centro de datos y la implementación y administración de redes, automatización de la configuración, orquestación de SecOps, corrección de vulnerabilidades y control de la nube híbrida.
Desarrollador (es) | Thomas S Hatch |
---|---|
Versión inicial | 19 de marzo de 2011 |
Lanzamiento estable | 3003.1 / 23 de junio de 2021 [1] |
Repositorio | |
Escrito en | Pitón |
Sistema operativo | Tipo Unix , OS X , Microsoft Windows |
Tipo | Gestión de la configuración e infraestructura como código |
Licencia | Licencia Apache 2.0 |
Sitio web | www |
Historia
Salt se originó a partir de la necesidad de recopilación de datos de alta velocidad y ejecución de tareas para los administradores de sistemas de centros de datos que administran la escala de infraestructura masiva y la complejidad resultante. El autor de Salt, Thomas S. Hatch, había creado anteriormente varias utilidades para que los equipos de TI resuelvan el problema de la gestión de sistemas a escala, pero descubrió que faltaban estas y otras soluciones de código abierto. [2] Hatch decidió utilizar la biblioteca de mensajería ZeroMQ para facilitar los requisitos de alta velocidad y creó Salt utilizando ZeroMQ para todas las capas de red.
A finales de mayo de 2011, se logró un progreso inicial hacia la entrega de la gestión de la configuración basada en el motor de ejecución remota Salt. [3] Este sistema de gestión de configuración almacena todos los datos de configuración (estado) dentro de una estructura de datos de fácil comprensión que aprovecha YAML . Si bien la funcionalidad experimental del sistema Salt State estaba disponible en mayo de 2011, no se consideró estable hasta el lanzamiento de Salt 0.9.3 en noviembre de 2011. [4]
La versión Salt 0.14.0 introdujo un sistema avanzado de control de la nube que hace que las máquinas virtuales en la nube pública y privada se puedan administrar directamente con Salt. La función Salt Cloud permite el aprovisionamiento de cualquier host de nube híbrida, luego expone la ejecución remota de Salt, la gestión de la configuración y las capacidades de automatización impulsadas por eventos a los sistemas de nube híbrida recientemente aprovisionados. Las nuevas máquinas virtuales e instancias en la nube se conectan automáticamente a un Salt Master después de la creación.
Salt Cloud admite 25 sistemas de nube pública y privada, incluidos AWS , Azure , VMware , IBM Cloud y OpenStack . Salt Cloud proporciona una interfaz para que Salt interactúe con los hosts de la nube y la funcionalidad de la nube, como DNS, almacenamiento, balanceadores de carga, etc.
Diseño
Salt fue diseñado para ser altamente modular y fácilmente extensible, para que sea fácil de adaptar a diversos casos de uso de TI empresarial. [7]
El diseño del módulo de Salt crea módulos de Python que manejan ciertos aspectos de los sistemas Salt disponibles. Estos módulos permiten separar y modificar las interacciones dentro de Salt para adaptarse a las necesidades de un desarrollador o administrador del sistema.
El sistema Salt mantiene muchos tipos de módulos para gestionar acciones específicas. Los módulos se pueden agregar a cualquiera de los sistemas que admiten módulos dinámicos. Estos módulos gestionan todo el comportamiento de gestión de estado y ejecución remota de Salt. Los módulos se pueden dividir en seis grupos:
- Los módulos de ejecución son el caballo de batalla de la funcionalidad de Salt. Representan las funciones disponibles para ejecución directa desde el motor de ejecución remota. Estos módulos contienen la información multiplataforma específica utilizada por Salt para administrar la portabilidad y constituyen la API central de las funciones de nivel de sistema utilizadas por los sistemas Salt. [8]
- Los módulos de estado son los componentes que forman el backend del sistema de gestión de la configuración de Salt. Estos módulos ejecutan el código necesario para hacer cumplir, configurar o cambiar la configuración de un sistema de destino. Al igual que otros módulos, hay más estados disponibles cuando se agregan a los módulos de estados.
- Los granos son un sistema para detectar información estática sobre un sistema y almacenarla en la RAM para una recopilación rápida. [9]
- Los módulos de renderizado se utilizan para representar la información que se pasa al sistema de estado Salt. El sistema de renderizado es lo que hace posible representar los datos de gestión de configuración de Salt en cualquier formato serializable. [10]
- Retornados : las llamadas de ejecución remota realizadas por Salt se desconectan del sistema de llamadas; esto permite que la información de retorno generada por la ejecución remota sea devuelta a una ubicación arbitraria. La gestión de las ubicaciones de devolución arbitrarias está a cargo de los módulos de devolución. [11]
- Los corredores son aplicaciones de conveniencia del lado maestro ejecutadas por el comando salt-run. [12]
Vulnerabilidades
En abril de 2020, F-Secure reveló dos vulnerabilidades de RCE (ejecución remota de código) de alta gravedad , identificadas como CVE-2020-11651 y CVE-2020-11652 , con una puntuación CVSS de hasta 10. Estas vulnerabilidades críticas se encontraron dentro de los valores predeterminados de Salt canal de comunicación ZeroMQ , y la investigación inicial descubrió 6000 servidores Salt vulnerables. La organización Salt fue notificada antes del anuncio público de F-Secure, y Salt pronto lanzó el parche en sus versiones actualizadas: 2019.2.4 y 3000.2. [13]
Ver también
Referencias
- ^ "Lanzamientos - saltstack / salt" . Consultado el 12 de mayo de 2017 , a través de GitHub .
- ^ "FLOSS Weekly 191: Salt" . TwitTV . Consultado el 13 de enero de 2020 .
- ^ "gestión de configuración de sal red45.wordpress.com" . red45.wordpress.com . Consultado el 29 de mayo de 2011 .
- ^ "Notas de lanzamiento de sal - 0.9.3" . pila de sal . Consultado el 6 de noviembre de 2011 .
- ^ "Intención de adquirir SaltStack" . Consultado el 29 de septiembre de 2020 .
- ^ Gagliordi, Natalie. "VMware adquirirá el proveedor de software de automatización SaltStack" . ZDNet . Consultado el 1 de octubre de 2020 .
- ^ "FLOSS Weekly 191: Salt" . TwitTV . Consultado el 13 de enero de 2020 .
- ^ "Escritura de módulos de ejecución" . SaltStack . Consultado el 13 de enero de 2020 .
- ^ "Referencia del módulo de sal" . SaltStack . Consultado el 13 de enero de 2020 .
- ^ "Renderers" . SaltStack . Consultado el 13 de enero de 2020 .
- ^ "Retornados" . SaltStack . Consultado el 13 de enero de 2020 .
- ^ "Corredores" . SaltStack . Consultado el 13 de enero de 2020 .
- ^ "La vulnerabilidad crítica de SaltStack proporciona acceso de root al ciberatacante" . Informes de piratería . 2020-05-05 . Consultado el 18 de mayo de 2020 .
enlaces externos
- Página web oficial