凡人エンジニアの自分探し旅

AWSやクラウドサービス、英会話についての話題を発信するインフラエンジニアのブログ

AWS WorkSpacesの2段階認証を実現させた

 

2段階認証とは

セブンpayの不正アクセス問題は記憶に新しいと思います。原因はセキュリティの甘さと指摘がされています。1つの原因として2段階認証を採用していなかったからでは?という声が上がっています。
実は2段階認証を採用することで、今のセキュリティリスクを99%軽減させることができます。AmazonアカウントやSNSなど2段階認証することをお勧めします。

構築する環境

AWSが提供する仮想デスクトップサービス(WorkSpaces)を2段階認証にするために別のサービス(onelogin)と連動して実現させることが出来ました。WorkSpacesだけでは2段階認証は実現できないので、外部サービスを使用しています。

<利用するサービス>
 ・Onelogin(外部サービス)
 ・SimpleAD
 ・ADConecter
 ・EC2(OneloginとSimpleADをつなぐサーバ)
 ・WorkSpaces

f:id:ma-kun0610:20200526221746j:plain

WorkSpaces -2段階認証-

構築手順

今回は手順が多いため、サーバワークスさんのURLリンクを貼っておきます。
http://blog.serverworks.co.jp/tech/2019/03/07/onelogin-workspaces01/

AWS SimpleADを構築する
WindowsでEC2を作成し、①で作成したドメインに参加させる
③ADConecterとSimpleADを連携させる
④Oneloginの無料トライアルアカウントを作成する
⑤Oneloginダッシュボードよりインストーラをダウンロードし、②で作成したEC2上にインストールする
⑥OneloginとSimpleADが連携され、Onelogin上にActiveDirectory情報が自動連携される
⑦Onelogin上で詳細設定を行う(RADIUSサーバ設定含む)
⑧ADConecterをOneloginと連携させる。
⑨WorkSpacesを構築する。
⑩2段階認証が設定されたログイン画面が登場し設定完了となる。
 左がスマホにインストールしたワンタイムパスワードのアプリケーション
 右がWorkSpacesのログイン画面

f:id:ma-kun0610:20200526232747j:plain

2段階認証ログイン画面

ハマったところ

WorkSpaces構築時にSimpleADから正常にユーザ情報が取得できない

f:id:ma-kun0610:20200526233637j:plain

SimpleADからユーザ情報が取れない

ADConecterとSimpleADを連携させる際の権限が足りていないことが原因と分かり、以下の手順を行うことで解消しました。

<AD Connector の前提条件 - 権限をサービスアカウントに委任する>

2段階認証のパスワードは間違っていないのにログインできない

Onelogin管理画面のRADIUS設定誤りにより、ログイン認証が通らなかった。
Credentialsを正しく設定することで解消しました。

f:id:ma-kun0610:20200526234901j:plain

RADIUS設定

感想

コロナウィルスの影響で自宅から会社のシステムに接続するケースが多くなっていると思います。AWSWorkSpacesは簡単に仮想デスクトップを構築でき、とても良いサービスだと思います。気軽さゆえにセキュリティ対策はよく考える必要があると思います。
セキュリティについてもう少し勉強しようと思い、「もしも社長がセキュリティ対策を聞いてきたら」という本を読んでみようと思っています。この本は某外資系企業のセキュリティスペシャリストの方からお勧めされた本です。読み終えたら、読書感想文を書きたいと思います。