Salt (a veces denominado SaltStack ) es un software de código abierto basado en Python para la automatización de TI basada en eventos, la ejecución remota de tareas y la gestión de la configuración . Respaldar el enfoque de " infraestructura como código " para la implementación y administración de redes y sistemas de centros de datos, automatización de la configuración, orquestación de SecOps, corrección de vulnerabilidades y control de la nube híbrida.
Salt surgió de la necesidad de recopilación de datos y ejecución de tareas de alta velocidad para los administradores de sistemas de centros de datos que gestionan una escala de infraestructura masiva y la complejidad resultante. El autor de Salt, Thomas S. Hatch, había creado previamente varias utilidades para que los equipos de TI resolvieran el problema de la gestión de sistemas a escala, pero descubrió que faltaban éstas 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 lograron avances iniciales hacia la entrega de la gestión de configuración integrada 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 fácilmente comprensible que aprovecha YAML . Si bien la funcionalidad experimental del sistema Salt State estuvo 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 de 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 y luego expone las capacidades de ejecución remota, gestión de configuración y automatización basada en eventos de Salt a los sistemas de nube híbrida recientemente aprovisionados. Las nuevas máquinas virtuales e instancias en la nube se conectan automáticamente a Salt Master después de su creación.
Salt Cloud admite 25 sistemas de nube públicos y privados, 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.
En septiembre de 2020, VMware adquirió SaltStack. [5] [6]
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 Python que manejan ciertos aspectos de los sistemas Salt disponibles. Estos módulos permiten separar y modificar las interacciones dentro de Salt para satisfacer las necesidades de un desarrollador o administrador del sistema.
El sistema Salt mantiene muchos tipos de módulos para gestionar acciones específicas. Se pueden agregar módulos a cualquiera de los sistemas que admitan módulos dinámicos. Estos módulos gestionan todo el comportamiento de ejecución remota y gestión del estado de Salt. Los módulos se pueden dividir en seis grupos:
En abril de 2020, F-Secure reveló dos vulnerabilidades 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 del valor predeterminado 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]