説明
使用法 - 構成オプションと追加機能
制限事項 - OS の互換性など
api
とlocal
インストール方法
開発 - モジュールに貢献するためのガイド
ライセンス
falcon
モジュールは、複数のオペレーティング システムおよびディストリビューションにわたってfalcon
サービスをインストール、構成、管理します。
注:
puppet-falcon
はオープンソース プロジェクトであり、CrowdStrike 製品ではありません。したがって、明示的または暗黙的を問わず、正式なサポートはありません。
falcon モジュールのすべてのパラメーターは、メインのfalcon
クラス内に含まれています。モジュールの動作を変更するオプションが多数あります。詳細については、REFERENCE.mdを参照してください。
以下に一般的な使用例をいくつか示します。
注:
falcon
パッケージは公開されていないため、このモジュールには falcon センサーをインストールするための 2 つのオプションがあります。install_method
パラメータを使用すると、api
またはlocal
選択できます。api
デフォルトです。詳細については、「API とローカルのインストール方法」で説明されています。
# `api` メソッドを使用するclass {'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
インストール メソッドの動作を変更するパラメーターが 3 つあります。これらのパラメーターは一度に 1 つだけ使用でき、以下にリストされている順序で評価されます。
version
- 指定したバージョンに一致するセンサー パッケージをダウンロードします。
update_policy
- 更新ポリシーで指定されたバージョンをダウンロードします。
version_decrement
- 現在のバージョンよりも前のn
番目のバージョンをダウンロードします。
api
インストール方法を使用する場合の欠点については、「API とローカル インストール方法」で概説します。
それぞれの例を以下に示します。 version
パラメータの使用
これは、 update_policy
およびversion_decrement
よりも優先されます。
クラス { 'falcon': client_id => Sensitive('12346')、client_secret => Sensitive('12345')、バージョン => '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
リソースに渡されます。 name
パラメータを除く、 package
リソースの必須パラメータを指定する必要があります。モジュールはオペレーティング システムに基づいて適切な名前を選択します。 package_options
ハッシュでname
プロパティを指定することで、名前をオーバーライドすることもできます。
# ローカル ファイルを使用するfile {'/tmp/sensor.rpm': ensure => 'present', source => 'https://company-filer-server.com/sensor.rpm'}class {'falcon': install_method => 'local', package_options => { 'ensure' => 'present', 'source' => '/tmp/sensor.rpm' }, require => ファイル['/tmp/sensor.rpm'] }
# http ソースクラスを使用する {'falcon': install_method => 'local', package_options => { 'ensure' => 'present', 'source' => 'http://example.com/sensor.rpm' } }
# 名前のオーバーライドparameterclass {'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_options
パラメーターを使用して、 package
リソースに渡されるパラメーターをオーバーライドできます。有効なパッケージパラメータ
これは、 api
とlocal
インストール方法の両方で同じように機能します。
$package_options = { 'provider' => 'rpm', 'install_options' => '--force', }クラス { 'ファルコン': package_options => $package_options}
class {'falcon': package_manage => false # ... その他の必須パラメータ}
注Windows エージェントはインストール時にのみ構成できます。 Linux エージェントには、インストール後に puppet がエージェントを構成できるようにする
falconctl
が付属しています。たとえば、リソースのcid
プロパティを更新すると、次回の実行時に Linux エージェントのcid
更新されますが、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 のインストールには、エージェント固有のプロキシ設定はありません。代わりに、OS のプロキシ設定が使用されます。これらのパラメータに値を渡しても、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
バージョンにアップグレードされます。
warning : これにより、モジュールは実行のたびに API を参照して、API が返すバージョンがインストールされているバージョンであることを確認します。これにより、大規模な展開ではレート制限の問題が発生する可能性があります。自動アップグレード/ダウングレードを希望し、
api
インストール方法を使用する場合は、通常、version_manage
false
に設定し、Puppet の代わりに CrowdStrike 更新ポリシーがアップグレード/ダウングレードを実行できるようにすることをお勧めします。
class {'falcon': version_manage => true client_id => Sensitive('12346'), client_secret => Sensitive('12345'), update_policy => 'platform_default' cid => 'AJKQUI123JFKSDFJK` # ... その他の必須パラメータ}
local
のinstall_method
を使用する
class {'falcon': install_method => 'local', package_options => { 'ensure' => '32.4.3', 'source' => '/tmp/sensor-32.4.3.rpm' } }
api
とlocal
インストール方法一般に、 version_manage
がfalse
に設定されている場合、 api
メソッドはほとんどのユースケースで問題ありません。 version_manage
がtrue
に設定されている場合、API レート制限に遭遇する可能性があります。
フルコントロールが必要で API を利用したくない場合は、 local
インストール方法を使用できます。
通常、パッケージを管理する Puppet モジュールは、インストールから削除までそのパッケージのライフサイクル全体を制御します。 CrowdStrike エージェント パッケージが公開されていないという事実が、これを困難にしています。
私たちは、手動でパッケージをすばやくインストールできる方法を提供したいと考えていたため、 api
インストール メソッドを作成しました。この方法では、API 認証情報を提供する必要があります。その後、CrowdStrike API から正しいパッケージ バージョンをダウンロードします。 update_policy
設定など、動作を制御できるパラメーターがあります。これにより、モジュールは更新ポリシーの提案に基づいて正しいバージョンをダウンロードします。それぞれの例はこちら。
ただし、この方法はすべての人に適しているわけではないため、センサーのインストール方法を完全に制御できるlocal
インストール方法が作成されました。
api
インストール方法の仕組みAPI インストール方法では、falcon API を使用して正しいパッケージ バージョンをダウンロードします。正しいパッケージのバージョンは、指定したパラメータによって異なります。それぞれの例をここで見ることができます。
最初の実行では、Puppet が適切な CrowdStrike API を呼び出して、センサー パッケージのダウンロードに必要な情報を取得します。次に、センサー パッケージをダウンロードします。その後は、通常のパペット リソースが引き継ぎます。
version_manage
true
に設定すると、実行のたびにモジュールが CrowdStrike API を参照して、適切なパッケージ バージョンを取得します。次に、インストールされているバージョンが返されたバージョンと同じかどうかが判断されます。それらが同じでない場合は、正しいパッケージ バージョンがダウンロードされ、適切なインストール/更新/ダウングレード アクションが実行されます。
version_manage
をfalse
に設定すると、CrowdStrike センサーがインストールされていない場合にのみ API 呼び出しが発生します。
api
インストール方法の主な制限は、API レート制限です。私たち自身はこの制限に達していませんが、 version_manage
true
に設定してapi
インストール メソッドを使用すると、大規模なインストールでレート制限に達する可能性があります。
Puppet はノードのカタログをコンパイルするたびに、API を使用して、どのバージョンのエージェントをインストールする必要があるかを決定します。エージェントがすでに正しいバージョンを使用している場合、それ以上の API 呼び出しは行われません。
version_manage
false
に設定すると、エージェントがインストールされていない限り、API 呼び出しが禁止されます。
API 呼び出しを減らす最善の方法は、 version_manage
false
に設定することです。これにより、API が呼び出されるのは、エージェントがインストールされていないときだけになります。これにより、API レート制限の問題が回避されます。
Apple プラットフォームでは、ユーザーのプロンプトを表示せずにカーネル拡張機能をインストールするには、モバイル デバイス管理 (MDM) プロファイルが必要です。この制限により、このモジュールは Falcon Sensor のみをダウンロードしてインストールします。 CrowdStrike ドキュメントの Mac 導入ガイドでは、 CID
へのレポートを開始するように Mac センサーを構成するために必要な手順の概要が説明されています。
新しいコンテンツを開発したり、このコレクションを改善したい場合は、問題を開くか、プル リクエストを作成してください。すべての貢献を歓迎します!
詳細については、ライセンスを参照してください。