2014年8月27日水曜日

Amazon WorkSpacesとMulti-Factor Authentication (2段階認証/多要素認証) を使った接続実験


■概要
先日、Amazon WorkSpacesでMFA(Multi-Factor Authentication)認証ができるようになったという発表があり、早速この機能を試してみました(詳細はこちら)。
環境は、前回のActive Directory連携を行ったものに追加設定する形で行い、Radius認証にはOpenOTPを、MFAデバイスはAndroid端末のGoogle Authenticatorを使用しました。

■構成図
今回試した構成は下記の通りです。
 
構成図


■設定方法など
上記構成を構築するため、今回はおおよそ下記の設定を行いました。
※前回構築した部分は省略しています。


  • OpenOTP構築
    今回は素のCentOS 6.5 64bitにインストールして構築しましたが、開発元からはVirtual Appliance版もダウンロード可能です。
    • OSインストール
      一部パッケージのインストールやポート開放等々。DB(今回はMySQL)も使えるようにしておきます。
    • WebADMインストール
      今回使用したものはOpenOTPやその他ツール、管理コンソールを全て含んだものです。
      (WebADM with WebApps & Web Services)
    • OpenOTP Radius Bridgeインストール
      OpenOTPをRadius認証機能を追加するパッケージ
    • Active Directory側設定
      役割に、「Active Directory 証明書サービス」を追加し、再起動しておきます。
      これが無いとLDAPS(LDAP over SSL)が有効になりません。
    • WebADMのConfig設定
      Configファイルの設定。Active DirectoryでOpenOTPを使用する設定を行います。
      (詳細はインストールマニュアルを参照してください)
    • Radius Client設定
      WorkSpaces側のDirectory IP Address(2つ)を、Radius BridgeのConfigファイルに追記し、アクセス許可設定をします。

  • WebADM設定
    OpenOTPのWeb管理コンソール。
    • WebADM初期設定
      ここでWebADM & Radius Bridgeサービスを起動。
      ブラウザでサーバーIPを指定し、Web管理コンソールにログイン、「Run Setup Wizard」から各種初期設定。
    • WebADM LDAP Domain追加(オプション)
      デフォルト設定ではUsersコンテナの下に居るユーザーしか検索してくれないため、ユーザー格納OUが別にある場合などはWebADM LDAP Domainを追加しておきます。
      追加したDomainのUser Search Baseを希望のOUにすればOK。
    • OTP Authentication Server設定
      最初は「Not Registered」になっているので、REGISTERしておきます。
      設定は殆どデフォルトで良いですが、Login ModeはOTPにする必要があります。
      OTP Authentication Server設定完了後


    • ユーザー有効化&トークン登録
      OTP認証したいユーザーを選択し、ActivateしてOpenOTP機能を有効に。
      その後OTP Authentication Serverリンクからトークン(MFAデバイス)の登録を行います。
      (タイムベースのGoogle Authenticatorで登録。QRコードが表示されるのでそれを端末で読み取り)

      トークン登録画面

  • Amazon WorkSpaces側設定
    • Multi-Factor Authentication設定
      Update DetailsからMulti-Factor Authenticationを開き、構築したOpenOTPサーバーをRadiusとして登録します。
      尚、現状OpenOTP Radius BridgeはPAPしかサポートしていないため、CHAPその他だと認証に失敗します。
      Radiusサーバー登録画面



      しばらくした後「RADIUS Status:Completed」となれば完了です




■WorkSpacesに接続

通常通りWorkSpaces Clientで接続します。



 
ドメインアカウントの認証

ユーザー認証後、OTP認証の画面が表示されます

Google Authenticatorに表示されているコードを入れます

接続中・・・
ログイン完了!


■その他気になる点・補足
  • WorkSpaces側でMulti-Factor Authenticationを設定してしまうと、全ユーザーが2段階認証必須になってしまう
    2段階認証無しと有りのユーザーを混在させる事ができないため、段階的な導入が難しい。
  • OpenOTP Radius Bridge側のサポートプロトコルがPAPのみ
    すぐに使えなくなるとはいえ、OTPコードが平文で流れるのは多少不安。
  • OpenOTPのトークン登録
    今回の手順では管理コンソールから登録を行っていますが、WebADMに同梱されているUser Self Service DeskやToken Self-Registrationを使用する事で、利用ユーザーが自分でトークン登録を行う事も可能です。


■所感

オンプレミスVDIに比べ、WorkSpacesでは様々な場所からのアクセスが想定されるため、2段階認証が可能になった事は非常に心強いです。

2段階認証を設定するにはRadiusに対応したOTP認証サーバーが必要になるなど、多少設定の敷居は高くなりますが、本番運用の際は是非導入する事をおすすめします。

(これを書いていたらWorkSpacesが東京リージョンで利用可能になったとの発表がありました。次の検証はこれですかね)



■最後に宣伝

今回OpenOTPを使用してMFAを実現しました。このOpenOTPですがなかなか優れものです。
MFAを実現したいけれど、設計、構築はちょっと。。と思われる方がいらっしゃたら、私の会社、プログマインドで承りますので、御相談下さい。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。