66
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

アイレット株式会社Advent Calendar 2024

Day 8

AWSアカウントで最初にすべきセキュリティ設定 おすすめ9選【設定ハンズオンあり】

Last updated at Posted at 2024-12-07

本記事の立ち位置:7割合格のセキュアなAWSアカウント環境が作れる!

みなさん、AWSアカウントのセキュリティ設定は捗っていますか?:angel:
イマイチ何をして良いか分からないという方も多いのではないかと思います。

運用保守エンジニア8年生が「おすすめのAWSセキュリティ設定」を9つご紹介します!

以下流れで説明するので気になるところをつまんで見て頂ければ幸いです。

  • 前半:設定AWSサービス&最近のクラウドセキュリティ脅威を紹介
  • 後半:ハンズオン

【対象読者】
・AWS初心者の方
・AWS環境の運用保守に関するヒントが欲しい方
・AWSセキュリティサービスをおさらいしたい方

【説明しないこと】
・各AWSサービスの詳細
・アカウント、IAMユーザなどの各関連の事前作成
・セキュリティアラートの通知設定

サービス詳細も知りたい!という方は AWS Builders Online Series 今⽇からスタート! AWS セキュリティ 初めの⼀歩 のPDF資料をぜひご参照あれ。

AWS運用をされている皆さんの一助になってほしいなと、長文ですがお付き合いください:hugging:

[0] はじめに

  • 本ページは2024/12月時点の各種ドキュメントを参照して作成しています
  • 最新情報等については各種公式ドキュメントの確認をオススメします

設定するAWSサービス紹介

おすすめする設定項目は下図掲載の項目になります。

image.png

AWS Security Hubの「AWS 基本的なセキュリティのベストプラクティス」をベースにおすすめする設定項目や有効化するAWSサービスをピックアップしました。

  • ルート/ IAM ユーザ(MFA設定)
  • AWS IAM Access Analyzer
  • AWS Config
  • AWS CloudTrail
  • AWS Trusted Advisor
  • Amazon GuardDuty
  • AWS Security Hub
  • Amazon EBS(デフォルト暗号化)
  • Amazon S3(パブリックアクセスブロック)

なぜこの9項目を選んだか?

セキュリティといえばIPA。ということで、IPAのWebサイトから「クラウドセキュリティ11大脅威」を見つけました。

  • 1位:不十分なアイデンティティ、クレデンシャルおよびアクセスと鍵の管理、ならびに特権アカウント
  • 3位:設定ミスと不適切な変更管理

image.png
出展:CSA - Top Threats to Cloud Computing - Pandemic Eleven

クラウドセキュリティ脅威は「アカウントや設定変更の管理」にあり。
IAM管理と設定変更によるミスを検知、もしくは設定出来ないように出来れば良いのでは?と考え、それらの対策が可能な項目をアカウント開設時に実施してしまおう!というスタンスです。これでみんなはっぴーです。

結論:AWS Security Hubを有効化 / 運用しよう

AWS 基本的なセキュリティのベストプラクティスの標準」はAWSのベストプラクティスに沿っているか定期的にスキャンをして設定状況のチェックができます。

つまり、Security Hubを有効化し、検知された項目をひたすら修正することでセキュリティ対策はほぼ完了です。オメデトウゴザイマス!:clap:

しかし
AWS知識が薄いとなかなかに運用のハードルが高い。
(項目も多く取捨選択の判断が難しい...😿)

AWS知識が無いから何を設定すれば良いか分からん!
そのような悩みを抱えた皆さん向けに重要となる項目を紹介するのでぜひご覧あれ👀

  • クラウドセキュリティを担保出来るサービスを知れる
  • ある程度セキュアな状態でAWS環境を使い始められる

それではハンズオンスタートです!一緒にがんばりましょう💪💪

[1] ハンズオン開始:desktop:

今回のハンズオンでは以下の項目を順番に設定します。
image.png

本記事では「東京リージョン」に限定して実施します。
リージョンを確認するサービスは、全リージョン有効化が推奨されています。

運用するAWSアカウント環境の必要要件に応じて他リージョンも同手順で実施ください。

1. ルート / IAM ユーザ MFA設定

対応することで下記のSecurity Hubチェック項目がクリアされます。

設定方法は公式ドキュメントを参照。

1-1. IAMユーザ MFA設定

IAMユーザでログインします。
IAMユーザを作成していない場合はコンソールサインイン可能なIAMユーザを別途作成します。

①マネコン上部の検索バーで「IAM」を検索してクリック
image.png

②MFAを自分用に追加 > [MFA を追加]をクリック
image.png

「セキュリティに関するレコメンデーション」はAWSのベストプラクティスに沿った推奨設定が表示されます。
運用時のトラブル軽減のためにも警告が出ている際は都度内容を確認すると幸せになれるかもしれません。

③MFAデバイスを選択 > 下記設定 > 画面下部[次へ]をクリック

  • デバイス名:[IAMユーザ名]
  • デバイスオプション:パスキーまたはセキュリティキー

今回のハンズオンでは2024/6月に新たに設定可能となった「パスキー」をMFAに利用します。

④[続行]をクリック
image.png

各端末によって挙動が変わる箇所になります。
各自で利用しているパスワード管理アプリを利用、スマホを利用、Chromeプロフィールを利用 etc...。状況に応じて設定をお試しください。

【(例)パスキーをスマホに保存する】
[別の方法で保存] > [スマートフォン、タブレット、またはセキュリティ...]をクリック

image.png

表示されたQRコードを手元のスマートフォンで読取り > デバイス側の指示に従いパスキーをデバイスに保存する
image.png

⑤多要素認証(MFA)に「パスキーとセキュリティキー」が保存されて登録完了
image.png

⑥別ブラウザ or シークレットウィンドウでルートアカウントにサインイン可能か確認する

サインアウトしてしまうと登録失敗時にサインイン出来なくなる可能性があります。
「別ブラウザ」もしくは「シークレットウィンドウ」でパスキーを使用したログインが出来ることを確認しましょう!

万が一失敗している際はルートアカウント、もしくは他の権限を持っているIAMユーザでMFA設定を削除する必要があります。

1-2. ルートアカウント MFA設定

ルートアカウントでログインします。

①マネコン上部の検索バーで「IAM」を検索してクリック
image.png

②rootユーザーのMFAを追加する > [MFA を追加]をクリック
image.png

③MFAデバイスを選択 > 下記設定 > 画面下部[次へ]をクリック

  • デバイス名:root-passkey
  • デバイスオプション:パスキーまたはセキュリティキー
    image.png

(手順④のMFA登録は[1-1]と同じのため省略)

⑤多要素認証(MFA)に「パスキーとセキュリティキー」が保存されて登録完了
image.png

⑥別ブラウザ or シークレットウィンドウでルートアカウントにサインイン可能か確認する

サインアウトしてしまうと登録失敗時にサインイン出来なくなる可能性があります。
「別ブラウザ」もしくは「シークレットウィンドウ」でパスキーを使用したログインが出来ることを確認しましょう!

2. AWS Config 有効化

対応することで下記のSecurity Hubチェック項目がクリアされます。

言語によって緊急度の記述に差異がありました。

  • 日本語・・・重要度: 中
  • 英語・・・・Severity: Critical

今回は英語ドキュメントを基準に掲載します。

2-1. AWS Config を有効化する

①マネコン上部の検索バーで「Config」を検索してクリック

②マネコン画面の右上部でリージョンが「東京」であることを確認する
image.png

③「1-Click セットアップ」をクリック
image.png

④[確認]をクリック
image.png

⑤AWS Config用のIAMロール、S3バケットが作成される

  • IAMロール:AWSConfigServiceRolePolicy
  • S3バケット:config-bucket-[AWSアカウントID]
  • image.png

⑥AWS Configの有効化が完了
image.png

  • 左ペイン:リソースより、変更履歴を確認することが可能
  • 自動復旧などのより高度な管理を行う場合は「ルール」を設定する

【設定される概要説明】

  • IAM以外の設定変更が記録される
  • AWS環境内に設定変更がある度に記録がされる(コスト増 影響あり)
  • コスト増を気にする場合は、「日次記録」へ変更するとコストが抑えられる
    • 「設定」> レコーダー:[編集]から、記録頻度を[日次記録]に変更

3. AWS IAM Access Analyzer 外部アクセス有効化

対応することで下記のSecurity Hubチェック項目がクリアされます。

3-1. AWS IAM Access Analyzer 外部アクセス を有効化する

①マネコン上部の検索バーで「IAM」を検索してクリック
image.png

②左ペイン:アクセスアナライザーをクリック > 画面右上部でリージョンが「東京」であることを確認
image.png

③[アナライザーを作成] をクリック
image.png

④信頼ゾーン:組織のアカウントを選択(他はデフォルト)> [アナライザーを作成]をクリック
image.png

メンバーアカウントの場合「信頼ゾーン」は基本的に選択不可となります。
選択肢が表示されていない場合は手順をスキップしてください。

AWS Organizations利用の管理アカウントは「現在の組織」が推奨です。
管理アカウント→メンバーアカウントへの許可設定は検知されない挙動になり、過検知が減らせます。

⑤外部アクセスアナライザーが作成され、有効化が完了します。
image.png

4. AWS CloudTrail 証跡有効化

対応することで下記のSecurity Hubチェック項目がクリアされます。

4-1. AWS CloudTrail 証跡を作成する

①マネコン上部の検索バーで「CloudTrail」を検索してクリック
image.png

②画面右上部でリージョンが「東京」であることを確認
③[証跡の作成]をクリック
image.png

④証跡名、ログ保存先のS3バケットを指定 > [証跡の作成]をクリック
※今回はデフォルト設定のまま作成
image.png

「クイック証跡の作成」ではなく、通常の証跡作成画面が表示される場合は以下参照します。

  • 証跡名:handson-management-event
  • ストレージの場所:(デフォルト)
  • ログファイルの SSE-KMS 暗号化:有効
  • カスタマー管理の AWS KMSキー:新規
  • AWS KMS エイリアス:handson-cloudtrail-management-event-key
  • その他の設定
    • ログファイルの検証:有効

image.png

他項目はデフォルト設定で [次へ] > [証跡の作成] をクリック
image.png

【管理イベントのコストについて】
証跡が1つだけであれば管理イベントの保存は無料です。

進行中の管理イベントのコピーを 1 つ無料で Amazon Simple Storage Service (S3) バケットに配信できます。
https://aws.amazon.com/jp/cloudtrail/pricing/

しかし、他に証跡が作成されている場合は、2つ目の「管理イベント」の保存は課金対象 になります。複数証跡がある際は管理イベントでコストが肥大化する可能性もあるため注意が必要です。

⑤証跡の作成が完了
image.png

【クイック証跡作成の設定内容】

  • マルチリージョンの証跡が作成される
  • 管理イベント:APIアクティビティすべてが記録対象
  • データイベント:設定なし(=S3バケットやLambdaなどのAPIコールは記録されない)
    • S3バケット等のログを取得する場合は別途データイベントの設定が必要になる
      image.png

クイック証跡作成では「SSE-KMS」のみ有効化されません。
あとから変更することも可能なため、より強固な設定とする場合はSSE-KMSを有効化しましょう。

5. Amazon GuardDuty 有効化

対応することで下記のSecurity Hubチェック項目がクリアされます。

5-1. Amazon GuardDuty を有効化する

①マネコン上部の検索バーで「GuardDuty」を検索してクリック
image.png

②画面右上部でリージョンが「東京」であることを確認
③[Amazon GuardDuty - すべての機能]をチェック > [今すぐ始める]をクリック
image.png

④[GuardDuty を有効にする]をクリック
image.png

⑤GuardDutyの有効化が完了
image.png

どの程度のコストが発生しているか気になる場合は、左ペインの「使用状況」から確認が出来ます。
有効化してから30日間は無料トライアルでコストは発生しません。
試算する際はトライアル期間にお忘れなくです。
image.png

6. Amazon EBS デフォルト暗号化設定

対応することで下記のSecurity Hubチェック項目がクリアされます。

6-1. Amazon EBS デフォルト暗号化を設定する

①マネコン上部の検索バーで「EC2」を検索してクリック
image.png

②画面右上部でリージョンが「東京」であることを確認
③[データ保護とセキュリティ]をクリック
image.png

④EBS暗号化:[管理]をクリック
image.png

⑤常に新しい EBS ボリュームを暗号化:有効化にチェック > [EBS 暗号化を更新する]をクリック
image.png

暗号化キーはAWSマネージドキーを利用します。
セキュリティ要件に応じて各自で作成したKMSのカスタマーマネージドキー(CMK)をデフォルトに設定することも可能です。

⑥EBSデフォルト暗号化の有効化が完了
image.png

7. AWS Trusted Advisor 活用

AWS Trusted Advisorはデフォルトで有効化されています。

「コスト最適化」「パフォーマンス」「セキュリティ」「耐障害性」「サービス制限」「運用上の優秀性」を推奨事項に沿っているか定期チェックしてくれる神サービスです。(しかも無料)

ただし、サポートプランによって機能制限があり、チェック可能な範囲が変わってきます。

  • デベロッパー:サービスクォータ / ベーシックなセキュリティチェック
  • ビジネスプラン:チェックのフルセット
  • エンタープライズ:チェックのフルセット(優先順位&推奨事項付き)
  • パートナー経由でアカウント契約されているケース etc...

後述するAWS Security Hubを活用する前に、まずは予行練習でAWS Trusted Advisorのセキュリティ項目をチェックする運用も検討の余地ありです!

【無料でチェック可能なセキュリティ項目】

  • Amazon EBS パブリックスナップショット
  • Amazon RDS パブリックスナップショット
  • Amazon S3 バケット許可
  • セキュリティグループ - 制限されていない特定のポート
  • ルートアカウントの MFA

全チェック項目は下記リンク参照。

7-1. AWS Trusted Advisor 活用

①マネコン上部の検索バーで「Trusted Advisor」を検索してクリック
image.png

②非推奨設定が存在する場合、推奨されるアクション等にカウントされる
image.png

サポートプランがビジネスプラン以上の方はコスト削減のアドバイスも表示されるます。セキュリティ以外の用途でもAWS Trusted Advisorを覗いてみると幸せになれるかもしれません。
image.png

7-2. AWS Trusted Advisor 通知設定

①左ペイン:通知 > [アカウント設定]をクリック
image.png

②代替連絡先「請求」「オペレーション」「セキュリティ」の連絡先にそれぞれ通知先を追加する
image.png

③言語:日本語を設定 > [詳細設定を保存]をクリック > 設定が完了
image.png

8. AWS Security Hub 有効化

サービス利用時は、事前に「AWS Config」有効化する必要があります。

AWS環境のセキュリティ状態を可視化 / 管理するためのサービスです。

CSPM(クラウドセキュリティポスチャマネージメント) 相当の機能となり、セキュリティのベストプラクティスや業界標準(CISベンチマーク)に基づいたセキュリティ基準チェックを自動的かつ継続的にチェックして設定ミスを特定することに貢献するサービスです。

AWS Trusted Advisorを有効化してスコアを100%にすること。
これがAWS環境のセキュリティ強化の一番の近道です。

本記事のほぼ全てはこのサービスに詰まっています。

8-1. AWS Security Hub を有効化する

①マネコン上部の検索バーで「Security Hub」を検索してクリック
image.png

②画面右上部でリージョンが「東京」であることを確認

③[Security Hub に移動]をクリック
image.png

④セキュリティ基準:[AWS 基礎セキュリティのベストプラクティス v1.0.0 を有効にする] にチェック > [Security Hubの有効化]をクリック
image.png

セキュリティ基準でCISベンチマーク等の要件が無ければ「AWS 基礎セキュリティのベストプラクティス」を選択で良いです。
チェックしたいベンチマークに応じて設定を行います。

⑤「AWS 基礎セキュリティのベストプラクティス v1.0.0」が有効化される
image.png

⑥しばらく時間を開けるとスコアが表示され完了
image.png

Tips : 全ての修正は不要です。
必要な項目だけ検知する仕組み作りが大切です。

  • セキュリティスコアは100%となる運用を目指す
  • まずは「重大度:重要」から対処
  • 対処不要な項目は「無効」「抑制」として無視する

image.png

9. Amazon S3 パブリックアクセスブロック設定有効化

対応することで下記のSecurity Hubチェック項目がクリアされます。

9-1. Amazon S3 パブリックアクセスブロック設定を有効化する

この設定はアカウント内の全S3バケットに適用されます。
既に運用中で影響が分からない場合は、影響範囲の確認から進めることをおすすめします。

無理に全体へ適用せず、各S3バケット個別でブロックアクセスを有効化もひとつの手となります。状況に応じてご検討ください。

①マネコン上部の検索バーで「S3」を検索してクリック
image.png

②左ペイン:このアカウントのブロックパブリックアクセス設定 > [編集] をクリック
image.png

③[パブリックアクセスをすべて ブロック]にチェック > [変更の保存]をクリック
image.png

既にS3バケットがある場合は確認画面が表示されます。

「確認」を入力 > [確認]をクリック
image.png

④AWSアカウント全体のS3バケットに対して、パブリックアクセスブロック設定有効化が完了
image.png

[2] お片付け(有料サービスだけを停止)

コストの掛からない設定は残したままとします。
各サービスの「設定」から無効化をそれぞれ設定していきます。

[2-1] AWS Config 無効化

AWS Config > 左ペイン:設定 > レコーダー:[記録を停止しますか?]をクリック
image.png

Amazon S3 のデータも削除する必要があります。
削除方法は後続の[2-5]を参照します。

[2-2] AWS CloudTrail 証跡削除

AWS CloudTrail > 左ペイン:証跡 > [作成した証跡]を選択 > [削除]をクリック
image.png

Amazon S3 のデータも削除する必要があります。
削除方法は後続の[2-5]を参照します。

KMSキーを有効化している場合は併せてKMSキーの削除も必要です。
削除方法は後続の[2-6]を参照します。

[2-3] Amazon GuardDuty 無効化

Amazon GuardDuty > 左ペイン:設定 > GuardDuty を無効にする:[無効にする]をクリック
image.png

[2-4] AWS Security Hub 無効化

AWS Security Hub > 左ペイン:一般 > AWS Security Hub の無効化 > [AWS Security Hub の無効化]をクリック
image.png

[2-5] S3バケット削除

AWS Config と AWS CloudTrail(証跡) のデータを削除します。

[2-5-1] AWS Config データ削除

①S3バケット > [config]で検索 > 表示されたS3バケットを選択
image.png

②[空にする]をクリック
image.png

③[完全に削除]を入力 > [空にする]をクリック
image.png

④[バケットの削除設定]をクリック
image.png

⑤[S3バケット名]を入力 > [バケットを削除]をクリック
image.png

⑥AWS ConfigのS3バケットが削除完了
image.png

[2-5-2] AWS CloudTrail 証跡データ削除

①S3バケット > [cloudtrail]で検索 > 表示されたS3バケットを選択
image.png

手順②~⑤は[2-5-1]と同じ手順のため省略

⑥AWS CloudTrail 証跡S3バケットが削除完了
image.png

[2-6] KMS キー削除

AWS CloudTrail 証跡作成時に「クイック証跡作成」の場合は不要です。
証跡設定時に有効化している場合の作業となります。

本記事内では「handson-cloudtrail-management-event-key」のみ削除対象です。

誤って他のKMSキーを削除すると、データ復元が不可となる等の障害となるため慎重に削除をしてください。

①マネコン上部の検索バーで「Key Management Service」を検索してクリック
image.png

②左ペイン:カスタマー管理型のキー > [handson-cloudtrail-management-event-key]を選択
image.png

③[キーのアクション] > [キーの削除をスケジュール] をクリック
image.png

自信がない場合は「無効」を選択しましょう。
誤っていた場合も「有効」に変更してキーを再度利用することが出来ます。

④待機期間を設定 > [確認]でチェック > [削除をスケジュール] をクリック
image.png

⑤設定した日程で削除予定が完了
image.png

設定した待機期間の間は削除をキャンセルできます。
万が一削除するキーが誤ったことに気づいた際はお試しください。

  • [キーのアクション] > [キーの削除をキャンセル]
    image.png

[3] 最後に:AWSアカウントのセキュリティ対策の運用

基本的には「AWS Trusted Advisor」「AWS Security Hub」の指摘項目を処理する。
これが最強のセキュアアカウント作成方法という考えに共感しています。

実はこれらのサービスは「AWSアカウント開設時」が一番設定しやすいのです。
(運用始まってからの修正は調査、調整、説明の汗と涙が待っています)

設定ミスを未然に防ぐ
設定ミスを検知する

これらの対策には AWS Security Hub での管理は非常に有効です。
ぜひ気になるという方はまずは活用してみると幸せになれるかもしれません。

AWSサービス紹介資料

AWS Builders Online Series 今⽇からスタート! AWS セキュリティ 初めの⼀歩

AWS サービス別資料 > 最初にやるべき AWS セキュリティ設定 10 のこと

66
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
66
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?