2017/07/01

AWSアカウント取得したらこれだけはやっておきたい必須設定

AWSアカウント時の諸々をまとめてみました。
セキュリティ、コスト関連が主なので忘れない内にやっておきたい。

アジェンダ

  • セキュリティ関連
    • CloudTrailの有効化
    • ルート用アクセスキー、シークレットキーの削除
    • MFA(他要素認証)の有効化
    • パスワードポリシーの設定
    • IAM個人用ユーザ設定(ユーザー&グループ作成、権限設定)
  • 請求関連
    • 請求情報へのIAMユーザーアクセス許可
    • 請求レポートの有効化
    • 支払通貨の変更
    • 予算の設定
  • その他
    • TrustedAdvisorの有効化
    • Configの有効化

セキュリティ関連

CloudTrailの有効化

  • CloudTrailとは
    • 以下のようなセキュリティ系のロギングをするサービス
      • ユーザーからのAPIコール
      • 管理コンソールの操作
      • aws cli操作
    • ログはS3にJSON形式で保存
    • 一部対応していないサービスがあるので注意。詳しくは以下参照
      • http://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/cloudtrail-supported-services.html#cloud-trail-supported-services-aws-support
  • 設定手順
    1. サービス一覧 –> CloudTrail –> いますぐ始める
    2. CloudTrailの有効化メニューで以下選択
      • 「証跡名」を入力
      • 「すべてのリージョンに適用」で「はい」
      • 「管理イベント」で「すべて」
      • 「新しいS3バケットを作成しますか」で「はい」
      • 「S3バケット」でCloudTrail用のバケット名(「cloudtrail-xxxxx」等)

ルート用アクセスキー、シークレットキーを削除

  • 基本的に別途作成する個人名ユーザでアクセスするので、ルートアカウントのキーは全て削除します。
  • 設定手順
    1. 右上のアカウントメニュー –> セキュリティ認証情報 –> アクセスキー
    2. 何もキー類が存在しない事を確認

MFA(他要素認証)の有効化

  • パスワード認証 + テンポラリコード入力方式に変更します。
  • 設定手順
    1. アカウントメニュー –> セキュリティ認証情報 –> MultiFactorAuthentication(MFA) –> MFAの有効化
    2. スマホに「Google認証システム」アプリをインストール
    3. 仮想MFAデバイスを選択(スマホでのGoogle認証システム等での認証となります)
    4. MFA設定画面にQRコードが表示されるので、Google認証システムを起動して読込み
    5. Google認証システムに表示されるテンポラリコードを2回入力します

パスワードポリシーの設定

デフォルトだとセキュリティがかなりゆるいです
(2017.07時点でAWSデフォルトはパスワード長6桁、その他アルファベット大文字/小文字、数字、記号の区別無し) **総当り攻撃を食らった場合、6桁だとアルファベット大文字/小文字 + 数字 + 記号を駆使しても、
早ければ数分でヒットします(以下URLはOSへのアタック時の例ですが2分24秒程でヒット)**
http://www.appps.jp/173365/
「10桁以上、大文字小文字 + 数字 + 記号」に変える事をおすすめします。

  • 設定手順
    1. サービス一覧 –> IAM –> アカウント設定
    2. 以下設定
      • パスワードの最小長10桁
      • 少なくとも1つの大文字が必要
      • 少なくとも1つの小文字が必要
      • 少なくとも1つの数字が必要
      • 少なくとも1つの英数字以外の文字が必要

IAM個人ユーザー設定

  • 設定手順
    1. サービス一覧 –> IAM –> ユーザー –> ユーザーを追加
    2. ユーザー名、アクセスの種類、パスワードを選択
    3. アクセス権限を設定
      • グループの作成(必要なポリシーを選択してグループ作成)
    4. 完了画面で以下の内容をひかえておいてください。(ルートログイン後のIAMメニューからも後で確認できます。)
      • IAMユーザーのログインURL
      • IAMユーザーのログインパスワード

請求関連

請求情報へのIAMユーザーアクセス許可

ルートアカウントは頻繁に使用しないので運用で使うIAMユーザから請求書情報アクセス可能にします。

  • 設定手順
    1. アカウントメニュー –> IAM ユーザー/ロールによる請求情報へのアクセス –> 編集
    2. 「IAMアクセスのアクティブ化」にチェックして「更新」

請求情報の通知設定

  • 設定手順
    1. サービス一覧 –> 請求 –> 設定
    2. 「電子メールでPDF版請求書を受け取る」にチェックして「設定の保存」

請求レポートの有効化

  • 設定手順
    1. サービス一覧 –> 請求 –> レポート –> レポートの作成
    2. 「明細項目の選択」欄で以下設定
      • 「レポート名」で任意のレポート名(「billing-xxxx」等)
      • 「時間単位」で「時間別」
    3. 「配信オプションの選択」欄で以下設定
      • 「S3バケット」欄のサンプルポリシーのリンク内の内容をコピー
    4. ここでS3バケット作成
      • サービス一覧 –> S3 –> バケットを作成する
      • 「バケット名」欄にレポート用S3バケット名を指定(「billing-xxxx」等)
      • 一旦作成を完了して「アクセス権限」メニューから「バケットポリシー」を選択
      • バケットポリシーに先程のサンプルポリシーの内容をコピペ
    5. 「配信オプションの選択」メニューに戻り作成したS3バケット名を指定
      • 「確認して完了」

支払通貨の変更

円払いに変更する場合は以下設定

  • 設定手順
    1. アカウントメニュー –> お支払通貨の設定 –> 編集
    2. デフォルト「USD」–> 「JPY」に変更

予算の設定

  • 月額予算を設定し、現行コストの進捗確認が出来る。
  • 設定手順
    1. サービス一覧 –> 請求 –> 予算 –> 予算の作成
    2. 「予算の作成」欄で以下設定
      • 「名前」欄で任意の名前を指定(「budget-xxxx」等)
      • 「コストまたは使用量を選択」でいずれかを選択
      • 「通知」欄で通知基準を作成(現行コストが予算の75%を超えたら電子メールxxx@xxxへ通知 等)

その他

TrustedAdvisorの通知設定

  • 通知設定をするとコスト最適化、パフォーマンス最適化に関するアドバイスをメールでしてくれます。
  • 設定手順
    1. アカウントメニュー –> 代替の連絡先
    2. 「請求」「操作」「セキュリティ」それぞれに関して、名前、役職、メールアドレス、電話番号を入力
    3. サービス一覧 –> TrustedAdvisor –> 通知設定
    4. 以下設定
      • 「請求に関する連絡先」にチェック
      • 「オペレーションに関する連絡先」にチェック
      • 「セキュリティに関する連絡先」にチェック
      • 「通知の言語」を「日本語」に変更

参考

  • AWSでアカウント作ったら最初にやるべきこと
    • https://www.slideshare.net/NobuhiroNakayama/jawsug2aws-50630885
  • AWSのアカウント開設後にすべき事をまとめてみた
    • http://dev.classmethod.jp/cloud/aws/after_get_aws_account/
  • IAMのベストプラクティス
    • http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html