Windows Server Essentialsでは、外出先などの外部ネットワークからローカルリソースにアクセスできる「Anywhere Access」の機能があります。具体的には、
- リモートWebアクセス(RWA)
- Webブラウザベースのファイルアクセス
- RDゲートウェイ
- VPN
になります。
ここでは、リモートWebアクセス(RWA)で利用されるIISのフォーム認証をMFAで保護することを考えます。
IISの保護はオンプレミスのAzure MFA サーバーが必要
Azure MFA(Multi-Factor Authentication)を用いて、オンプレミスサーバーでも多要素認証を利用するでも示しましたが、Azure ADアプリケーションプロキシを介さないローカルのIISの認証を保護する場合、オンプレミスにMFAサーバーを構成することが必要になります。
この場合、MFAサーバーはWindows Server Essentials上にインストールすることも可能です。
VPNやRDゲートウェイの認証を多要素認証で保護する場合、MFAサーバーとWindows Server Essentials(NPSサーバー)は別のサーバーである必要があります。
1. Azure Multi-Factor Authentication Serverのインストール
- Azure Multi-Factor Authentication Server のダウンロードの手順に従い、Windows Server EssentialsにAzure MFAサーバーをダウンロードします。
- Azure Multi-Factor Authentication Server のインストールと構成の手順に従い、Azure MFAサーバーをインストールします。
Azure MFAの利用には、Visual C++ 2015 Runtimeが必要となるため、未インストールの場合はインストールが求められます。[Install]を押下すると、自動的にインストールが行われます。グループへの参加は特に必要がなければデフォルトのまま、マルチサーバー構成ウィザードもデフォルトのまま完了させます。
[終了]を押下すると、サーバーが再起動します。
- Active Directory からのユーザーのインポートの手順に従い、ADのユーザーのインポートとActive Direcotryとの自動同期を構成します。
3. ユーザーポータルの設定
- Azure Multi-Factor Authentication Server のユーザー ポータルを参照しながら、WebサービスSDKのインストールとユーザーポータルのインストールを行います。
- ユーザーポータルのインストールが完了したら、ユーザーポータルの設定を行います。
ユーザーポータルURLには、https://xxx.remotewebaccess.com/MultiFactorAuth (xxxは自身で設定したDDNSのアドレス)と入力します。
クライアントPCから上記のアドレスにアクセスすると、ユーザーがセルフコントロールで認証要素を管理することができます。
4.IIS認証の設定
- Multi-Factor Authenticationサーバーの左側ペインでIIS認証を押下します。
- フォームベースタブを開き、[追加]を押下します。
- ログインURLに、https://xxx.remotewebaccess.com/remote と入力して[OK]を押下します。
- 追加された送信URLを選択して[編集]を押下します。
- よくみると、送信URLが正しく設定されておらず、Remoteの後ろに[/./]が入っています。これを削除して、正しいURLに編集し、OKを押下します。
(誤)https://xxx.remotewebaccess.com/Remote/./logon?ReturnUrl=%2fremote
(正)https://xxx.remotewebaccess.com/Remote/logon?ReturnUrl=%2fremote
- [IIS認証を有効にする]にチェックを付けます。
5.認証方法の設定
- 管理者が設定する場合は、Multi-Factor Authenticationサーバーのユーザーを開き、Active Directoryからインポートしたユーザーを開きます。
- 国コードで[Japan +81]を選択、携帯電話の電話番号を入力します。
- 認証方法を[電話][テキストメッセージ][モバイルアプリ][OATHトークン]から選択します。PINを利用する場合は、PINコードを入力しておきます。
- ユーザーに登録させる場合は、あらかじめMulti-Factor Authenticationサーバーのユーザーポータル>[設定]を開き、[ユーザーにログインを許可する][ユーザー登録を許可する]にチェックを付けておきます。
また、ユーザーが選択できる認証方法もチェックボックスで指定しておきます。
リモートWebアクセスへのログイン
ユーザーは、これまで通りリモートWebアクセスにログインします。
すると、第二要素での認証が完了するまではログイン後の画面が表示されないようになります。たとえば、電話を指定した場合、Microsofからユーザーの電話に機械音声で電話がかかってきます。
ダイヤルボタンからあらかじめ指定したPINを入力し、#を押下することで認証が完了し、ログイン後の画面が表示されるようになります。