新機能「高度なポスチャチェック」による独自のデバイスセキュリティを実現 (macOS編)

今回はOktaの新機能である「高度なポスチャチェック (Advanced Posture Checks)」をご紹介します。2025年6月現在、macOSが早期アクセスとして公開されています。この「高度なポスチャチェック」を活用することで、認証時に条件とすることができる端末の状態、パターンが飛躍的に増加します。社内の独自のセキュリティ基準や特殊なケースについても条件式を作成しカスタマイズすることで、自社独自のデバイスセキュリティの実現が可能となります。この記事では、macOS版の「高度なポスチャチェック」機能の紹介に加えて、具体的にどのようなことが実現できるのかのユースケース、またサンプルについてもご紹介します。

目次


Adaptive MFAとは?

Advanced  Posture Checks1

「高度なポスチャチェック」を利用するためには、Adaptive MFAライセンスを必要とします。まず最初にAdaptive MFAについて説明したいと思います。Adaptive MFAライセンスではユーザーの認証時において、アクセス元の様々な情報(コンテキスト)を収集し、アクセス制御を行う機能を提供しているライセンスです。このコンテキストは、アクセス元のIPアドレスやブラウザ、Okta Verify、またサードパーティソリューションからのシグナルを収集することが可能です。これにより、多要素認証の強制、追加のMFAを要求、あるいはアクセス拒否といった様々な認証ポリシーの定義が可能になります。

  • 振る舞い検知
    新たなロケーション、新たなデバイス、実際には不可能な移動距離 (時速)などを設定し、それに応じた認証ポリシーの定義が可能
  • リスクスコアリング
    Oktaのリスクエンジンによりユーザーのサインイン試行を監視し、リスクスコアを判定。リスクスコアに応じた認証ポリシーの定義が可能
  • 動的ゾーン
    IPアドレスのジオロケーション(国・州・都道府県)やISPのAS番号に応じた認証ポリシーの定義が可能
  • Device Trust
    端末内のクライアント証明書・秘密鍵による認証をOkta Verifyを用いて行う認証ポリシーの定義が可能
  • エンドポイントセキュリティ統合
    EDRのリスクスコアをOkta Verifyが収集し、その値に応じて認証ポリシーの定義が可能
  • デバイス保証ポリシー
    Okta Verifyが収集する端末の状態(OSのバージョンや画面ロック設定)に応じて認証ポリシーが可能

デバイス保証ポリシーとは?

Advanced  Posture Checks2

次にAdaptive MFAの機能のひとつであるデバイス保証ポリシー(Device Assurance Policy)について見てみます。今回のテーマ、「高度なポスチャチェック」についてはデバイス保証ポリシーの拡張機能となります。このデバイス保証ポリシーは前述の通り、Okta Verifyが端末のシグナルを収集し、アプリケーションにアクセスする際の端末の健全性を確保します。収集できるシグナルはOSによって異なりますが、OSのバージョンやディスク暗号化設定など基本的な端末の情報を収集します。最新のOSにアップデートされている場合はアプリケーションへの認証を許可する。ディスク暗号化設定がされていない端末からのアクセスは拒否する。といった設定により、社給端末や私用、BYOD端末からのアクセスにおける基本的なセキュリティを確保します。

またデバイス保証ポリシーで収集可能なシグナルはOkta Verifyだけでなく、Chrome Enterpriseからのシグナル収集、Android Enterpriseからのシグナル収集に対応しており、アクセス元の状態をより細かく判定できるよう日々拡張されています。Chrome Device Trustについてはこちらのブログ記事でご紹介しております。

高度なポスチャチェックとは?
 

Advanced  Posture Checks3

前置きが長くなりましたが、「高度なポスチャチェック」は、デバイス保証ポリシーで定義可能な条件をさらに拡張するものです。これまでデバイス保証ポリシーで条件にするシグナルには限りがありましたが、Okta Verifyとosqueryを活用することで、端末内のあらゆる状態をデバイス保証ポリシーの条件にし、リソースへのアクセス条件にすることを可能にします。osqueryとは、端末の情報を、SQLクエリを使って取得・監視できるオープンソースのフレームワークです。現在はLinux Foundationのプロジェクトとして、Windows、macOS、Linuxなど主要なOSがサポートされています。

「高度なポスチャチェック」では、管理者が設定したクエリを、ユーザー端末内のOkta Verifyを経由して実行します。そのクエリ結果に基づきOktaの認証ポリシーによるアクセス制御を行います。つまり、osqueryの各種スキーマから取得可能なOSの情報であれば、あらゆる端末状態を条件とすることが可能です。

2025年6月現在、「高度なポスチャチェック」は早期アクセスとしてmacOSからサポートを開始しています。今後のロードマップではWindowsも対応予定です。

事前準備

「高度なポスチャチェック」で実行するクエリは端末のOkta Verifyを経由して実行します。よってmacOSにOkta Verifyのインストールが必要となりますが、動作させるためにはMDMからOkta Verify向けにManaged App Configuration(plistファイル)の配布が必要です。Okta上で、「高度なポスチャチェック」の設定が有効化されている場合にはosqueryがOkta Verifyとともにインストールされます。

Advanced  Posture Checks4

Oktaでの設定については、早期アクセスにつき、セルフサービスでの機能を有効化し、osqueryについてもOkta上で機能を有効化します。その他事前に必要な設定、パラメータについてはOktaのドキュメントを参照して下さい。

クエリの設定

それでは実際にここからはクエリを作成し設定します。まずは独自のクエリを作成する前に、Oktaドキュメントに記載のあるサンプルクエリを実行することから始めましょう。macOSのファイアウォール設定についてのクエリがありますのでそちらをそのまま設定してみます。クエリ結果は"1"(条件を満たす)または"0"(条件を満たさない)で応答するよう記述する必要があります。

次にそのクエリが正しく端末上のOkta Verify経由で動作するか、端末のターミナルから実行し事前確認を行います。サンプル結果の通りの応答であることを確認します。

Advanced  Posture Checks5

このクエリをカスタムチェックとして登録します。2025年6月現在、Admin Console上の表現が「詳細なポスチャチェック」と翻訳されていますが、「高度なポスチャチェック」統一される予定です。

Advanced  Posture Checks6

作成したカスタムチェックが対応するようにmacOSのデバイス保証ポリシーを作成し追加します。複数のカスタムチェックを紐づけることも可能です。

Advanced  Posture Checks7
 

最後に追加したデバイス保証ポリシーを、アプリケーションの認証ポリシーに紐付けて設定完了になります。

Advanced  Posture Checks8

動作確認

実際に端末のファイアウォール設定を有効状態で、Oktaの認証に成功するかどうか、その後ファイアウォール設定を無効化すると期待通り認証拒否されるかどうかを確認してみて下さい。認証が拒否された際のメッセージ(修復メッセージ)については、今回のカスタムチェックに応じたメッセージにカスタマイズすることも可能です。

Advanced  Posture Checks9

以下のシステムログを確認すると、クエリ結果が”0”で応答されている、つまり条件を満たしていないことが分かります。

Advanced  Posture Checks10.png

サンプルクエリ

ここで実際に自社の要件、環境に応じたユースケースを考えてみたいと思います。Oktaのドキュメントではクエリの作成はAIアシスタントの支援を得るように記載があります。実際に私もGeminiに依頼をし様々なクエリを作成してもらい、期待した動作が確認できました。

具体的にどのような端末の状態を条件が考えられるのかの例となります。

  1. 端末のDNSサーバーのIPアドレス設定が指定のサーバーと一致するかどうか
    → 社内で認められていない一般公開のDNSサーバーが設定されている端末からのOktaの認証は拒否
     
  2. 特定のファイルやプロセスが存在するかどうか
    → 例えばEDRエージェントやアンチウイルスソフトが動作しているかをプロセスを確認しエントリーがない場合はOktaの認証は拒否
     
  3. USBメモリが端末に接続されていないかどうか
    →osqueryのusb_devicesというテーブルから接続機器を確認し、USBメモリなどのマスストレージが接続されている場合はOktaの認証を拒否
     
  4. 許可された特定のプライベートIPアドレスからのアクセスかどうか(特定の事業所、部門のネットワーク)
    → OktaでIPアドレス制限は可能ですが、インターネットGW(プロキシ)のアドレスからの判定しか出来ません。osqueryにより端末のIPアドレスを条件にすることが出来ます。つまり社内のプライベートIPアドレスから事業部や部門が識別できる場合は、これをもとに判定を行うことが可能です。

これらの例については、作成し動作確認したサンプルクエリをこちらのZennの記事にて公開しております。是非ご自身の環境で試してみて下さい。

まとめ

今回は、新機能の「高度なポスチャチェック」、第一弾としてmacOSのカスタムチェックを紹介しました。クエリの書き方次第では、条件にできるパターンは無限大で、アイデア次第です。このような使い方をしてみたい、使ってみて上手く言ったといった等あれば是非Okta Japanのメンバーに教えて下さい。また待ち遠しいWindows版についても公開され次第、ご紹介しますので引き続きご期待下さい。

新機能の「高度なポスチャチェック」についてはOkta Workforce Identityのフリートライアルで試して頂くことも可能です。30日間利用可能なフリートライアル環境はこちらからお申し込み下さい。