Описание
Использование — параметры конфигурации и дополнительные функции.
Ограничения - совместимость ОС и т.д.
api
против local
методов установки
Разработка - Руководство по участию в модуле
Лицензия
Модуль falcon
устанавливает, настраивает и управляет сервисом falcon
в нескольких операционных системах и дистрибутивах.
Примечание .
puppet-falcon
— это проект с открытым исходным кодом, а не продукт CrowdStrike. Как таковое, оно не имеет формальной поддержки, выраженной или подразумеваемой.
Все параметры модуля falcon содержатся в основном классе falcon
. Существует множество опций, которые изменят работу модуля. Более подробную информацию можно найти на сайте REFERENCE.md.
Ниже приведены некоторые из распространенных случаев использования.
Примечание . Пакеты
falcon
не являются общедоступными, поэтому в этом модуле есть два варианта установки датчика falcon. Используя параметрinstall_method
вы можете выбратьapi
илиlocal
.api
используется по умолчанию. Дополнительная информация представлена в разделе API и методы локальной установки.
# используя класс метода `api` {'falcon': client_id => Sensitive('12346'), client_secret => Sensitive('12345'), cid => 'AJKQUI123JFKSDFJK`}
# используя метод `local` $package_options = { 'ensure' => 'present', 'source' => '/tmp/sensor.rpm' # любые другие атрибуты, действительные для ресурса пакета}class {'falcon' : install_method => 'local', package_options => $package_options, cid => 'AJKQUI123JFKSDFJK`}
api
Методы установки api
используют API для загрузки пакета датчика. Версия загружаемого пакета определяется параметрами, передаваемыми модулю.
Есть три параметра, которые изменяют поведение метода установки api
. Одновременно можно использовать только один из этих параметров, и они оцениваются в том порядке, в котором они перечислены ниже.
version
— загрузит пакет датчика, соответствующий указанной вами версии.
update_policy
— загрузит версию, указанную в политике обновления.
version_decrement
— загрузит n
-ю версию, предшествующую текущей версии.
Недостатки использования метода установки api
описаны в разделе API и методы локальной установки.
Примеры для каждого приведены ниже. Использование параметра version
Это имеет приоритет над update_policy
и version_decrement
.
class { 'falcon': client_id => Sensitive('12346'), client_secret => Sensitive('12345'), version => '1.0.0', cid => 'AJKQUI123JFKSDFJK`}
Использование параметра update_policy
Это имеет приоритет над параметром version_decrement
.
class { 'falcon': client_id => Sensitive('12346'), client_secret => Sensitive('12345'), update_policy => 'platform_default', cid => 'AJKQUI123JFKSDFJK`}
Использование параметра version_decrement
Используйте version_decrement
для загрузки версии nx
.
При значении 0
будет загружена последняя версия, а при значении 2
— версия n-2
( 2
выпуска отстают от последней).
class { 'falcon': client_id => Sensitive('12346'), client_secret => Sensitive('12345'), version_decrement => 2, cid => 'AJKQUI123JFKSDFJK`}
local
установки Метод local
установки дает вам полный контроль над установкой датчика.
Вот некоторые причины, по которым вы можете использовать этот метод:
Вы хотите установить датчик из локального файла
У вас есть собственная система управления пакетами
Вы можете узнать больше о методе local
установки в разделе API и методы локальной установки.
При использовании local
метода установки требуется package_options
. Параметры в package_options
передаются в ресурс package
. Вы должны предоставить все обязательные параметры для ресурса package
кроме параметра name
. Модуль выберет подходящее имя в зависимости от операционной системы. Вы по-прежнему можете переопределить имя, указав свойство name
в хеше package_options
.
# Использование локального файлаfile {'/tmp/sensor.rpm': обеспечения => 'присутствует', источник => 'https://company-filer-server.com/sensor.rpm'}class {'falcon': install_method => 'local', package_options => { 'ensure' => 'присутствует', 'источник' => '/tmp/sensor.rpm' }, require => Файл['/tmp/sensor.rpm'] }
# Использование исходного класса http {'falcon': install_method => 'local', package_options => { 'ensure' => 'present', 'source' => 'http://example.com/sensor.rpm' } }
# Переопределение имени параметраclass {'falcon': install_method => 'local', package_options => { 'ensure' => 'present', 'source' => '/tmp/sensor.rpm', 'name' => ' датчик сокола' } }
Если install_method
имеет api
вы можете использовать параметр cleanup_installer
для удаления файла установщика после установки.
class { 'falcon': client_id => Sensitive('12346'), client_secret => Sensitive('12345'), cleanup_installer => true, cid => 'AJKQUI123JFKSDFJK`}
Вы можете переопределить любой параметр, передаваемый ресурсу package
с помощью параметра package_options
. Действительные параметры пакета
Это работает одинаково как для api
, так и для local
методов установки.
$package_options = { 'provider' => 'rpm', 'install_options' => '--force', }class { 'falcon': package_options => $package_options}
class {'falcon': package_manage => false # ... другие обязательные параметры}
Примечание. Агент Windows можно настроить только во время установки. Агент Linux поставляется с
falconctl
, который позволяет Puppet настроить агент после установки. Например: обновление свойстваcid
в вашем ресурсе приведет к обновлениюcid
в агенте Linux при следующем запуске, но не в Windows.
class {'falcon': config_manage => false # ... другие обязательные параметры}
class {'falcon': service_manage => false # ... другие обязательные параметры}
cid
class {'falcon': cid => 'AJKQUI123JFKSDFJK` # ... другие обязательные параметры}
cid
с помощью токена обеспечения Если вашей компании требуется токен обеспечения для регистрации агента, вы можете использовать параметр provisioning_token
.
class {'falcon': cid => 'AJKQUI123JFKSDFJK`, Provisioning_token => '1234567890' # ... другие обязательные параметры}
Вы можете использовать параметры proxy_host
, proxy_port
и proxy_enabled
для настройки параметров прокси-сервера для вашего агента.
Примечание. При установке Mac отсутствуют настройки прокси-сервера, специфичные для агента. Вместо этого он использует настройки прокси-сервера ОС. Передача значений этим параметрам не приведет к настройке каких-либо настроек прокси-сервера для Mac.
class {'falcon': cid => 'AJKQUI123JFKSDFJK`, Provisioning_token => '1234567890,' proxy_host => 'neptune.example.com', proxy_port => '8080', proxy_enabled => true
}
Если вы хотите привязать версию агента к определенной версии с помощью метода установки api
, вы можете установить для version_manage
значение true.
В нашем примере ниже мы используем version_decrement
, но он работает одинаково для всех. Puppet обратится к API, чтобы определить, к какой версии разрешается version_decrement => 2
. Затем он загрузит эту версию и убедится, что она установлена.
При каждом последующем запуске он будет проверять API, чтобы убедиться, что возвращенная версия установлена. Если, например, будет выпущена новая версия, это приведет к изменению версии, полученной при проверке, что приведет к обновлению агента до новой версии n-2
.
предупреждение : это заставляет модуль обращаться к API при каждом запуске, чтобы убедиться, что версия, которую возвращает API, является установленной версией. Это может вызвать проблемы с ограничением скорости для крупных развертываний. Если вы хотите автоматически обновлять/понижать версии и использовать метод установки
api
, обычно рекомендуется установить дляversion_manage
значениеfalse
и разрешить политике обновления CrowdStrike выполнять обновления/понижения вместо Puppet.
class {'falcon': version_manage => true client_id => Sensitive('12346'), client_secret => Sensitive('12345'), update_policy => 'platform_default' cid => 'AJKQUI123JFKSDFJK` # ... другие обязательные параметры}
Используя install_method
local
class {'falcon': install_method => 'local', package_options => { 'ensure' => '32.4.3', 'source' => '/tmp/sensor-32.4.3.rpm' } }
api
против local
методов установки Как правило, метод api
подойдет для большинства случаев использования, если для version_manage
установлено значение false
. Если для version_manage
установлено значение true
вы можете столкнуться с ограничениями скорости API.
Вы можете использовать метод local
установки, если вам нужен полный контроль и вы не хотите использовать API.
Обычно модули Puppet, которые управляют пакетом, контролируют полный жизненный цикл этого пакета от установки до удаления. Это усложняет тот факт, что пакеты агентов CrowdStrike не являются общедоступными.
Мы по-прежнему хотели предоставить возможность быстрой установки пакета без помощи рук, поэтому создали метод установки api
. Для этого метода вам потребуется предоставить учетные данные API, после чего мы загрузим правильную версию пакета из API CrowdStrike. Существуют параметры, которые позволяют вам управлять поведением, например, установка update_policy
. Это приведет к тому, что модуль загрузит правильную версию в соответствии с политикой обновления. Примеры каждого здесь.
Однако этот метод может подойти не всем, поэтому был создан метод local
установки, который дает вам полный контроль над установкой датчика.
api
Метод установки API будет использовать API-интерфейс falcon для загрузки правильной версии пакета. Правильная версия пакета зависит от того, какие параметры вы предоставляете. Вы можете увидеть примеры каждого здесь.
При первом запуске Puppet вызовет соответствующий API CrowdStrike, чтобы получить информацию, необходимую для загрузки пакета датчиков. Затем он загрузит пакет датчика. После этого в дело вступят обычные марионеточные ресурсы.
Если вы установите для version_manage
значение true
при каждом запуске модуль будет обращаться к API CrowdStrike, чтобы получить соответствующую версию пакета. Затем он определит, совпадает ли установленная версия с возвращенной версией. Если они не совпадают, он загрузит правильную версию пакета и выполнит соответствующие действия по установке/обновлению/понижению версии.
Если вы установите для version_manage
значение false
, вызовы API будут выполняться только в том случае, если датчик CrowdStrike не установлен.
Основным ограничением метода установки api
являются ограничения скорости API. Мы сами не сталкивались с ними, но при больших установках возможно достижение ограничения скорости при использовании метода установки api
с version_manage
, установленным в true
.
Каждый раз, когда Puppet компилирует каталог для узла, он использует API, чтобы определить, какую версию агента следует установить. Если агент уже использует правильную версию, дальнейшие вызовы API не выполняются.
Установка для version_manage
значения false
предотвратит любые вызовы API, если агент не установлен.
Лучший способ уменьшить количество вызовов API — установить для version_manage
значение false
. Это гарантирует, что API будет вызываться только тогда, когда агент не установлен. Это должно предотвратить проблемы с ограничением скорости API.
Платформам Apple требуется профиль управления мобильными устройствами (MDM) для установки расширений ядра без запроса пользователя. Из-за этого ограничения этот модуль будет загружать и устанавливать только датчик Falcon. Руководство по развертыванию Mac в документации CrowdStrike описывает шаги, необходимые для настройки датчика Mac для отправки отчетов в CID
.
Если вы хотите разработать новый контент или улучшить эту коллекцию, откройте проблему или создайте запрос на включение. Все вклады приветствуются!
Дополнительную информацию см. в ЛИЦЕНЗИИ.