AWSユーザーの方はMFA(多要素認証)の設定は既にお済みでしょうか。
本記事では、AWSアカウントのセキュリティを高めるために推奨されるMFAとは何かといった基本的な情報から、実際の設定方法についてご紹介していきます。
AWSのMFA(多要素認証)とは
AWSに限らずですが、近年のWebサービスではセキュリティ向上のためにMulti-Factor Authentication(MFA)を導入するサービスが増えています。
MFAは名前の通り、従来からあるログインIDとパスワードでの認証といった方式に加えて、もう1つの認証方式を必要とさせる機能です。
MFAのメリット
MFAを利用するメリットは、パスワード認証の場合よりもセキュリティ面で大きく向上することにあります。
パスワード認証だけの場合、どれだけ複雑なパスワードを設定したとしても漏洩してしまえばなりすましのリスクが高まりますし、何より1つの認証方法だけに頼るのは昨今のセキュリティ対策としては不十分だと言えます。
MFAでは後述する認証手段の違いを組み合わせることにより、悪意のあるユーザーからの攻撃で1つの認証手段が破られたとしても他の認証手段によりデータを守ることが可能です。
認証手段の違い
MFAの認証手段には「知識情報」「所持情報」「存在情報」の3パターンによる方式が存在します。
知識情報
AWS利用者も普段使っている「ID」と「パスワード」による認証など、ユーザーのみが知り得る情報により認証を行うのが「知識情報」です。
他にも「暗証番号」やパスワードを忘れた際の「秘密の質問」などが該当します。
所持情報
MFAとして良く利用される方法で、利用者が持つ端末やICカードを活用し、ワンタイムパスワードやデジタル証明書といった手段で認証を行うのが「所持情報」です。
今回の記事で説明するAWSのMFAについても、こちらの所持情報を認証手段として活用していきます。
存在情報
利用者自身の特徴により判別する方法で、指紋認証や顔認証といった手段で認証を行うのが「存在情報」です。
iPhoneを始めとしたスマートフォンなどで良く用いられる認証手段です。
MFAデバイスの種類
上述した所持情報でMFAを行う場合、必要となるデバイスですが大きく3種類に分けることが出来ます。
仮想MFAデバイス
仮想MFAデバイスは、主にスマートフォンなどにインストールして利用するアプリケーションです。
有名どころでは「Google Authenticator」などが挙げられます。
ご自身のスマートフォンにアプリをダウンロードするだけで無料で利用出来るので最も手軽な方法といえます。
U2Fセキュリティキー
U2FセキュリティキーはUSB接続で認証出来るデバイスです。
コンピューターのUSBポートに専用端末を接続することで、本人であることの認証が行われます。
ハードウェアMFAデバイス
ハードウェアMFAデバイスは、時間同期されるワンタイムパスワードアルゴリズムに基づいて6桁の数値コードを生成する端末です。
端末のボタンを押すことで、パスワードが発行されサインインプロセス中に有効なコードを入力することで本人認証が行われます。
MFA(多要素認証)と2段階認証
MFAと勘違いしやすい認証方式に2段階認証の存在が挙げられます。
MFAも2段階以上の認証方式を利用するという意味では同じなのですが、厳密には定義が異なるため確認しておきましょう。
多要素認証
多要素認証は「知識情報」「所持情報」「存在情報」の中から2つ以上の認証方式を組み合わせて認証を行うことを指します。
AWSのアカウント作成時に設定したパスワード認証とスマートフォンのMFAアプリケーションによるワンタイムパスワードの認証を組み合わせた場合、「知識情報」と「所持情報」の認証方式が採用されているため、多要素認証として成立していることになります。
一方で、パスワード認証に加えて秘密の質問で認証を行うような場合、どちらも「知識情報」での認証方式となってしまうため厳密にいうと多要素認証ではないということです。
2段階認証
2段階認証は、認証方式は関係なく、2回に渡って認証確認を実施する方式を呼びます。
代表的なものとしては、パスワード認証を実施したあとに登録済みのスマートフォンやメールアドレスへ認証コードを送信し、再度認証コードを入力することでログイン出来るようなシステムです。
一見「知識情報」と「所持情報」の多要素認証とも言えそうですが、メールアドレスが分かっていれば本人の所持する端末でなくても認証コードを確認することは可能ですので、こういったケースは2段階認証に分類されています。
AWSでMFAを設定する方法
ここからは実際にAWSでMFAを設定する方法についてご紹介していきます。
AWSアカウントを作成した後、なるべく早くに設定しておきたい内容ですので、未設定の方は早めに対応しておきましょう。
ルートユーザーにMFAを設定
まずはAWSにルートユーザーとしてログインしておきます。
トップページからナビゲーションバーのアカウント情報をクリックし、「マイセキュリティ資格情報」を選択します。
セキュリティ認証情報の画面が開くので、「多要素認証(MFA)」から「MFAの有効化」ボタンをクリックします。
上述した3種類のMFAデバイスを選択出来るので任意の方式を選び「続行」ボタンをクリックします。
サンプルでは「仮想MFAデバイス」を選択した状態で進めていきます。
仮想MFAデバイスの設定画面が表示されるので、「QRコードの表示」リンクをクリックし、表示されたQRコードをスマホなどの端末で読み取ってMFAコードを入力します。
スマートフォンにはMFA用のアプリケーションをインストールしている必要があります。
App StoreやGoogle Playで「Google Authenticator」を検索するとヒットするはずなので、特にMFAアプリケーションにこだわりがない方はこのアプリをインストールしておきましょう。
インストールしたアプリからQRコードを読み取るとMFAコードが表示されますので、2回分ポップアップ画面の項目に入力します。
入力が完了したら「MFAの割り当て」ボタンをクリックします。
画像のように「仮想 MFA が正常に割り当てられました」と表示されていれば完了です。
ログイン確認
では一旦AWSアカウントをログアウトして再度ログインしてみましょう。
前回と同じように、ルートユーザーを選択した状態でIDとパスワードを入力してログイン作業を進めていきます。
パスワード入力まで完了すると、MFA設定前には表示されていなかった認証画面が表示されます。
サンプルの場合、スマートフォンにインストールしたMFAアプリケーションを開き、表示されるMFAコードを入力して「送信」ボタンをクリックします。
AWSコンソールのトップページが表示されれば、MFAの認証が成功していることになります。
さいごに: AWSにMFAを導入してセキュリティ対策を見直そう
本記事では、AWSアカウントのセキュリティ向上には欠かせないMFA(多要素認証)についての基本的な情報からAWS上での実際の設定方法までご紹介してきました。
セキュリティ意識が高まる昨今、AWSに限らず様々なサービスでMFA設定を行うことが大切になってきています。
AWSユーザーの方でまだMFAの設定が完了していない方は、簡単に設定することが出来ますのでこの機会にぜひ対応しておきましょう。
多要素認証と2段階認証を厳密に使い分けていない情報も多いので、文脈から判断する必要があることも少なくないことは意識しておきましょう。