Salt (иногда называемый SaltStack ) - это программное обеспечение с открытым исходным кодом на основе Python для событийной автоматизации ИТ, удаленного выполнения задач и управления конфигурацией . Поддержка подхода « инфраструктура как код » к развертыванию и управлению системами и сетями центра обработки данных, автоматизации конфигурации, координации SecOps, устранению уязвимостей и управлению гибридным облаком.
Разработчики) | Томас С. Хэтч |
---|---|
Первый выпуск | 19 марта 2011 г . |
Стабильный выпуск | 3003/31 марта 2021 г . [1] |
Репозиторий | |
Написано в | Python |
Операционная система | Unix-подобный , OS X , Microsoft Windows |
Тип | Управление конфигурацией и инфраструктура как код |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | www |
История
Соль возникла из-за необходимости высокоскоростного сбора данных и выполнения задач для системных администраторов центров обработки данных, управляющих огромным масштабом инфраструктуры и связанной с этим сложностью. Автор Salt, Томас С. Хэтч, ранее создал несколько утилит для ИТ-команд для решения проблемы управления системами в масштабе, но обнаружил, что эти и другие решения с открытым исходным кодом отсутствуют. [2] Компания Hatch решила использовать библиотеку обмена сообщениями ZeroMQ для удовлетворения требований к высокой скорости и построила Salt с использованием ZeroMQ для всех сетевых уровней.
В конце мая 2011 года был достигнут первоначальный прогресс в реализации управления конфигурацией, основанной на механизме удаленного выполнения Salt. [3] Эта система управления конфигурацией хранит все данные конфигурации (состояния) внутри легко понимаемой структуры данных, которая использует YAML . Хотя экспериментальная функциональность системы Salt State была доступна в мае 2011 г., она не считалась стабильной до выпуска Salt 0.9.3 в ноябре 2011 г. [4]
В выпуске Salt 0.14.0 представлена усовершенствованная система управления облаком, позволяющая напрямую управлять виртуальными машинами из частного и общедоступного облака с помощью Salt. Функция Salt Cloud позволяет инициализировать любой хост гибридного облака, а затем предоставляет возможности удаленного выполнения Salt, управления конфигурацией и автоматизации на основе событий для недавно подготовленных гибридных облачных систем. Новые виртуальные машины и облачные экземпляры автоматически подключаются к Salt Master после создания.
Salt Cloud поддерживает 25 общедоступных и частных облачных систем, включая AWS , Azure , VMware , IBM Cloud и OpenStack . Salt Cloud предоставляет Salt интерфейс для взаимодействия с облачными хостами и функциями облака, такими как DNS, хранилище, балансировщики нагрузки и т. Д.
Дизайн
Salt был разработан как модульный и легко расширяемый, чтобы его можно было легко адаптировать к различным сценариям использования корпоративных ИТ. [7]
Модульный дизайн Salt создает модули Python, которые обрабатывают определенные аспекты доступных систем Salt. Эти модули позволяют отключать и изменять взаимодействия внутри Salt в соответствии с потребностями разработчика или системного администратора.
Система Salt поддерживает множество типов модулей для управления определенными действиями. Модули можно добавлять в любую из систем, поддерживающих динамические модули. Эти модули управляют всем удаленным выполнением и управлением состоянием Salt. Модули можно разделить на шесть групп:
- Модули исполнения - это рабочая лошадка для функциональности Salt. Они представляют функции, доступные для прямого выполнения из механизма удаленного выполнения. Эти модули содержат конкретную межплатформенную информацию, используемую Salt для управления переносимостью, и составляют основной API функций системного уровня, используемых системами Salt. [8]
- Модули состояния - это компоненты, составляющие серверную часть системы управления конфигурацией Salt. Эти модули выполняют код, необходимый для обеспечения соблюдения, настройки или изменения конфигурации целевой системы. Как и другие модули, при добавлении в модули состояний становится доступным больше состояний.
- Grains - это система для обнаружения статической информации о системе и хранения ее в оперативной памяти для быстрого сбора. [9]
- Модули рендеринга используются для рендеринга информации, передаваемой в систему состояний Salt. Система визуализации - это то, что позволяет представлять данные управления конфигурацией Salt в любом сериализуемом формате. [10]
- Возвращающие : вызовы удаленного выполнения, сделанные Salt, отделяются от вызывающей системы; это позволяет возвращать информацию, сгенерированную удаленным выполнением, в произвольное место. Управление произвольными местами возврата осуществляется модулями возврата. [11]
- Runners - это удобные приложения на главной стороне, выполняемые командой salt-run. [12]
Уязвимости
В апреле 2020 года F-Secure выявила две уязвимости RCE (удаленное выполнение кода) высокой степени серьезности , идентифицированные как CVE-2020-11651 и CVE-2020-11652 , с оценкой CVSS, достигающей 10 баллов. Эти критические уязвимости были обнаружены в уязвимостях по умолчанию. канал связи ZeroMQ , и первоначальное исследование обнаружило 6000 уязвимых серверов Salt. Организация Salt была уведомлена до публичного объявления F-Secure, и вскоре Salt выпустила патч в своих обновленных версиях: 2019.2.4 и 3000.2. [13]
Смотрите также
Рекомендации
- ^ "Выбросы - солонина / соль" . Проверено 12 мая 2017 г. - через GitHub .
- ^ "Еженедельник FLOSS 191: Соль" . TwitTV . Проверено 13 января 2020 .
- ^ "red45.wordpress.com управление конфигурацией соли" . red45.wordpress.com . Проверено 29 мая 2011 года .
- ^ «Примечания к выпуску Salt - 0.9.3» . солонина . Проверено Ноябрь 6, 2011 .
- ^ «Намерение приобрести SaltStack» . Проверено 29 сентября 2020 .
- ^ Гаглиорди, Натали. «VMware приобретает поставщика программного обеспечения для автоматизации SaltStack» . ZDNet . Проверено 1 октября 2020 .
- ^ "Еженедельник FLOSS 191: Соль" . TwitTV . Проверено 13 января 2020 .
- ^ «Написание исполнительных модулей» . SaltStack . Проверено 13 января 2020 .
- ^ «Справочник по модулю соли» . SaltStack . Проверено 13 января 2020 .
- ^ «Рендереры» . SaltStack . Проверено 13 января 2020 .
- ^ «Вернувшиеся» . SaltStack . Проверено 13 января 2020 .
- ^ «Бегуны» . SaltStack . Проверено 13 января 2020 .
- ^ «Критическая уязвимость SaltStack предоставляет злоумышленнику рут-доступ» . Отчеты о взломах . 2020-05-05 . Проверено 18 мая 2020 .
Внешние ссылки
- Официальный веб-сайт