Microsoft Sentinelでは、データ コネクタを使用して さまざまなデータソースからデータを取り込むことができます。
本記事では、Microsoft Sentinelを使ったCrowdStrikeのログ収集手順を説明します。
ログ収集パターンは複数ありますが、今回はサーバーを1台構築し、SIEMコネクタサーバーとして動作させ、APIでログ連携する方法を説明をします。
CrowdStrike側設定
CrowdStrikeポータル操作
初めに、CrowdStrikeのポータルにて以下手順を実施します。
- CrowdStrikeポータルにログイン
- サポート及びリソース→APIクライアント及びキーを選択
- 右上にあるAPIクライアント作成を選択
- クライアント名を記載し、「Event streams」をチェックし、作成
- 作成されたら、クライアントID、シークレット、ベースURLが表示される為、メモしておく
SIEMコネクタ用サーバー構築
以下のシステム要件を満たすサーバーを準備します。
準備でき次第、サーバーを起動します。
システム要件
SIEM Connectorの最新バージョンは、以下のオペレーションシステムをサポートしています。(※2024/04/15時点)
- CentOS/RHEL 7.x-8x(64ビット)
- Ubuntu 18.04(64ビット)
- Ubuntu 20.04(64ビット)
注:実行中のSIEMConnecterのバージョンが1.3の場合:CentOS/RHEL 7.x(64ビット)は唯一サポートされているオペレーティングシステムです。
その他の要件
- 接続性
- インターネット接続およびCrowdStrikeクラウドへの接続機能
- SIEM Connectorはプロキシを介して使用できますが、プロキシに対して個別に認証する必要がある
- SIEM Connectorはプロキシ認証を処理しない
- 通信
- Syslog Listenerと通信する能力
- 承認
- イベントストリームの読み取り権限を持つAPIクライアント
- CrowdStrikeクラウドがUS-GOV-1で、CIDのイベントストリームが有効に なっていない場合、またはステータスが不明な場合は、サポート「https://supportportal.crowdstrike.com/」に問い合わせが必要
- 時刻
- Falcon SIEM Connectorを実行しているホストの日付と時刻は最新のものである必要がある
SIEM Connectorインストール
ポータルより、「サポートおよびリソース」>「リソースおよびツール」>「ツールのダウンロード」を行い、CrowdStrike SIEM Connectorをダウンロードします。
ダウンロード完了後、WinSCPやターミナルソフトを使用してSIEMコネクタ用サーバ内に格納してください。
ターミナルを開き、以下のインストールコマンドを実行します。<installer package>の部分は、ダウンロードしたインストーラーのファイル名と置き換えます。
CentOS:
sudo rpm -Uvh <installer package>
Ubuntu:
sudo dpkg -i <installer package>
例:
sudo dpkg -i crowdstrike-cs-falconhoseclient_2.23.0_amd64.deb
ログ出力形式を選択
ログ出力形式は、使用する設定ファイルによって定義されます。
/opt/crowdstrike/etc/にインストールされた設定ファイルを変更する事で、以下の出力形式を選択できます。
- JSON(デフォルト)
- Syslog
- 共通イベント形式(CEF)
- ログイベント拡張形式(LEEF)
以下、選択後の手順となります。
JSONを選択した場合
JSON出力はデフォルトになる為、変更は必要ありません。
デフォルトの出力場所は以下となります。
/var/log/crowdstrike/falconhoseclient.cfg
CEFを選択した場合
- SIEMコネクタ用サーバーで、フォルダー/opt/crowdstrike/etc/を開きます
- 以下のように、サンプルのCEF設定ファイルの名前を/opt/crowdstrike/etc/cs.falconhoseclient.cfgに変更します
sudo mv /opt/crowdstrike/etc/cs.falconhoseclient.cef.cfg /opt/crowdstrike/etc/cs.falconhoseclient.cfg
Syslogを選択した場合
- SIEMコネクタ用サーバーで、テキストエディタでファイル/opt/crowdstrike/etc/cs.falcohoseclient.cfgを編集します
- 以下の様に、読み取るoutput_formatの値を変更します
output_format: syslog
LEEFを選択した場合
- SIEMコネクタ用サーバで、フォルダー/opt/crowdstrike/etc/を開きます
- LEEF設定ファイルのサンプルの名前を/opt/crowdstrike/etc/cs.falconhoseclient.cfgに変更します
sudo mv /opt/crowdstrike/etc/cs.falconhoseclient.leef.cfg /opt/crowdstrike/etc/cs.falconhoseclient.cfg
設定ファイルにAPI認証情報を追加
SIEMコネクタ用サーバのテキストエディタで/opt/crowdstrike/etc/cs.falconhoseclient.cfgを開き、[Settings]セクションを見つけます。
環境に合わせて次の行を編集します。
- app_id
- トラブルシューティング用のAPI接続を一意に識別
- 最大文字数は32文字
- 次の文字を使用可能:a-z、A-Z、0-9,.,-,_
- app_idは環境内において一意である必要があります
- client_id
- APIクライアントのID
- client_secret
- APIクライアントのシークレット
転送先の設定を以下のセクションで編集します。
[Syslog]
>send_to_syslog_server = true
host = x.x.x.x
port = 514
protocol = udp
変更を保存します。
SIEM Connecorを起動
ターミナルで次のコマンドを実行します。
CentOS:
sudo service cs.falconhoseclientd start
Ubuntu:
sudo systemctl start cs.falconhoseclientd.service
SIEM Connector側の設定は以上となります。
Sentinel側設定
CrowdStrikeのデータコネクタをインストールします。
Micorosft Sentinelを開き、コンテンツ管理>コンテンツハブを選択します。
検索バーにて、「CrowdStrike」と検索し、一覧からBoxを見つけ、インストールを実施します。
インストール完了後、構成>データコネクタに移動し、「最新の情報に更新」を押下し、先ほどのデータコネクタが表示されることを確認します。
データコネクタの設定方法です。
- データコネクタにて、"[Recommended] CrowdStrike Falcon Endpoint Protection via AMA"のコネクタページを開く
- 表示されたAMAインストールコマンドをコピーし、対象のSIEM Connectorサーバーにペーストし、AMAインストールを実施
実際のAMAインストールコマンドはこのようになります。
sudo wget -O Forwarder_AMA_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Forwarder_AMA_installer.py&&sudo python3 Forwarder_AMA_installer.py
しばらくしてからLog Analyticsにてクエリすると、ログが表示されます。
表示されない場合は、今までの手順を参考にトラブルシュートを実施してください。
まとめ
Sentinelで用意されてるデータコネクタを利用することで、簡単にログ統合が可能になります。ただ、各データコネクタで構築手順が違う為、1つ1つ理解する必要があります。
今回は、その一部であるCrowdStrikeについて説明しました。
今後も私が学んだことはアウトプットしていきますので、よろしくお願いします。
森﨑 湧斗(日本ビジネスシステムズ株式会社)
セキュリティビジネスグループの森﨑です。 普段はネットワーク案件ベースで、今期よりセキュリティコンサル業務も対応しております。 今後は自身で学んだセキュリティ関連の内容を投稿していきたいと考えております。 趣味としては、2か月に1回旅行に行くことです。 行ったことない場所から選んで、事前計画を考え、いつもパートナーに提案してるのが、小さな楽しみです。
担当記事一覧