ServiceNow研究所
検討・企画

IPアドレス制限やMFAの設定を強化する適応認証(Adaptive Authentication)

2022/11/27 公開

ServiceNowは標準でIPアドレス制限やワンタイムパスワード方式の多要素認証(MFA)をサポートしていますが、これらを適用する条件をより高度に設定するための適応認証(Adaptive Authentication)というプラグインについて紹介します。なお、この機能は2022年11月Tokyoバージョン現在はプラグインですが、将来的に標準機能になる可能性があります(MFAもそうだった)。

Adaptive Authenticationとは?

機能概要

機能の概要を図解すると次のようになります。

適応認証(Adaptive Authentication)の概要図解

適応認証(Adaptive Authentication)は、標準機能として存在する次の2つの機能を強化するような位置づけの機能です。特に、グループベースの制御と登録済みモバイルデバイスの管理は下記機能では実現できなかったポイントです。

これまでは上述の2つを設定するのが一般的でしたが、今後は適応認証(Adaptive Authentication)を有効化し、まとめて設定するのが一般的になると思われます。

ここからは、画像の下の方から各概念をボトムアップで説明していきます。

フィルター基準(Filter Criteria)

フィルター基準は、Authentication Policy(認証ポリシー)を設定する際の要素になる、アクセス制御やMFAの適用条件判定を行うための1つ1つの基準です。

フィルター基準(Filter Criteria)のイメージ

フィルター基準には大きく2つの種類があります。

こちらについては下記の記事で詳しく解説しています。

ServiceNow - 登録したモバイル端末のみ外部ネットワークからのアクセスを許可できる信頼できる、モバイル アプリの適応認証(Adaptive Authentication for Trusted Mobile Apps)機能

認証ポリシー(Authentication Policy)

認証ポリシーは、フィルター基準(Filter Criteria)を組み合わせて、どんな時にアクセスを許可/拒否するか、MFAを適用する/適用しないか、という条件を定めるものです。

認証ポリシー(Authentication Policy)のイメージ

これによって、次のような条件による認証の制御ができるようになります。

事前認証/承認後のコンテキスト(Pre-/Post-Authentication Context)

事前認証/承認後のコンテキストは、認証の前/認証の後に適用されるポリシーを設定します。

事前認証/承認後のコンテキスト(Pre-/Post-Authentication Context)のイメージ

デフォルトポリシー(Default Policy)

コンテキストにポリシーを紐づける際には、デフォルトポリシーを併せて設定する必要があります。デフォルトポリシーには次の2種類があります。

デフォルトポリシーの設定によって、設定したポリシーの使われ方が真逆になるので、具体例も載せておきます。

事前認証コンテキスト(Pre-Authentication Context)と認証後コンテキスト(Post-Authentication Context)

認証コンテキスト(Authentication Context)には、事前と事後があります。

認証後コンテキスト(Post-Authentication Context)で全てのフィルター基準を使った評価ができるため、こちらだけでよいじゃんと思われるかもしれませんが、ログイン画面が表示されると、漏洩ID/パスワードの確認や(イマドキ行われているか詳しくありませんが)パスワードの総当たり攻撃といった攻撃の機会を与えてしまうため、基本的には事前認証コンテキスト(Pre-Authentication Context)で設定し、ロールとグループに基づいた制御が必要な部分のみ認証後コンテキスト(Post-Authentication Context)で実現するのがよいと思われます。

MFAコンテキスト(MFA Context)

MFAコンテキストは、どのようなときにMFAを適用するかを指定するポリシーを設定します。

デフォルトポリシー(Default Policy)

MFAコンテキストにもデフォルトポリシーが存在します。

事前認証/承認後のコンテキストと同様に、デフォルトポリシーの設定によって、ユーザ定義のポリシーの動作が真逆になるので注意です。

MFAは認証後に評価されるので、事前・事後はない(常に事後)

MFAコンテキストは、認証を行った上で追加のMFAを行うかどうかの判定になるため、事前・事後の区別はありません。強いて言うなら、常に事後ということになります。

設定方法

設定自体はドキュメントを見ながら行えば簡単なので、ここではポイントになる部分を中心に簡単に紹介します。

プラグインの有効化

適応認証(Adaptive Authentication)はプラグインなので、有効化が必要です。

  1. メニュー > システム定義(System Definition) > プラグイン(Plugins)よりプラグインの一覧を開く
  2. プラグイン”Adaptive Authentication (com.snc.adaptive_authentication)”をインストールする
  3. メニュー > 適応認証(Adaptive Authentication) > 認証ポリシー(Authentication Policies) > プロパティ(Properties)を開く
  4. 必要なプロパティを有効化する
    基本的には下記2つを設定すればよいでしょう。
    – 認証ポリシーを有効にします(Enable Authentication Policy): “はい(Yes)”
    – デバイス信頼フローの有効化(Enable Device Trust Flow): モバイルアプリの機能を使う場合は”はい(Yes)”
  5. “保存(Save)”ボタンを押下して保存する

適応認証(Adaptive Authentication)プロパティの設定

filter criteria(フィルター基準)の作成

フィルター基準を作成します。最も代表的なIPフィルター基準(IP Filter Criteria)の例を示します。filter criteriaがtrueとなる条件を指定します。

  1. メニュー > IPフィルター基準(IP Filter Criteria)を開く
  2. “新規(New)”ボタンを押下してフィルター基準作成画面を開く
  3. 名前、説明、IP範囲、サブネット(CIDR)を指定
    – IP範囲: 範囲の開始と終了を指定します(例: 0.0.0.0~255.255.255.255)
    – サブネット(CIDR): ネットワークアドレスとサブネットマスクを指定します(例: 126.40.0.0/16)※ サブネットマスクが16ビットの場合は、”255.255.0.0″ではなく”16″と指定するので注意です
  4. “送信(Submit)”ボタンを押下して保存する

IPフィルター基準(IP Filter Criteria)の設定例

認証ポリシー(Authentication Policy)の作成

フィルター基準を組み合わせてポリシーを作成します。

  1. メニュー > 適応認証(Adaptive Authentication) > 認証ポリシー(Authentication Policies) > すべてのポリシー(All Policies)を開く
  2. “新規(New)”ボタンを押下してポリシー作成画面を開く
  3. 名前を入力した上で”送信(Submit)”ボタンを押下し、保存する
    この際、デモデータを参考に、名前の中にデフォルトポリシーとしてどちらを指定する前提のポリシーなのかを書いておくと設定ミスを防げると思われます
  4. “ポリシーの入力(Policy Inputs)”タブでこのポリシーで使うfilter criteria(フィルター基準)を指定する
  5. “ポリシー条件(Policy Conditions)”タブで各フィルター基準がどうなっていればこの認証ポリシーがtrueと判定されるかを指定する

下図は「基本的には企業の内部ネットワークからのアクセスに限定するが、予め登録されたモバイルアプリに対してのみ外部ネットワーク(インターネット)からのアクセスを許可する」ポリシーの設定例です。

認証ポリシー(Authentication Policy)の設定例

事前認証/承認後のコンテキスト(Pre-/Post-Authentication Context)

ポリシーと認証コンテキストを紐づけます。事前の場合を例に説明します。

  1. メニュー > 適応認証(Authentication Policy) > 認証ポリシーのコンテキスト(Auth Policy Contexts)> 事前認証のコンテキスト(Pre Authentication Context)を開く
  2. デフォルトポリシーを設定する
  3. 上記で定義した許可/拒否ポリシー(Allow/Deny Policy)を設定する
    デフォルトポリシーに”許可ポリシー(Allow Policy)”を設定した場合は許可ポリシー(Allow Policy)項目を、”拒否ポリシー(Deny Policy)”を設定した場合は拒否ポリシー(Deny Policy)項目を設定します。
  4. “保存(Save)”ボタンを押下して保存する
    保存すると、画面下部関連リストの”ポリシーの入力”タブおよび”ポリシー条件”タブに、設定したポリシーが自動で表示されます

事前認証ポリシーコンテキスト(Pre Authentication Policy Context)の設定例

おわりに

最近はユーザ企業側のクラウド利用に関するポリシーもしっかりしてきており、導入の際にこのあたりを聞かれることも多くなってきました。まだ設定していない場合は、すぐに設定することをお勧めします。

以上です。