仮想化エンジニア奮闘記

Citrix や VMware といったサーバー・デスクトップ仮想化の最新技術や設計情報の検証結果を共有します。(本ブログは個人のものであり、所属する会社とは関係ありません。)

MFA(多要素認証) でルートアカウントを保護せよ!

皆さまお疲れ様です。

初めての記事としてMFAを使ったルートアカウントの保護について記事にします。

※本記事は投稿時点(2018年9月9日時点)の情報となります。

 

 

 

1. MFA利用の背景

私のように個人でAWSアカウントを作成した場合、作成したアカウントはルートアカウントとして特権が与えられています。

そのため、ルートアカウントでは例えばEC2インスタンスの作成や削除などを始めとした各種サービスの利用・停止が自由に行えます。

 

ただAWSのルートアカウントは既定ではアカウント作成時に設定したパスワードのみで保護されています。

従って仮にパスワードが流出したり、ブルートフォース攻撃などを受けてAWSのルートアカウントが乗っ取られた場合、、、

 

不正にインスタンスを上げられて払えないほどの金額請求となってしまった!」

止まってほしくないシステムが止められてしまった!

 

などが発生するわけです。

 

そのため、AWSではMFAを用いて「通常のパスワード」と「ワンタイムパスワード」による多要素認証を推奨しています。

 

今回はこのMFAについて説明をしたいと思います。

 

 

2. MFAとは?

MFAとは Multi Factor Authentication (多要素認証) の略となります。

AWSでは「ハードウェアMFAデバイス」や「仮想MFAアプリケーション」をサポートしています。ハードウェアMFAデバイスは下記のようなデバイスとなります。

 

↓ ハードウェアMFAデバイス

f:id:kenta53682:20180814203759p:plain

 

仮想MFAアプリケーションとしてはスマホアプリの「Google Authenticator」や「Authy」があります。(Android / iPhoneで使用できます。)

 

ハードウェアMFAデバイスや仮想MFAアプリケーションともに、TOTP (RFC6238) を仕様としたワンタイムトークンを発行しています。

 

TOTPとはサーバーとクライアントで共有する秘密鍵と現在時刻から、確認コードを計算するアルゴリズムとなります。時刻がずれると計算結果がずれるため、クライアントとサーバの時刻がある程度一致している必要があります。

30秒に1回確認コードが変更されるため、(完全にワンタイムではないけれども) ワンタイムパスワードとして動作する形となります。

 

AWSコンソールにログインする際に「ユーザーID」「パスワード」を入力した後、MFAコードを入力する欄が表示されます。

ここでハードウェアMFAデバイスか仮想MFAアプリケーションに表示されたコードを入力することでAWSコンソールにログインすることができます。

 

 

3. MFAの設計

AWSでは下記のようにハードウェアMFAデバイスと仮想MFAアプリケーションを利用することを推奨しているようです。

ハードウェアMFAデバイス:ルートアカウントで使用。ハードウェアは金庫などに保管しておき、必要時のみ取り出すようにする。

仮想MFAアプリケーション:個人毎のIAMアカウントで使用。個人に貸与されたスマホなどに仮想MFA対応アプリを導入。

 

 

4. MFAの料金

ハードウェアMFAデバイスはデバイス購入の料金はかかりますが、MFAを使用することに対しての追加料金は発生しません。

 

 

5. MFAを使用してみる

それではアカウントをMFAで保護してみましょう。

1) まずはAWSマネジメントコンソールからIAM画面に移動し、「MFAの管理」を行います。

f:id:kenta53682:20180814205924p:plain

 

2) 今回は「仮想MFAデバイス」を行います。

f:id:kenta53682:20180814210040p:plain

 

3) スマホの仮想MFAアプリでQRコードを読み込み、表示された2つの連続したコードを入力します。

f:id:kenta53682:20180814210242p:plain

 

4) 正常にいけば下記画面が表示されます。続いてログインをしてみましょう。

f:id:kenta53682:20180814210536p:plain

 

5) ログイン画面ではまずパスワードを入力し、続いてMFAコードを入力してログインします。

f:id:kenta53682:20180814211024p:plain → f:id:kenta53682:20180814211142p:plain

 

 

6. アカウントを乗っ取られた場合

仮にMFAを使っておらずアカウントを乗っ取られてしまった場合、気づいた時点で即AWSサポートに問い合わせを行いましょう。(とAWSの人は言っていました。)

 

勿論、そもそもアカウントを乗っ取られないようにMFAを使用されていない方は今すぐ使用して下さいね。そして万一の時は即サポート問い合わせ!これを忘れないようにしましょう。

 

 

※参考URL

Multi-Factor Authentication

 

 

それでは本日は以上となります。

ありがとうございました。