Windows Server 2016 ADFS × Azure MFAで多要素認証

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

今日はOffice 365 Advent Calendar 2017に参加して、本投稿を書いています。

■Office 365 Advent Calendar 2017
https://adventar.org/calendars/2585

Office 365へのサインインのうち、50%がADFSサーバーを使ったサインインだといわれているので、そのADFSサーバーへのサインインをAzure ADの多要素認証と組み合わせて強化していく方法について見てみたいと思います。

ADFSサーバーで多要素認証を実装すると言ったら、基本的に証明書認証一択だったと思いますが、Azure AD Premium P1で提供されるAzure MFAを組み合わせると、Azure MFAの電話認証等がADFSサーバーでも利用できるようになります。

この設定自体は以前からあったのですが、Azure ADで提供されるツールをインストールするなどの作業がなくなったので、簡単に利用できるようになりました。
(以前提供していたツールって、インストール後のウィザードが複雑すぎて何をすれば正解なのか、よくわからなかったりして、実装には色々と苦労させられてたんですよね..)

ではさっそく、簡単になったAzure MFAをWindows Server 2016と組み合わせて設定する方法について実装方法をみていきましょう。

準備

Azure AD Premium P1以上のライセンスとADFSサーバーによるAzure ADシングルサインオン環境が必要です。
実はこれが一番のハードルだったりします。。

Azure MFAを利用できるようにするための初期設定

Azure MFA用の証明書の作成、証明書とAzure MFAのアプリIDを組み合わせてSPNを作成、ADFSと関連づける設定、この3つをPowerShellで実行します。

$certbase64 = New-AdfsAzureMfaTenantCertificate -TenantID <ドメイン名>
New-MsolServicePrincipalCredential -AppPrincipalId 981f26a1-7f43-403b-a875-f8b09b8cd720 -Type asymmetric -Usage verify -Value $certBase64
Set-AdfsAzureMfaTenant -TenantId <ドメイン名> -ClientId 981f26a1-7f43-403b-a875-f8b09b8cd720

Azure MFAのアプリIDは981f26a1-7f43-403b-a875-f8b09b8cd720って決まっているので、そのまま入力するだけ。TenantIdにはAzure AD Connectのコネクタスペースの名前が入りますが、それはすなわちActive Directoryのドメイン名になります。

Azure MFAの利用開始

Windows Server 2016のADFSサーバーで管理ツールを開き、以下の設定を行います。

1.[サービス]-[認証方法]から[多要素認証方法の編集]を開き、[Azure MFA]を有効にします。

image

2.[証明書利用者信頼]からMicrosoft Office 365 Identity Platformのアクセス制御ポリシーを開き、[すべてのユーザーを許可し、MFAを要求]を選択します。

image

以上で設定は終わりです。
ちなみに、[サービス]-[認証方法]から[プライマリ認証方法の編集]を開いて、[Azure MFA]を使うように設定する必要はありません。

ユーザーの設定

多要素認証方法を選択しておく必要があります。
多要素認証方法の設定はAzure ADに直接保存されるので、Azure ADが提供する多要素認証の初期設定サイト(https://aka.ms/mfasetup)にアクセスし、電話番号などを設定してもらいます。

アクセスしてみる

Office365のサイトにアクセスしようとすると、ADFSサーバーのURLにアクセスしたとたん、事前に設定した多要素認証の方式に従い、電話またはアプリを使った認証が始まります。

image

ちなみに、社外からアクセスするときにパスワードを入力しないで、Azure MFAだけを使うように設定することも可能です。

この設定自体、それほど複雑なものではないと思いますが、これがWindows Hello for Businessのハイブリッド展開を行う上で欠かせない設定要素になりますので、覚えておきましょう。

明日のAdvent Calendarは@teracwoさんです。お楽しみに。

■参考
Configure AD FS 2016 and Azure MFA
https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/operations/configure-ad-fs-and-azure-mfa