はじめに
こんにちは、エーピーコミュニケーションズiTOC事業部 BzD部 0-WANの篠崎と申します。
CrowdStrikeの設計、構築、運用からSOCまで幅広く対応できるエンジニアとして日々研鑽に励んでおります。
今回は弊社で検証環境として使用しているCrowdStrikeでXDR環境を構築したので紹介させていただきます。
XDRとはなにか
昨今のサイバーセキュリティ分野で"XDR"といった用語を目にする機会が増えたのではないでしょうか。
"XDR"はエンドポイントセキュリティソリューションであるEDRの拡張機能であり、下記のような特徴が挙げられます。
- 他製品の管理ポータルやログ収集基盤を行ったり来たりせずにXDRソリューションのみで調査が可能
- いつどこで誰が何をしたか単一ポータルで相関的に調査可能となり、対応策を検討可能
- EDRと他のソリューションのログをAIで相関分析することにより調査の負担を軽減
- EDRおよび連携ソリューションのオペレーションを自動化(SOAR)
- トリアージを自動化し、重要なアラートのみ通知するよう設定可能
- カスタムでクエリを作成、該当するログが発生したらアラートを発生させるなどの独自の組み込みが設定可能
※現在、各メーカーで様々なXDRが提唱されているため、今回はCrowdStrikeやZscalerが提唱しているXDRについて紹介しております。
XDRとは?拡張された検知と対応 - クラウドストライク
XDR (広範な検知と対応)とは | Zscaler
構成図
実際に構築した際の構成図はこちら。
①Zscalerログの格納
- ZscalerのCloud NSSを使用し、CrowdStrike XDRにログをPUSH
- WEB,DNS,FWの3種類のログが転送可能
②Oktaログの格納
- CrowdStrike XDRからOktaのログをPULLで取得
- 特定のEvent Typesのみを取得
③ZscalerとOktaのユーザー、グループ同期
- OktaをIdPとしてZscalerとOkta間でユーザー、グループをSCIMで同期
構築について
それでは実際に構築していきましょう。
必要なもの
構築にあたって各種ソリューションの管理アカウントが必要です。
また、各種エージェントをインストールしたWindows端末も準備します。
- CrowdStrike管理アカウント
- Zscaler管理アカウント
- Okta管理アカウント
- 検証用VM(Falcon Sensor,ZCC,Okta Verifyをインストール)
※XDR構築に必要な各種ソリューションのライセンスは全て揃っている前提
CrowdStrike設定確認
CrowdStrikeで使用するXDRコネクターはXDR SSE (SWG & CASB) Connectorと XDR Identity Connectorです。
まずは、データソース画面で各種コネクターが使用可能かを確認します。
Data connectors -> Data sources
ZscalerとOktaでReady to useとなっていれば使用可能です。
Zscaler設定
続いて、CrowdStrikeとZscalerの連携をするための設定です。
先ほどのデータソース画面で"Zscaler Data Ingestion for Falcon Insight XDR"を選択、"Connector name"と必要に応じて"Description (optional)"を記入しコネクターを作成します。
API URLとシークレットが表示されるので控えておきます。
※シークレットはこのタイミングで1度しか表示されず、失念した際は再発行となります。
次に、ZIA管理ポータルにログインし、Cloud NSSを設定していきます。
Administration -> Settings -> CLOUD CONFIGURATION -> Nanolog Streaming Service -> Cloud NSS Feeds
CrowdStrikeのドキュメントに沿って先ほど発行したAPI URLやシークレットを入力していきます。
※ドキュメントはこちら
Falcon Documentation -> Endpoint Security -> XDR -> XDR Third-Party Integrations -> XDR Third-Party Integration: Zscaler Internet Access
WEB,DNS,FWで3種類のログ転送を設定していきます。
画面右側にある雲マーク"Test Connectivity"を実施し、成功することを確認します。
つまづきポイント
APIシークレット設定時、シークレットの手前に"Bearer"を入れる。
Value 1: Enter Bearer and the API key that you saved earlier.
例:Bearer 0123456789abcdef0123456789abcdef
※ドキュメントを見落としており、なかなか転送に成功しなかったため危うく問い合わせするところでした。。
Okta設定
OktaとCrowdStrikeを連携するための設定です。
まずは、Okta管理ポータルにログインし、APIトークンを発行します。
Security -> API -> Tokens
"Create token"を実施、トークンの名前を設定します。
"Token Value"が表示されるので忘れずに控えておきます。
※トークンはこのタイミングで1度しか表示されず、失念した際は再発行となります。
【APIトークン管理の推奨事項】
Okta APIトークンの管理 | Okta
トークンは、トークンを作成したユーザーがアクティブな場合にのみ有効です。非アクティブ化されたユーザーが発行したトークンは拒否されます。Oktaでは、サービスの中断を避けるために、変更されることのないスーパー管理者権限を持った、非アクティブ化されることのないサービスアカウントを使用してAPIトークンを生成することを推奨しています。
次に、CrowdStrike管理ポータル側の設定です。
データソース画面で"Okta Data Ingestion & Response for Falcon Insight XDR"を選択します。
Data connectors -> Data sources
"Manage configurations"から"Add configuration"を選択し、設定していきます。
"Okta domain"には使用するOktaのドメインを入力します。
Okta管理ポータルの画面右上から確認できます。
各種入力が完了したら"Save configuration"を実施します。
"Add new connector"画面にて先ほど構成したデータソースをプルダウンから選択し適用します。
連携確認
以上で連携作業は完了です。
問題なく連携できているかを確認してきます。
Data connectors -> Data sources -> My connectors
先ほどまでで連携したコネクターのStatusが"Active"になっていれば連携成功です。
各種ソリューションログの確認
連携後、各種ソリューションのログが閲覧できるか確認していきます。
Endpoint security -> XDR search -> Search
Zscaler,Oktaから取り込んだログを検索するクエリをそれぞれ実行します。
- Zscaler
Vendor = Zscaler | Product = ZIA
- Okta
Vendor = Okta | Product = "Okta Identity Cloud"
正常に取り込みできている場合、検索結果が表示されます。
※連携完了後、取り込みまで数分かかる可能性があります。
おわりに
以上でCrowdStrike XDRの構築は完了です。
検知アラートが発生した際に連携ソリューションのインジケーターがどのように表示されるのか、相関分析の組み込みやスケジューリング、Workflow(SOAR)の作成等々、引き続き検証を続けていく予定です。
機会がありましたら記事として投稿していこうと考えております。
最後までお読みいただきありがとうございました。
0-WANについて
私たち0-WANは、ゼロトラスト製品を中心とした、マルチベンダーでのご提案で、お客様の経営課題解決を支援しております。
ゼロトラストってどうやるの?製品を導入したけれど使いこなせていない気がする等々、どんな内容でも支援いたします。
お気軽にご相談ください。
問い合わせ先、0-WANについてはこちら。
一緒に働いて頂ける仲間も募集しています
今までの経験を活かして、私たちと一緒にゼロトラスト分野で活躍しませんか?