元ネタ
AWSのWell-Architected Frameworkを改めて整理。せっかくなんでハンズオン形式で学べるAWS Well-Architected Labsをやってみよう!ということで、備忘も兼ねて実践&記録をしてみました。
前提条件
- AWSアカウントがあること
- rootユーザーでログインできること。
ハンズオン開始
0. 概要
前提条件にもある「rootユーザー」とは、AWSで最初に作成するシングルサインIDです。メールアドレスとパスワードでサインインします。当然ながら、全てのAWSサービスとリソースへ完全にアクセス可能であるため、例外的に使用するのが良いとされています。
通常は別途IAMで作成したIDを使用して運用しましょう。
と言っても、このハンズオンではrootユーザー前提で記述されています。
なぜなら最低限これだけはしとけよ!って設定なのでrootユーザーにも適用すべきだからです。
1. 認証情報レポートの作成とレビュー
AWSを継続的に使用するつもりなら何が既に設定されているかを把握すべきです。特に以下の状況ではチェックするようにしましょう。
- 組織に変化があった場合
- 個別のAWSサービスの使用を停止した場合。不要なアクセス許可を見直しましょう。
- 新しいサービスやインスタンスなどを追加または削除した場合
- 不正アクセスが疑われる場合
- 定期的に。
また、チェックには以下のガイドラインが有効です。
- 徹底的に!普段使わないものも含めて、あらゆる側面でチェックする。
- 明確に!納得いくまで詳細を明確にして調査する。
- よりシンプルに!管理を用意にするために、一貫した、かつ、単純なポリシーを使用する。
- より詳細はAWSセキュリティ監査ガイドラインを参照しましょう。
認証情報ダウンロード手順
- AWSマネジメントコンソールよりIAMコンソールを開いてください。
- 左のナビゲーションより「認証情報レポート」を選択してください。
- 「認証情報レポートをダウンロード」をクリックして、レポートをダウンロードしてください。
2. rootユーザーに対する仮想MFAデバイスの有効化
rootユーザーに対しても仮想MFAデバイスを設定して有効にしましょう。
MFAデバイスを紛失、盗難、または動作しない場合も想定されます。アカウントに紐づく電子メールと電話番号を登録することにより代替の認証が可能となるので、登録とアクセス確認を忘れずに行いましょう。
仮想MFAデバイス 有効化手順
- AWSマネジメントコンソールよりIAMコンソールを開く。
- 下記いずれかの方法で「自分の認証情報」ページへアクセスする。
- IAMダッシュボードより「Quick Links」にある「自分の認証情報」をクリックする。
- ナビゲーションバーの左端にあるアカウント名をクリックし、「セキュリティ認証情報」をクリックする。
- 「多要素認証(MFA)」にある「MFAデバイスの割り当て」をクリックする。
- ウィザードに従い、「デバイス名」を入力、「MFA device」を選択し、「次へ」
- 仮想MFAソフトウェアが複数の仮想MFAデバイスをサポートしている場合は、新しい仮想デバイスを作成する。
- 「デバイスの設定」にて、「QRコードの表示」を選択。
- 仮想MFAソフトウェアにて、QRコードをスキャンする。
- スキャンにより仮想デバイスが作成され、6桁の数字が生成される。1つ目の6桁の数字を「MFAコード1」へ入力し、しばらく経ってから表示される次の6桁の数字を「MFAコードコード2」に入力する。
- 「MFAの追加」をクリックし、MFAが追加されていることを確認する。
3. 「秘密の質問」の設定
アカウントに紐づく「秘密の質問」も設定しておきましょう。
秘密の質問の設定手順
- 「アカウント」ページを開く。
- 「秘密の質問」の「編集」をクリックして、3つの質問と答えを入力する。
- 「更新」をクリックする。
4. 代替連絡先の登録
代替連絡先を登録すると、不在の場合でも、AWSはアカウントの問題に対して代替連絡先に連絡できます。
代替連絡先の設定手順
- 「アカウント」ページを開く。
- 「代替連絡先」の「編集」をクリックして、「請求」、「オペレーション」、または「セキュリティ」の各々に対して代替連絡先として、「氏名」「役職」「Eメール」「電話番号」を設定する。
- 「更新」をクリックする。
5. rootユーザーのアクセスキーの削除
アクセスキーとは、AWSのプログラムによるリクエストを行う際に使用します。ただし、rootユーザーのアクセスキーは使用するべきではありません。
6. rootユーザーのパスワードを定期的に変更する
パスワードの定期的な変更は良い習慣です。
パスワードの変更手順
- 「アカウント」ページを開く。
- 「アカウント設定」にて「編集」をクリックする。
- 「パスワード」で「編集」をクリックし、「現在のパスワード」、「新しいパスワード」及び「新しいパスワードの確認」を入力する。
- 「変更の保存」をクリックする。
AWS では、パスワードが次の条件を満たす必要があります。 - 最小 8 文字、最大 128 文字。- 大文字、小文字、数字、! @ # $ % ^ & * () <> [] {} | _ + - =
記号の文字タイプを少なくとも 3 つ組み合わせて含めます。- AWS アカウント名またはメール アドレスと同一であってはなりません。
7. パスワードポリシーの設定
パスワードポリシーを設定して、IAMユーザーのパスワードの複雑さの要件と必須のローテーション期間を指定できます。
パスワードポリシーの設定手順
- AWSマネジメントコンソールよりIAMコンソールを開く。
- 左のナビゲーションより「アカウント設定」を開く。
- 「パスワードポリシー」の「編集」をクリックして、パスワードポリシーを設定する。
- 「変更を保存」をクリックして、設定されたパスワードポリシーを確認する。