【AWSにおけるセキュリティ】冗長バーチャルMFA
よく訓練されたアップル信者、都元です。さっきはヤられました…。早速ボスに「同じネタの記事書いちゃったんですよーww」という話をしたら、想像通りのドヤ顔を頂きました。ごちそうさまでした。
さて、マジで悔しいので再びMFAネタ。
MFAを滅失した場合
前のエントリで説明した通り、アカウントのセキュリティ向上にはMFAが有効です。特にルートアカウント(非IAMアカウント)はアカウントの解約までできてしまう、最も強い権限を持っていますので、是非ともMFAを活用したいところです。
しかし、MFAというのは基本的に個人に帰属してしまいがちなデバイスです。業務で利用するAWSアカウントについて、そのルートアカウントにMFAを設定した場合、そのMFAを持ち歩くのは、恐らくそのプロジェクトの責任者ということになります。
では、その責任者がMFAと共に、何らかの事故に巻き込まれてしまった場合、どうなるでしょうか。
一応最後の手段として、Amazonに無効化を依頼することができますが、セキュリティの問題ですので、おいそれと簡単に解除してくれるとは考えづらいわけです。少なくとも、電話が掛かってくるようですし。その間、緊急を要する対応が必要になったら…。
管理権限の冗長化
という状況に備えるためには、ルートアカウントのパスワードは要人2〜3名で共有しておく、というのがビジネス上必要な対応かと思います。サーバだけでなく、管理権限もマルチAZ化ですね。しかし、1つのアカウントに複数のMFAを設定することはできません。と、ここで考えるのをやめてしまうと、ルートアカウントにはMFAを登録しない、という判断をしてしまいます。
確かに、ハードウェアMFAを利用する場合、このような管理権限の冗長化は実現できません。しかし、バーチャルMFAであれば話は別です。
バーチャルMFA登録時に現れるQRコードを、複数人(要人2〜3名)のデバイスで読み込めばいいのです。
これにより、読み込んだ全てのデバイスにおいて、同じ認証コードが表示されるようになります。当然、通常通りの利用方法と比べると堅牢性は低下しますが、「MFA無し」よりは遥かにセキュアです。また、前述の管理権限の冗長化もきちんと実現できます。このような小細工が出来ないという点で、ハードウェアMFAはバーチャルMFAよりも堅牢ですが、バーチャルMFAには手軽さの他に、運用上のメリットもある、ということです。
いざMFAの登録を検討し始めると、「もしMFAの電池が切れてしまったら…」「失くしてしまったら…」等、様々な想像をして、結果的には「その話は無かったことに…」といった結論に落ち着いてしまうことがあります。が、工夫次第で運用上の不安を解消しつつ、セキュリティの担保ができるので、是非とも躊躇せず、MFAを積極利用して頂きたいと思っています。