こんにちは、 ネクストモード株式会社 の sobar です。
近年、ゼロトラストネットワークアクセスの実装において「認証時のデバイスのセキュリティ状態(ポスチャ)」の検証が不可欠となっています。本記事では、CrowdStrike Falconが端末の安全性(OS設定や脆弱性等)を数値化したZTA(Zero Trust Assessment)スコアをOkta Identity Engine(OIE)に連携し、スコアが低い(リスクが高い)Windows端末からのアクセスを自動的に制限・ブロックする仕組みの構築手順を解説します。
CrowdStrike Falcon のZTAについては以下のブログもご参照ください
スコア低下時のアクセスブロックフローは以下の通りです。
data.zta)に即座に書き出されます。data.zta ファイルから最新のZTAスコアを読み取ります。
(※ZTAスコアによるWebアクセス制御イメージ)
構築を始める前に、以下の条件(Windows端末の条件)を満たしているか確認します。
まず、Okta側でCrowdStrikeからのシグナルを受信できるように設定を行います。
補足: これにより、OktaがCrowdStrikeのシグナル(ZTAスコア等)を解釈するための連携が有効化されます。
Windows端末上のOkta VerifyがCrowdStrikeのエージェントとローカル通信できるように設定します。
今回は既に端末にOkta Verifyがインストールされている状態で以下のPowerShellスクリプトを管理者権限で実行するだけで[com.crowdstrike.zta.json] ファイルが自動生成されます。
EDRプラグイン有効化のPowerShellコマンド:
| $content = "{`r`n`t`"name`": `"com.crowdstrike.zta`",`r`n`t`"description`": `"Okta provided integration with CrowdStrike Falcon endpoint collecting the zta score.`",`r`n`t`"type`": `"FILE`",`r`n`t`"format`": `"JWT`",`r`n`t`"location`": `"%PROGRAMDATA%\\CrowdStrike\\ZeroTrustAssessment\\data.zta`",`r`n`t`"availabilityChecks`": [`r`n`t`t{`r`n`t`t`t`"type`": `"SERVICE_RUNNING`",`r`n`t`t`t`"value`": `"csagent`"`r`n`t`t}`r`n`t]`r`n}" $path = $env:ProgramData + "\Okta\OktaVerify\Plugins\" $file = $path + "com.crowdstrike.zta.json" if (-not (Test-Path $path)) { New-Item $path -ItemType Directory } [System.IO.File]::WriteAllText($file, $content) |
※正常にスクリプトが実行された場合、「Windowsキー + R」を押して「ファイル名を指定して実行」より「%PROGRAMDATA%\Okta\OktaVerify\Plugins」を開いた際、開いたフォルダの中に com.crowdstrike.zta.json というファイルが作成されていればOKです。
収集したZTAスコアに基づいてログインを制御するルールを作成します。今回はOkta Dashboardアクセスに対してZTAスコアによるアクセス制限を行うルールを追加したいと思います。
1. [Okta Admin Console]で [セキュリティ] > [認証ポリシー] > [アプリサインインポリシー] > [Okta Dashboard] を選択します。
2. [ルールを追加] をクリックし、ルール名(例:Block-Low-ZTA-Score-Devices ※今回はsobar-ruleというルール名で設定)を入力します。
3. ルールの設定を行います。
(※ルールについては、ユーザーやユーザーグループで一度絞って動作確認いただいたうえで全体適用するかたちとすることをお勧めいたします。)
ルール名を設定し、IF のアクションとして適切なユーザ・グループを設定のうえ、[AND 次のカスタム式をtrueとする]のテキストボックス、に「device.provider.zta.overall < 60」(ZTAスコア(全体的な評価スコア)が60未満の端末を拒否(ブロック)する場合のコマンド例)のように Okta Expression Language(OEL)を用いて条件を記述します。
THEN のアクションを [拒否](アクセス拒否)に設定して[保存]します。
Tips1: CrowdStrike ZTAの対象とすることができるZTAスコア
OS評価スコアを条件に設定(設定例:device.provider.zta.os < 60)
センサー評価スコアを条件に設定(設定例:device.provider.zta.sensorConfig < 60)
全体的な評価スコアを条件に設定(設定例:device.provider.zta.overall < 60)
(※参考画面 [CrowdStrikeテナント画面] > [ホストのセットアップおよび管理] > [ゼロトラストアセスメント] > [ホスト別評価])
Tips2: スコアに応じた段階的な制御例
- スコア 60未満: アクセス拒否(Denied)
- スコア 60〜79: パスワード+MFAの要求(Require MFA)
- スコア 80以上: パスワードレス(FastPassのみで通過)
意図的にZTAスコア条件を満たさない評価環境の端末(またはテストポリシー)からブラウザでOkta Dashboardのアクセスを試み、Oktaのログイン画面でアクセス拒否のメッセージが表示されることを確認します。
Oktaの [System Log] を開き、
「eventType eq "policy.evaluate_sign_on" and outcome.result eq "DENY"」を検索することで[イベント情報:Evaluation of sign-on policy DENY(Okta Dashboardアクセス)]が確認できます。
4-1-1. CrowdStrikeのスコアがOktaに正しく渡っている Device Integrator(または Target セクションのデバイス情報)の中に、以下のJSONペイロードが記録されています。
"overall":35 (総合スコア 35点)"os":96 (OSスコア 96点)"sensorConfig":4 (センサースコア 4点)これにより、Okta VerifyのプラグインがCrowdStrikeの data.zta ファイルを正しく読み取り、Okta側にスコアを送信できていることが確認できます。
EventType: policy.evaluate_sign_onOutcome: Sign-on policy evaluation resulted in DENIEDResult: DENY認証(MFAなど)のチェックとは別に、アクセスさせるかどうかのポリシー評価が行われ、結果として「アクセス拒否」の判定が下されています。対象アプリも Okta Dashboard になっています。
Target セクションに、どのルールによってブロックされたかが記録されています。
PolicyName:Okta DashboardDisplayName(ルール名):sobar-rule条件(ZTAスコア60未満、またはカスタム式)を設定したルール名が「sobar-rule」ですので、設定したルールが合致してブロックを機能させたことが確認できました。
CrowdStrike Falconセンサーは、端末のセキュリティ状態を評価した結果をローカルドライブ上の特定のファイル(data.zta)に書き出します。
C:\ProgramData\CrowdStrike\ZeroTrustAssessment\data.zta/Library/ApplicationSupport/Crowdstrike/ZeroTrustAssessment/data.zta補足: ファイルの中身について この
data.ztaファイルは単なるテキストではなく、暗号化および署名された JWT(JSON Web Token) 形式で保存されています。この中には、OSのスコア(os)や全体スコア(overall)といった複数の評価値(クレーム)が格納されています。改ざんを防ぐためのセキュアな設計です。
※ライセンスの詳細につきましては弊社までお問い合わせください。
CrowdStrike ZTAとOktaの連携により、「正しく認証されたユーザー」であっても「端末が危険な状態であればアクセスを許可しない」 という高度なゼロトラスト型アクセス制御が実現します。
Windows端末のセキュリティ状態をリアルタイムに認証へフィードバックさせることで、万が一マルウェア等に感染・設定変更された端末からの二次被害(社内SaaSへの侵入)を水際で防ぐことが可能です。ぜひ導入をご検討ください!
本記事が、皆様のゼロトラストセキュリティ対策や、CrowdStrike Falconの運用の一助となれば幸いです。
ネクストモードでは、CrowdStrikeをはじめ、OktaやNetskopeを活用したSaaS・生成AIの包括的なセキュリティ対策をご支援しています 。ご興味のある方は、ぜひお気軽にご相談ください!