Соль (программное обеспечение)
Оригинальный автор(ы) | Томас С. Хэтч |
---|---|
Разработчик(и) | Бродком |
Первоначальный выпуск | 19 марта 2011 г |
Стабильная версия | 3006,6
/ 31 января 2024 г [1] |
Репозиторий | |
Написано в | Питон |
Операционная система | Unix-подобный , macOS , Microsoft Windows |
Тип | Управление конфигурацией и инфраструктура как код |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | соляной проект |
Salt (иногда называемый SaltStack на основе Python ) — это программное обеспечение с открытым исходным кодом для автоматизации ИТ-систем на основе событий, удаленного выполнения задач и управления конфигурацией . Поддержка подхода « инфраструктура как код » к развертыванию и управлению системами центров обработки данных и сетями, автоматизации конфигурации, оркестрации SecOps, устранению уязвимостей и управлению гибридным облаком.
История
[ редактировать ]Соль возникла из-за необходимости высокоскоростного сбора данных и выполнения задач для системных администраторов центров обработки данных, управляющих огромными масштабами инфраструктуры и, как следствие, сложностью. Автор 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, хранилище, балансировщики нагрузки и т. д.
В сентябре 2020 года VMware приобрела SaltStack. [5] [6]
Дизайн
[ редактировать ]Salt был разработан как модульный и легко расширяемый, чтобы его можно было легко адаптировать к различным сценариям использования корпоративных ИТ. [7]
Модульная конструкция Salt создает модули Python, которые обрабатывают определенные аспекты доступных систем Salt. Эти модули позволяют отделять взаимодействие внутри Salt и изменять его в соответствии с потребностями разработчика или системного администратора.
Система Salt поддерживает множество типов модулей для управления конкретными действиями. Модули можно добавлять в любую систему, поддерживающую динамические модули. Эти модули управляют всем удаленным выполнением и управлением состоянием Salt. Модули можно разделить на шесть групп:
- Модули выполнения — это рабочая лошадка функциональности Salt. Они представляют собой функции, доступные для прямого выполнения из механизма удаленного выполнения. Эти модули содержат специальную кроссплатформенную информацию, используемую Salt для управления переносимостью, и составляют основной API функций системного уровня, используемых системами Salt. [8]
- Модули состояния — это компоненты, составляющие серверную часть системы управления конфигурацией Salt. Эти модули выполняют код, необходимый для обеспечения соблюдения, настройки или изменения конфигурации целевой системы. Как и другие модули, больше состояний становится доступным, когда они добавляются в модули состояний.
- Grains — это система обнаружения статической информации о системе и хранения ее в оперативной памяти для быстрого сбора. [9]
- Модули рендеринга используются для рендеринга информации, передаваемой в систему состояний Salt. Система рендеринга позволяет представлять данные управления конфигурацией Salt в любом сериализуемом формате. [10]
- Возвращающие : вызовы удаленного выполнения, сделанные Salt, отделяются от вызывающей системы; это позволяет вернуть возвращаемую информацию, сгенерированную удаленным выполнением, в произвольное место. Управление произвольными местами возврата осуществляется с помощью модулей возврата. [11]
- Раннеры — это удобные приложения на главной стороне, выполняемые командой salt-run. [12]
Уязвимости
[ редактировать ]В апреле 2020 года компания F-Secure обнаружила две уязвимости RCE (удаленное выполнение кода) высокой степени серьезности , идентифицированные как CVE-2020-11651 и CVE-2020-11652 , с показателем CVSS , достигающим 10. Эти критические уязвимости были обнаружены в стандартной версии Salt. канал связи ZeroMQ , а первоначальное исследование обнаружило 6000 уязвимых серверов Salt. Организация Salt была уведомлена до публичного объявления F-Secure, и вскоре Salt выпустила патч в своих обновленных выпусках: 2019.2.4 и 3000.2. [13]
См. также
[ редактировать ]- Сравнение программного обеспечения для управления конфигурацией с открытым исходным кодом
- CFEngine (программное обеспечение)
Ссылки
[ редактировать ]- ^ «Релизы — saltstack/salt» . Получено 31 января 2024 г. - через GitHub .
- ^ «FLOSS Weekly 191: Соль» . ТвитТВ . Проверено 13 января 2020 г.
- ^ «Управление сольной конфигурацией red45.wordpress.com» . red45.wordpress.com . Проверено 29 мая 2011 г.
- ^ «Примечания к выпуску Salt — 0.9.3» . соляной стог . Проверено 6 ноября 2011 г.
- ^ «Намерение приобрести SaltStack» . Проверено 29 сентября 2020 г.
- ^ Гальорди, Натали. «VMware приобретает поставщика программного обеспечения для автоматизации SaltStack» . ЗДНет . Проверено 1 октября 2020 г.
- ^ «FLOSS Weekly 191: Соль» . ТвитТВ . Проверено 13 января 2020 г.
- ^ «Написание модулей выполнения» . СолтСтек . Проверено 13 января 2020 г.
- ^ «Справочник по солевому модулю» . СолтСтек . Проверено 13 января 2020 г.
- ^ «Рендереры» . СолтСтек . Проверено 13 января 2020 г.
- ^ «Вернувшиеся» . СолтСтек . Проверено 13 января 2020 г.
- ^ «Бегуны» . СолтСтек . Проверено 13 января 2020 г.
- ^ «Критическая уязвимость SaltStack обеспечивает злоумышленнику root-доступ» . Отчеты о взломах . 05.05.2020 . Проверено 18 мая 2020 г.