条件付きアクセスで多要素認証の初期設定を行える場所を制御

皆さんこんにちは。国井です。

このブログを書いている今日(2020年4月10日)はCOVID-19の影響でリモートワークに切り替えている方も多いと思います。リモートワークに切り替えるIT Guyが増えるとブログのPVが減るって現象、私だけなんですかね?

■ ■ ■

多要素認証(MFA)はセキュリティのことを考えれば、もはや必須のテクノロジーだと思いますが、会社の中で利用開始するためには電話番号を登録する、Microsoft Authenticatorアプリでアカウントのマッピング設定を行う、などの初期設定をしなければなりません。
しかし、その登録は社内で行いたいというニーズは一定数あります。例えば「Azure ADのアカウントを外出先で使うのは構わないけど、初期設定だけは必ず社内で行ってほしい」のようなニーズです。

その場合、条件付きアクセスの[セキュリティ情報の登録]を利用すれば実現できます。

MFAの有効化

まずはMFAを有効化しておきましょう。
MFAの有効化はAzure AD管理センターのユーザー画面から設定してもいいですし、条件付きアクセスで設定してもよいでしょう。

image

MFAの登録場所の定義

[セキュリティ情報の登録]設定を利用するときは、

1.MFAの登録場所を[ネームドロケーション]設定でIPアドレスの定義
2.[条件付きアクセス]設定で登録場所以外の場所からアクセスしようとした場合にはブロックする設定

をそれぞれ行います。
まず、[ネームドロケーション]設定はAzure AD管理センター画面で、[サインイン]-[ネームドロケーション]からIPアドレスを登録します。
IPアドレスの登録はCIDR形式で入力する必要があるので、例えば社内からのアクセスのみ許可という設定をする場合であれば、社内のグローバルIPアドレスを確認したうえで、グローバルIPアドレスが1.2.3.4であれば、1.2.3.4/32のように入力します。

続く[条件付きアクセス]設定はAzure AD管理センター画面で、[サインイン]-[条件付きアクセス]から登録します。条件付きアクセスポリシーは以下のようなパラメーターで設定します。

■ユーザーとグループ:すべてのユーザー
■クラウドアプリまたは操作:ユーザーの操作/セキュリティ情報の登録
■条件:場所/対象-すべての場所/対象外-ネームドロケーションで作成した場所
■許可:アクセスのブロック
■ポリシーの有効化:オン

image

ここまでの設定ができれば準備完了です。
※このときに注意したいのは上の設定で対象を[すべてのユーザー]としましたが、いきなりすべてのユーザーで設定するべきではありません。設定をしくじったときに誰もAzure ADにサインインできなくなる可能性があるからです。
必ず最初は一部のユーザーだけを登録してテストしてください。

実際にアクセスしてみる

まずは社外からアクセスしてみます。ユーザー名とパスワードを入力し、サインインに成功した後、ご覧のような画面で、先にはアクセスできなくなります。予定どおりですね。

image

続いて社内からのアクセス。前と同じようにユーザー名とパスワードを入力し、サインインに成功すると、MFAの登録画面が登場します。
ちなみに下にあるMFAの登録画面、URLが https://aka.ms/setupsecurityinfo になっていて、これまでにMFAの登録に使っていた https://aka.ms/mfasetup とは異なる画面になっています。
今までの画面との大きな違いは https://aka.ms/setupsecurityinfo から登録した場合、MFAの登録とセルフサービスパスワードリセット機能のパスワードリセット用電話番号の登録が同時にできる点にあります。

登録画面では、Microsoft Authenticatorのアプリを入れるように促され、iOSまたはAndroidでアプリを入れたら、次へ進んで、

image

QRコードの読み取り画面が出てくるので、アプリからQRコードを読み取ると登録は完了です。

image

続いて電話番号の登録も要求されます。これはセルフサービスパスワードリセット機能で使われるほか、Microsoft Authenticatorアプリが付かなかった時のMFAの代替手段として登録しておくものです。

image

それぞれの登録が完了すると、MFAの登録は完了です。
これ以降は、社内・社外関係なくAzure ADのサインインができるようになります。

ちなみになんですが、登録が完了した後で社外から https://aka.ms/setupsecurityinfo にアクセスしたら見事にブロックされました。つまり、条件付きアクセスの[セキュリティ情報の登録]機能って、単なる https://aka.ms/setupsecurityinfo サイトへのアクセス制御機能だったんですね。

そもそも社内は信頼できる場所なのか?

「社内から●●したい」という話はよく聞く話です。今回、ここに書いた話もそのひとつです。ただ、ここまで書いておいてアレなんですけど、「初期設定を社内で行いたい」という発想は社内なら安全という考えに基づくものだと思います。業務の都合上、会社に出向くことが難しいという声はよく聞きますし、この投稿を書いている今はCOVID-19の影響でそもそも会社に行けなくなっていることを考えると、場所をベースに●●するという考えを改める良いきっかけになるのではないかと思います。
今回は場所をベースにするというポリシーで条件付きアクセスを設定しましたが、条件付きアクセスの[セキュリティ情報の登録]機能を利用するのであれば、例えばデバイスが安全であることを担保した上で登録を許可する、のような運用のほうがいまどきなように思います。

■参考情報
https://docs.microsoft.com/ja-jp/azure/active-directory/authentication/howto-registration-mfa-sspr-combined
https://docs.microsoft.com/ja-jp/azure/active-directory/authentication/concept-registration-mfa-sspr-combined