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
- 以下のようなセキュリティ系のロギングをするサービス
- 設定手順
- サービス一覧 –> CloudTrail –> いますぐ始める
- CloudTrailの有効化メニューで以下選択
- 「証跡名」を入力
- 「すべてのリージョンに適用」で「はい」
- 「管理イベント」で「すべて」
- 「新しいS3バケットを作成しますか」で「はい」
- 「S3バケット」でCloudTrail用のバケット名(「cloudtrail-xxxxx」等)
ルート用アクセスキー、シークレットキーを削除
- 基本的に別途作成する個人名ユーザでアクセスするので、ルートアカウントのキーは全て削除します。
- 設定手順
- 右上のアカウントメニュー –> セキュリティ認証情報 –> アクセスキー
- 何もキー類が存在しない事を確認
MFA(他要素認証)の有効化
- パスワード認証 + テンポラリコード入力方式に変更します。
- 設定手順
- アカウントメニュー –> セキュリティ認証情報 –> MultiFactorAuthentication(MFA) –> MFAの有効化
- スマホに「Google認証システム」アプリをインストール
- 仮想MFAデバイスを選択(スマホでのGoogle認証システム等での認証となります)
- MFA設定画面にQRコードが表示されるので、Google認証システムを起動して読込み
- Google認証システムに表示されるテンポラリコードを2回入力します
パスワードポリシーの設定
デフォルトだとセキュリティがかなりゆるいです
(2017.07時点でAWSデフォルトはパスワード長6桁、その他アルファベット大文字/小文字、数字、記号の区別無し)
**総当り攻撃を食らった場合、6桁だとアルファベット大文字/小文字 + 数字 + 記号を駆使しても、
早ければ数分でヒットします(以下URLはOSへのアタック時の例ですが2分24秒程でヒット)**
http://www.appps.jp/173365/
「10桁以上、大文字小文字 + 数字 + 記号」に変える事をおすすめします。
- 設定手順
- サービス一覧 –> IAM –> アカウント設定
- 以下設定
- パスワードの最小長10桁
- 少なくとも1つの大文字が必要
- 少なくとも1つの小文字が必要
- 少なくとも1つの数字が必要
- 少なくとも1つの英数字以外の文字が必要
IAM個人ユーザー設定
- 設定手順
- サービス一覧 –> IAM –> ユーザー –> ユーザーを追加
- ユーザー名、アクセスの種類、パスワードを選択
- アクセス権限を設定
- グループの作成(必要なポリシーを選択してグループ作成)
- 完了画面で以下の内容をひかえておいてください。(ルートログイン後のIAMメニューからも後で確認できます。)
- IAMユーザーのログインURL
- IAMユーザーのログインパスワード
請求関連
請求情報へのIAMユーザーアクセス許可
ルートアカウントは頻繁に使用しないので運用で使うIAMユーザから請求書情報アクセス可能にします。
- 設定手順
- アカウントメニュー –> IAM ユーザー/ロールによる請求情報へのアクセス –> 編集
- 「IAMアクセスのアクティブ化」にチェックして「更新」
請求情報の通知設定
- 設定手順
- サービス一覧 –> 請求 –> 設定
- 「電子メールでPDF版請求書を受け取る」にチェックして「設定の保存」
請求レポートの有効化
- 設定手順
- サービス一覧 –> 請求 –> レポート –> レポートの作成
- 「明細項目の選択」欄で以下設定
- 「レポート名」で任意のレポート名(「billing-xxxx」等)
- 「時間単位」で「時間別」
- 「配信オプションの選択」欄で以下設定
- 「S3バケット」欄のサンプルポリシーのリンク内の内容をコピー
- ここでS3バケット作成
- サービス一覧 –> S3 –> バケットを作成する
- 「バケット名」欄にレポート用S3バケット名を指定(「billing-xxxx」等)
- 一旦作成を完了して「アクセス権限」メニューから「バケットポリシー」を選択
- バケットポリシーに先程のサンプルポリシーの内容をコピペ
- 「配信オプションの選択」メニューに戻り作成したS3バケット名を指定
- 「確認して完了」
支払通貨の変更
円払いに変更する場合は以下設定
- 設定手順
- アカウントメニュー –> お支払通貨の設定 –> 編集
- デフォルト「USD」–> 「JPY」に変更
予算の設定
- 月額予算を設定し、現行コストの進捗確認が出来る。
- 設定手順
- サービス一覧 –> 請求 –> 予算 –> 予算の作成
- 「予算の作成」欄で以下設定
- 「名前」欄で任意の名前を指定(「budget-xxxx」等)
- 「コストまたは使用量を選択」でいずれかを選択
- 「通知」欄で通知基準を作成(現行コストが予算の75%を超えたら電子メールxxx@xxxへ通知 等)
その他
TrustedAdvisorの通知設定
- 通知設定をするとコスト最適化、パフォーマンス最適化に関するアドバイスをメールでしてくれます。
- 設定手順
- アカウントメニュー –> 代替の連絡先
- 「請求」「操作」「セキュリティ」それぞれに関して、名前、役職、メールアドレス、電話番号を入力
- サービス一覧 –> TrustedAdvisor –> 通知設定
- 以下設定
- 「請求に関する連絡先」にチェック
- 「オペレーションに関する連絡先」にチェック
- 「セキュリティに関する連絡先」にチェック
- 「通知の言語」を「日本語」に変更
参考
- 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