SaaS

[macOS]Jamf Proを利用して、CrowdStrikeエージェント(Falcon Sensor)を配信してみた

セキュリティチームの ぐっちー です。本日はJamf Proを利用して、CrowdStrikeエージェント(Falcon Sensor)を配信してみたので、その時の手順をご紹介したいと思います。

免責事項

  • 本手順の対象はmacOSの以下のバージョンを対象としています。
    • macOS Big Sur 11 Intel CPUs
    • macOS Monterey 12 Intel CPUs
    • macOS Monterey 12 M1 CPUs
  • その他、ネットワーク要件等のCrowdStrikeの利用条件は、サポートサイトを参照ください。
  • 本手順はCrowdStrike社が提供するmacOS向けのFalcon Sensor配信手順を、Jamf Proで実施する場合に書き換えたものです。そのため、動作確認できているものになりますが、メーカーが提供する正式な手順とは一部異なるため、その点はご了承ください。
  • 今後発生するmacOSのアップデート等により、手順が変わる可能性がございます。可能な限りアップデートを追いかけて修正したいとは考えていますが、常に最新の状態を維持することは難しいですので、実際に配信する場合にはCrowdStrike社が提供するmacOS向けのFalcon Sensor配信手順の補助資料として利用いただけたら幸いです。

事前準備タスク

Falcon Sensor パッケージのダウンロード

Falcon Sensor のパッケージを Falcon Console(CrowdStrike管理画面) からダウンロードしておきます。Falcon Console にログインして [Hosts] > [Sensor Downloads] ページから最新の Mac 用パッケージを ダウンロードしてください。

ここで取得したパッケージは「パッケージのアップロード」で利用します。

Customer IDの取得

Falcon Sensor のインストールには、チェックサム付きの Customer ID(以下、CID)が必要です。CID は、Falcon Console にログインして以下の Support > Sensor Downloads ページの上部に「<32 文字の英数字><2 文字の英数字>」の形式で記載があります。

ここで取得したCIDは「配信ポリシーの作成」で利用します。

配布用コンピュータグループ作成(配信したい全ての端末)

以下を参考にコンピュータグループを作成してください。

3-a. Jamf Pro管理コンソールへログインします。

3-b. 左画面より [コンピュータ] タブ > [Smart Computer Groups] より [新規] ボタンをクリックします。

3-c. [コンピュータグループ]タブで [表示名] 欄に任意の名前を入力します。(例:CrowdStrike配信グループ[全端末])

3-d. [クライテリア]タブで条件を指定して、CrowdStrikeを配信したい端末が全て含まれるような条件を設定してください。

配布用コンピュータグループ作成(Intelの端末)

Intelの端末では、M1の端末で利用する構成プロファイルに加えて、さらに別の構成プロファイルを割り当てる必要がありますので、別途グループを作成します。尚、Intelの端末がない場合はこちらは不要です。

4-a. Jamf Pro管理コンソールへログインします。

4-b. 左画面より [コンピュータ] タブ > [Smart Computer Groups] より [新規] ボタンをクリックします。

4-c. [コンピュータグループ]タブで [表示名] 欄に任意の名前を入力します。(例:CrowdStrike配信グループ[Intel端末])

4-d. [クライテリア]タブで条件を指定して、以下のパラメーターを入力します。

  • クライテリア 1
    • AND/OR (および/または):(空白)
    • クライテリア:Computer Group
    • オペレータ:is
    • 数値:(「3. 配布用コンピュータグループ作成(配信したい全ての端末)」で作成した配布用コンピュータグループ)
  • クライテリア 2
    • AND/OR (および/または):and
    • クライテリア:Architecture Type
    • オペレータ:is
    • 数値:x86_64

配信手順

構成プロファイル「SystemExtensions」の作成

1-a. [コンピュータ] > [構成プロファイル] > [+新規] から以下の構成プロファイルを作成します。

  • [一般] > [名称]:任意の名前(例:01_SystemExtensions)
  • システムの拡張機能
    • ユーザーがシステム拡張機能を承認できるようにします:チェック
    • 許可されたチームIDとシステム拡張機能:
      • 表示名:CrowdStrike Allowed Team Identifiers
        • システム拡張の種類:AllowedTeamIdentifiers
        • チーム識別子:X9E956P446
      • 表示名:CrowdStrike Allowed System Extensions
        • システム拡張の種類:AllowedSystemExtensions
        • チーム識別子:X9E956P446
        • 許可された拡張機能:com.crowdstrike.falcon.Agent
      • 表示名:CrowdStrike Allowed System Extension Types
        • システム拡張の種類:AllowedSystemExtensionTypes
        • チーム識別子:X9E956P446
        • 許可されたシステム拡張機能の種類:「エンドポイントセキュリティ拡張機能」、「ネットワーク拡張機能」にチェック

1-b. [Scope] タブにて、事前準備「3. 配布用コンピュータグループ作成(配信したい全ての端末)」で作成した、CrowdStrikeを配信するすべてのSmart Computer Groupsに割り当てる。

構成プロファイル「WebContentFilter」の作成

2-a. [コンピュータ] > [構成プロファイル] > [+新規] から以下の構成プロファイルを作成します。(参考:Content Filter (New Payload)

  • [一般] > [名称]:任意の名前(例:02_WebContentFilter)
  • コンテンツフィルタ:
    • フィルタ名:
    • 識別子:com.crowdstrike.falcon.App
    • サービスアドレス:(空白)
    • オーガニゼーション:CrowdStrike Inc.
    • ユーザー名:(空白)
    • パスワード:(空白)
    • 証明書:なし
    • フィルタ順序:inspector
    • ソケットフィルタのバンドル識別子:com.crowdstrike.falcon.Agent
    • ソケットフィルタの指定要件:identifier "com.crowdstrike.falcon.Agent" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] and certificate leaf[field.1.2.840.113635.100.6.1.13] and certificate leaf[subject.OU] = "X9E956P446"
    • ネットワークフィルタのバンドル識別子:(空白)
    • ネットワークフィルタの指定要件:(空白)

2-b. [Scope] タブにて、事前準備「3. 配布用コンピュータグループ作成(配信したい全ての端末)」で作成した、CrowdStrikeを配信するすべてのSmart Computer Groupsに割り当てます。

構成プロファイル「SystemPolicyAllFiles」の作成

3-a. [コンピュータ] > [構成プロファイル] > [+新規] から以下の構成プロファイルを作成します。

  • [一般] > [名称]:任意の名前(例:03_SystemPolicyAllFiles)
  • [プライバシー環境設定ポリシーコントロール]:
    • Privacy Preferences Policy Control:
      • App Access 1
        • 識別子:com.crowdstrike.falcon.Agent
        • 識別子タイプ:Bundle ID
        • コード要件:identifier "com.crowdstrike.falcon.Agent" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists / and certificate leaf[field.1.2.840.113635.100.6.1.13] / exists */ and certificate leaf[subject.OU] = X9E956P446
        • スタティックコード要件の検証:チェックなし
        • APP OR SERVICE:
          • SystemPolicyAllFiles
          • Allow
      • App Access 2
        • 識別子:com.crowdstrike.falcon.App
        • 識別子タイプ:Bundle ID
        • コード要件:identifier "com.crowdstrike.falcon.App" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists / and certificate leaf[field.1.2.840.113635.100.6.1.13] / exists */ and certificate leaf[subject.OU] = X9E956P446
        • スタティックコード要件の検証:チェックなし
        • APP OR SERVICE:
          • SystemPolicyAllFiles
          • Allow

3-b. [Scope] タブにて、事前準備「3. 配布用コンピュータグループ作成(配信したい全ての端末)」で作成した、CrowdStrikeを配信するすべてのSmart Computer Groupsに割り当てる。

構成プロファイル「Auto Approval of Kernel Extension」の作成

4-b. [コンピューター] > [構成プロファイル] より [新規] ボタンをクリックします。

4-c. [オプション] タブ > [一般] にて [名称] 欄にプロファイルの表示名(例:04_Auto Approval of Kernel Extension)を入力します。

4-d. [認証済みカーネル拡張] より [構成] ボタンをクリックします。

4-e. 以下の設定を行います。

  • ユーザによるカーネル拡張承認:チェック
  • 表示名:CrowdStrike Inc.
  • チームID:X9E956P446

4-f. [Scope] タブで「CrowdStrikeを配信する端末のうち、Intelのチップの端末」を指定して割り当てます。

パッケージのアップロード

5-a. 「1. Falcon Sensor のダウンロード」にてダウンロードしたパッケージを[右上の歯車マーク] > [コンピューター管理] > [パッケージ] > [+新規] > [ファイルの選択] にてアップロードします。

5-b. 任意の表示名(例:CrowdStrike Falcon Sensor)を付けて保存します。

配信ポリシーの作成

6-a. 下記のコマンドの0123456789ABCDEFGHIJKLMNOPQRSTUV-WX の部分を、「事前準備タスク[Customer IDの取得]」で取得したCIDに置き換え、自社用の配信コマンドを作成します。

sudo /Applications/Falcon.app/Contents/Resources/falconctl license 0123456789ABCDEFGHIJKLMNOPQRSTUV-WX

6-b. [ポリシー] > [+新規]にて新規のポリシーを作成し、以下の設定を行います。

  • [General]:
    • 表示名:任意の名前(例:CrowdStrike配信)
    • トリガー:任意のタイミング(例 ログイン時など)
    • 実行頻度:Once per computer
  • [パッケージ] にて「4.5 パッケージのアップロード」でアップロードしたパッケージを選択します。
  • [ファイルとプロセス] > [コマンドを実行] に「6-a」で作成したコマンドを貼り付けます。

6-c. [Scope] タブにて、事前準備「3. 配布用コンピュータグループ作成(配信したい全ての端末)」で作成した、CrowdStrikeを配信するすべてのSmart Computer Groupsに割り当てる。

動作確認

ターミナルでコマンドを入力

Mac用のFalconセンサーがホストで実行されていることを検証するには、ターミナルで次のコマンドを実行します。出力が異なる場合は、インストールのトラブルシューティングを参照してください。

sudo /Applications/Falcon.app/Contents/Resources/falconctl stats

<出力される情報>

  • エージェントID(AID)
  • バージョン
  • CID など

管理コンソールで確認

管理コンソールからも、インストールが成功したか、失敗したかを確認することができます。尚、管理コンソールに反映されるのは即時ではなく、数分〜10分程度のタイムラグがありました。また、情報単位(例えばOSバージョンや所有者など)でもラグがあったように思います。

終わりに

本日はJamfを利用したCrowdStrikeの配信についてご紹介させていただきました。今後はCrowdStrikeの機能について踏み込んだ検証をしていきたいと思いますので、そちらも方も形になったらブログでアウトプットしたいと思います。

参考資料

Falcon Sensor for Mac

改訂履歴

  • 2021年12月21日:「パッケージをアップロード」に誤記があったので修正

ぐっちー

コンサル会社にてISO27017やISMAP等のセキュリティ規格案件を経験した後、クラティブに転職。趣味はダンス(Soul, Lock, Waack)です。