X
    Categories: Azure MFA

Azure MFA(Multi-Factor Authentication)を用いて、オンプレミスサーバーでも多要素認証を利用する

以前、Windows Server Essentialsに手軽にワンタイムパスワードを利用したMFA(多要素認証)を追加できる、ESET Secure Authenticationを試してみた(国内未販売)で、多要素認証を導入できるESET製のソフトウェア/サービスを紹介しました。

多要素認証の背景

昨今、人口減少/生産労働人口の減少に伴い、働き方改革や生産性向上が叫ばれるようになりました。その流れの中で在宅労働などもようやく真剣に議論されるようになってきましたが、これらの実現には企業におけるリソースが内部ネットワークだけでなく、外部ネットワークからも場所を意識することなくアクセスできることが求められてきます。

一方、企業ネットワークに対する攻撃は激しさと巧妙さを増す一方で、セキュリティに対する観点からは、従来のユーザーID/パスワードを利用した「ユーザーが知っている」ことによる認証だけでなく、「ユーザーが持っている」もの、あるいは「ユーザーの生体情報」を使った多要素認証へのニーズも高まっています。

以前紹介したESET Secure Authenticationは非常によくできていて、Windows Server Essentialsのあらゆる認証にそれぞれ指定して多要素認証を導入でき便利なのですが、国内では販売されていません。また、3rdパーティのソフトウェア/サービスでは不安というむきもあるかもしれません。

そのため、国内でも正式に入手できるMicrosoftのMFA(Multi-Factor Authentication、以下MFA)ソリューションをみてみたいと思います。

Microsoftの多要素認証(Muti-Factor Authentication)への取り組み

Microsoftでも、MFAについては以前から取り組んでおり、Azure、Office 365サービスのなかで提供されており、以下の3つのバージョンがあります。

このうち、Microsoftのクラウドサービス以外でも利用できる汎用的なMFAは、Azure Multi-Factor Authentication(以下、Azure MFA)となります。

Azure MFAの2つの展開方法

Azure MFAには、クラウドに展開する方法とオンプレミスに展開する方法の2種類があります。

Azure MFAの中でも、クラウドに展開する場合は「クラウドのAzure Multi-Factor Authentication」、オンプレミスに展開する場合は「Multi-Factor Authentication サーバー」と記載されるケースが多いですが、このあたりの概念/言葉の整理がいまいちなのは、発展してきた歴史のせいもあるのですが、Microsoftらしいなと感じます。

機能の差異

クラウドとオンプレミスで保護できる対象がまず異なります。

以下の表のように、クラウド上のアプリケーションの保護はオンプレミスのサーバーが苦手とするのに対し、オンプレミス上のIISサイトはクラウドのAzure MFAは保護が現時点ではできません。

オンプレミスにあるVPNやRDGでも、NPSサーバーからMFAサーバーに対して認証を振り分けて連携することできるためMFAサーバーの場所は問いませんが、IISサイトの場合は現時点ではクラウドのMFAでは保護できません。

また、保護されるユーザーアカウントがどこで管理されているかによっても、この2つを使い分ける必要があります。

多様な認証方法に対応

Azure MFAには以下のような認証方法が用意されており、ユーザーの利用するスマートフォンなどを使った多要素認証を容易に実現することができます。

確認方法 概要
音声通話 ユーザーの登録済みの電話番号が呼び出されます。 ユーザーは、必要に応じて PIN を入力した後、# キーを押します。
SMS 6 桁のOTP(ワンタイムパスコード)を含むテキスト メッセージがユーザーの携帯電話に送信されます。

ユーザーは、サインイン ページでこのコードを入力する(One-Way)か、届いたSMSに対してあらかじめ定めたPINを付加して返信する(Two-Way)を選択することができます。

スマートフォンアプリへの通知 確認要求がユーザーのスマート フォンに送信されます。 ユーザーは、必要に応じて PIN を入力し、モバイル アプリで [確認] を選択します。
スマートフォンアプリでの確認コード表示 ユーザーのスマート フォンで実行されているモバイル アプリには、30 秒ごとに変更される確認コードが表示されます。 ユーザーは、最新のコードを確認し、サインイン ページでそのコードを入力します。
サード パーティの OATH トークン サード パーティの確認方法を受け入れるように Azure Multi-Factor Authentication Server を構成できます。

これらの認証方法のうちどれを利用するかは、ユーザーごとに指定をすることができます。以下は、オンプレミスのMFAサーバーにおける管理者用の画面です。

また、ユーザーポータル画面から認証方法や携帯電話番号などを変更することもできます。以下は、オンプレミス用のユーザーポータル画面の例です。

Microsoftのドキュメントに記載があまりみられませんが、オンプレミスのIISを保護する場合、SMSのOne-Way認証(SMSでOTPが送信され、それをユーザーが入力する方式)は利用できません。

OTPを追加入力するフォームがサポートされないためですが、留意が必要です。

スモールビジネスでも多要素認証を手軽に導入

クラウドベースのソリューションだから、中小企業でも導入が容易

Azure MFAはクラウドベースのソリューションのため、SMSやアプリを利用した多要素認証を容易に導入できます。

利用料が安価だから中小企業でも導入できる

Azure MFAはMicrosoftのAzure内で提供されるクラウドベースのサービスでコストが比較的低いのも特徴です。

課金体系はユーザー単位、認証トランザクション単位がありますが、ユーザー単位でみても年間契約ではありますが1ユーザーあたり\142.80/月と安価に利用できます。

これまではこういった多要素認証を利用する場合、3rdパーティーの認証ソリューションを利用するのが一般的でした。

古くから使われている例だと、RSAのSecureIDなどのハードウェア/ソフトウェアベースのワンタイムパスワードがよく知られています。

しかし、これらのソリューションは往々にして高価なことが多く、またそれぞれのベンダー製品に関する運用知識を身に着ける必要もあり、中小企業にとっては敷居が高かったのもまた事実かと思います。

Azure MFAは、Azure Active Directoryの無料、Basicプランでも利用することができますので、\142.80/月から使えるなら導入したいという中小企業/(一部の)個人でも容易に導入できます。

Windows Server EssentialsとAzure MFA

公式なドキュメントでは紹介されていませんが、Azure MFAは、Essenetials エディションを含むWindows Server Essentialsエクスペリエンスでも利用できそうです。

次は、Windows Server Essentialに、Azure MFAを統合して多要素認証を実現することを考えてみます。

ださっち: