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

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

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

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

以下流れで説明するので気になるところをつまんで見て頂ければ幸いです。
- 前半：設定AWSサービス＆最近のクラウドセキュリティ脅威を紹介
- 後半：ハンズオン

:::note info
**【対象読者】**
・AWS初心者の方
・AWS環境の運用保守に関するヒントが欲しい方
・AWSセキュリティサービスをおさらいしたい方
:::
::: note alert
**【説明しないこと】**
・各AWSサービスの詳細
・アカウント、IAMユーザなどの各関連の事前作成
・セキュリティアラートの通知設定
:::
サービス詳細も知りたい！という方は **「[AWS Builders Online Series 今⽇からスタート! AWS セキュリティ 初めの⼀歩](https://pages.awscloud.com/rs/112-TZM-766/images/BOS19_AWS-Builders-Online-Series_2022-Q3_Presentation-Deck.pdf)」** のPDF資料をぜひご参照あれ。

https://pages.awscloud.com/rs/112-TZM-766/images/BOS19_AWS-Builders-Online-Series_2022-Q3_Presentation-Deck.pdf

AWS運用をされている皆さんの一助になってほしいなと、長文ですがお付き合いください:hugging:
# [0] はじめに
- 本ページは2024/12月時点の各種ドキュメントを参照して作成しています
- 最新情報等については各種公式ドキュメントの確認をオススメします
## 設定するAWSサービス紹介
おすすめする設定項目は下図掲載の項目になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/7687d821-c517-a413-998a-5275bc1a4b68.png)

:::note info
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](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/40b7a2ab-874d-7e25-aa51-d9b4ed3c95cf.png)
[出展：CSA - Top Threats to Cloud Computing - Pandemic Eleven](https://www.cloudsecurityalliance.jp/site/wp-content/uploads/2022/11/top-threats-to-cloud-computing-pandemic-eleven-060622-en_us-ja.pdf#page=11)

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

## 結論：AWS Security Hubを有効化 / 運用しよう
:::note info
「[AWS 基本的なセキュリティのベストプラクティスの標準](https://docs.aws.amazon.com/securityhub/latest/userguide/fsbp-standard.html)」はAWSのベストプラクティスに沿っているか定期的にスキャンをして設定状況のチェックができます。
:::
つまり、Security Hubを有効化し、検知された項目をひたすら修正することでセキュリティ対策はほぼ完了です。ｵﾒﾃﾞﾄｳｺﾞｻﾞｲﾏｽ！:clap:

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

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

- クラウドセキュリティを担保出来るサービスを知れる
- ある程度セキュアな状態でAWS環境を使い始められる
 
それではハンズオンスタートです！一緒にがんばりましょう💪💪

# [1] ハンズオン開始:desktop:
今回のハンズオンでは以下の項目を順番に設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/569d0f99-8821-9769-5368-2a63b5ff7661.png)


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

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

## 1. ルート / IAM ユーザ MFA設定
対応することで下記のSecurity Hubチェック項目がクリアされます。
- 【Critical】[[IAM.9] MFA should be enabled for the root user](https://docs.aws.amazon.com/securityhub/latest/userguide/iam-controls.html#iam-9)
- 【Medium】[[IAM.19] MFA should be enabled for all IAM users](https://docs.aws.amazon.com/securityhub/latest/userguide/iam-controls.html#iam-19)

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

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html

### 1-1. IAMユーザ MFA設定

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

①マネコン上部の検索バーで「IAM」を検索してクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/a3cd8f1f-34d7-ee70-d6e3-f1a927a45057.png)

②MFAを自分用に追加 > [MFA を追加]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/64ea3869-b06f-28ec-41c8-7e28582130f3.png)

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

③MFAデバイスを選択 > 下記設定 > 画面下部[次へ]をクリック
 - デバイス名：[IAMユーザ名]
 - デバイスオプション：パスキーまたはセキュリティキー


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

https://aws.amazon.com/jp/blogs/news/aws-adds-passkey-multi-factor-authentication-mfa-for-root-and-iam-users/

④[続行]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/2ba4c764-eecd-103b-a7bd-0f51f9ad0cd4.png)

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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/4f796b02-9898-b319-0ee4-87a6f8e5cf8f.png)

表示されたQRコードを手元のスマートフォンで読取り > デバイス側の指示に従いパスキーをデバイスに保存する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/e2d3a697-2a29-361f-2f0c-1ca338d08741.png)
:::

⑤多要素認証(MFA)に「パスキーとセキュリティキー」が保存されて登録完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/e19e2e0d-d26a-6262-5da4-0ba64c198ade.png)

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

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

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


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

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

①マネコン上部の検索バーで「IAM」を検索してクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/a3cd8f1f-34d7-ee70-d6e3-f1a927a45057.png)

②rootユーザーのMFAを追加する > [MFA を追加]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/a9904ba6-aa1f-9323-d557-defc5a79c39a.png)

③MFAデバイスを選択 > 下記設定 > 画面下部[次へ]をクリック
 - デバイス名：root-passkey
 - デバイスオプション：パスキーまたはセキュリティキー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/c0f8cee3-f53b-3d5d-e558-15e75fc898c5.png)

**（手順④のMFA登録は[1-1]と同じのため省略）**

⑤多要素認証(MFA)に「パスキーとセキュリティキー」が保存されて登録完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/708ac0b0-4213-a656-c3a9-bc00bb33fbc2.png)


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

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

## 2. AWS Config 有効化
対応することで下記のSecurity Hubチェック項目がクリアされます。
- 【Critical】[[Config.1] AWS Config should be enabled and use the service-linked role for resource recording](https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/config-controls.html#config-1)

:::note warn
言語によって緊急度の記述に差異がありました。
- 日本語・・・重要度: 中
- 英語・・・・Severity: Critical

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

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

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


②マネコン画面の右上部でリージョンが「東京」であることを確認する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/16f57ce8-f42c-65db-9cc5-2b7563299d5e.png)

③「1-Click セットアップ」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/542c24b4-c7b0-1591-89ad-e48b073f9a5a.png)

④[確認]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/82877789-c16e-8b6e-78dc-2262e80033bb.png)

⑤AWS Config用のIAMロール、S3バケットが作成される
- IAMロール：AWSConfigServiceRolePolicy
- S3バケット：config-bucket-[AWSアカウントID]
- ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/30c7d01d-c1fd-e9e4-3d68-9e8661b5dab8.png)

⑥AWS Configの有効化が完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/46061453-3707-e202-5f08-73ab3a55a519.png)

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

:::note warn
**【設定される概要説明】**
- IAM以外の設定変更が記録される
- AWS環境内に設定変更がある度に記録がされる（コスト増 影響あり）
- コスト増を気にする場合は、「日次記録」へ変更するとコストが抑えられる
    - 「設定」> レコーダー:[編集]から、記録頻度を[日次記録]に変更
:::

## 3. AWS IAM Access Analyzer 外部アクセス有効化
対応することで下記のSecurity Hubチェック項目がクリアされます。
- 【High】[[IAM.28] IAM Access Analyzer external access analyzer should be enabled](https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/iam-controls.html#iam-28)

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

①マネコン上部の検索バーで「IAM」を検索してクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/a3cd8f1f-34d7-ee70-d6e3-f1a927a45057.png)

②左ペイン：アクセスアナライザーをクリック > 画面右上部でリージョンが「東京」であることを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/41aaa57c-ce7c-c51a-a700-217d558d5161.png)

③[アナライザーを作成] をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/24b90b76-5004-53d9-2012-d0d7d853b181.png)

④信頼ゾーン：組織のアカウントを選択（他はデフォルト）> [アナライザーを作成]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/cc94a932-105d-2f1a-a501-74f0f808ba88.png)

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

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

⑤外部アクセスアナライザーが作成され、有効化が完了します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/c95cb225-d9e4-f257-06e9-3643dee8ec78.png)

## 4. AWS CloudTrail 証跡有効化
対応することで下記のSecurity Hubチェック項目がクリアされます。
- 【High】[[CloudTrail.1] CloudTrail should be enabled and configured with at least one multi-Region trail that includes read and write management events](https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/cloudtrail-controls.html#cloudtrail-1)

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

①マネコン上部の検索バーで「CloudTrail」を検索してクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/ed004846-be90-973b-944d-f2214551a35d.png)

②画面右上部でリージョンが「東京」であることを確認
③[証跡の作成]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/c074eb37-14bc-b671-0d86-14ec6d1dc993.png)

④証跡名、ログ保存先のS3バケットを指定 > [証跡の作成]をクリック
※今回はデフォルト設定のまま作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/e506e9d0-f6f4-38ac-7a58-d9ee01efc915.png)

::: note 
「クイック証跡の作成」ではなく、通常の証跡作成画面が表示される場合は以下参照します。
- 証跡名：handson-management-event
- ストレージの場所：（デフォルト）
- ログファイルの SSE-KMS 暗号化：有効
- カスタマー管理の AWS KMSキー：新規
- AWS KMS エイリアス：handson-cloudtrail-management-event-key
- その他の設定
    - ログファイルの検証：有効

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/e3959ab2-f2df-7a1f-4a44-859f3cffd0d9.png)


他項目はデフォルト設定で [次へ] > [証跡の作成] をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/35d2ea06-562a-c908-e7de-fa92ab449f6f.png)
:::

::: note warn
【管理イベントのコストについて】
証跡が1つだけであれば管理イベントの保存は無料です。
> 進行中の管理イベントのコピーを 1 つ無料で Amazon Simple Storage Service (S3) バケットに配信できます。
> https://aws.amazon.com/jp/cloudtrail/pricing/

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

⑤証跡の作成が完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/2b62383b-935f-754d-a195-0bc8e65ad485.png)

::: note
【クイック証跡作成の設定内容】
- マルチリージョンの証跡が作成される
- 管理イベント：APIアクティビティすべてが記録対象
- データイベント：設定なし（＝S3バケットやLambdaなどのAPIコールは記録されない）
    - S3バケット等のログを取得する場合は別途データイベントの設定が必要になる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/e80dcea0-64ba-3a80-58eb-506946dee471.png)
:::

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

## 5. Amazon GuardDuty 有効化
対応することで下記のSecurity Hubチェック項目がクリアされます。
- 【High】[[GuardDuty.1] GuardDuty should be enabled](https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/guardduty-controls.html#guardduty-1)

### 5-1. Amazon GuardDuty を有効化する
①マネコン上部の検索バーで「GuardDuty」を検索してクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/a4317cee-46ff-026d-b866-bcb3edd74834.png)

②画面右上部でリージョンが「東京」であることを確認
③[Amazon GuardDuty - すべての機能]をチェック > [今すぐ始める]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/6a4875a0-065e-954e-a620-04471814c534.png)

④[GuardDuty を有効にする]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/2c70c583-3c1e-60d4-2770-67c483afea8b.png)

⑤GuardDutyの有効化が完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/c78056a6-5d3d-7674-cbc4-7ec89545c383.png)

:::note info
どの程度のコストが発生しているか気になる場合は、左ペインの「使用状況」から確認が出来ます。
有効化してから30日間は無料トライアルでコストは発生しません。
試算する際はトライアル期間にお忘れなくです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/a93b7a20-580b-06d3-ce53-3edeac3ef490.png)
:::

## 6. Amazon EBS デフォルト暗号化設定
対応することで下記のSecurity Hubチェック項目がクリアされます。
- 【Medium】[[EC2.3] Attached Amazon EBS volumes should be encrypted at-rest](https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/ec2-controls.html#ec2-3)
- 【Medium】[[EC2.7] EBS default encryption should be enabled](https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/ec2-controls.html#ec2-7)

### 6-1. Amazon EBS デフォルト暗号化を設定する
①マネコン上部の検索バーで「EC2」を検索してクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/5a0a7b20-1e5e-0079-caf1-755240865753.png)

②画面右上部でリージョンが「東京」であることを確認
③[データ保護とセキュリティ]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/9d246e96-1cab-a916-5d67-3248401dab10.png)

④EBS暗号化：[管理]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/7bbbf485-32e3-dbcc-bd3f-dea10350d4d4.png)

⑤常に新しい EBS ボリュームを暗号化：有効化にチェック > [EBS 暗号化を更新する]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/ec028024-6a8c-e2b7-3daa-1a2a5dd2ebc8.png)

::: note info
暗号化キーはAWSマネージドキーを利用します。
セキュリティ要件に応じて各自で作成したKMSのカスタマーマネージドキー（CMK）をデフォルトに設定することも可能です。
:::
⑥EBSデフォルト暗号化の有効化が完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/bed5f26a-a034-2aab-01c8-110a343e3a24.png)

## 7. AWS Trusted Advisor 活用
::: note
AWS Trusted Advisorはデフォルトで有効化されています。
:::
「コスト最適化」「パフォーマンス」「セキュリティ」「耐障害性」「サービス制限」「運用上の優秀性」を推奨事項に沿っているか定期チェックしてくれる神サービスです。（しかも無料）

::: note warn
ただし、サポートプランによって機能制限があり、チェック可能な範囲が変わってきます。
- デベロッパー：サービスクォータ / ベーシックなセキュリティチェック
- ビジネスプラン：チェックのフルセット
- エンタープライズ：チェックのフルセット（優先順位＆推奨事項付き）
- パートナー経由でアカウント契約されているケース etc...
:::

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

::: note
【無料でチェック可能なセキュリティ項目】
- Amazon EBS パブリックスナップショット
- Amazon RDS パブリックスナップショット
- Amazon S3 バケット許可
- セキュリティグループ - 制限されていない特定のポート
- ルートアカウントの MFA
:::
全チェック項目は下記リンク参照。

https://docs.aws.amazon.com/ja_jp/awssupport/latest/user/security-checks.html

### 7-1. AWS Trusted Advisor 活用
①マネコン上部の検索バーで「Trusted Advisor」を検索してクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/cf897adf-5854-a382-6d48-9be96dea33ca.png)

②非推奨設定が存在する場合、推奨されるアクション等にカウントされる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/c9e27d51-a95c-f704-6cf3-58bdb6f49eab.png)

::: note info
サポートプランがビジネスプラン以上の方はコスト削減のアドバイスも表示されるます。セキュリティ以外の用途でもAWS Trusted Advisorを覗いてみると幸せになれるかもしれません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/31599f98-5367-a669-e438-2b2e80dffa62.png)
:::

### 7-2. AWS Trusted Advisor 通知設定
①左ペイン：通知 > [アカウント設定]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/8fe10a00-8597-0d47-8e2b-89aec0875d86.png)

②代替連絡先「請求」「オペレーション」「セキュリティ」の連絡先にそれぞれ通知先を追加する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/993c4ebb-33fd-ad0e-7289-9451bbb934cc.png)

③言語：日本語を設定 > [詳細設定を保存]をクリック > 設定が完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/ee579904-7db5-e2b0-9edb-013e51a9e96c.png)

## 8. AWS Security Hub 有効化
::: note warn
サービス利用時は、事前に「AWS Config」有効化する必要があります。
:::
AWS環境のセキュリティ状態を可視化 / 管理するためのサービスです。

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

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

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

### 8-1. AWS Security Hub を有効化する
①マネコン上部の検索バーで「Security Hub」を検索してクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/607814f7-cfd4-4f5d-b98f-bd58d9c5e285.png)

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

③[Security Hub に移動]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/a8b073ac-2e84-b598-294e-2cbc30057f33.png)

④セキュリティ基準：[AWS 基礎セキュリティのベストプラクティス v1.0.0 を有効にする] にチェック > [Security Hubの有効化]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/bfa81775-19b5-abe5-aa08-2f345402349d.png)

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

⑤「AWS 基礎セキュリティのベストプラクティス v1.0.0」が有効化される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/edba4fc4-bbe6-316c-732f-3ac4db68d433.png)

⑥しばらく時間を開けるとスコアが表示され完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/20174d12-2bac-1040-d774-1ef71cb8b40f.png)

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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/cf02d295-5dc7-5d9b-5722-411a65b202c1.png)
:::

## 9. Amazon S3 パブリックアクセスブロック設定有効化
対応することで下記のSecurity Hubチェック項目がクリアされます。
- 【Medium】[[S3.1] S3 general purpose buckets should have block public access settings enabled](https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/s3-controls.html#s3-1)
- 【Critical】[[S3.2] S3 general purpose buckets should block public read access](https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/s3-controls.html#s3-2)
- 【Critical】[[S3.3] S3 general purpose buckets should block public write access](https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/s3-controls.html#s3-3)
- 【High】[[S3.8] S3 general purpose buckets should block public access](https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/s3-controls.html#s3-8)

### 9-1. Amazon S3 パブリックアクセスブロック設定を有効化する
::: note warn
この設定はアカウント内の全S3バケットに適用されます。
既に運用中で影響が分からない場合は、影響範囲の確認から進めることをおすすめします。
:::

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


①マネコン上部の検索バーで「S3」を検索してクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/831d14d2-fd8b-89c3-9755-4ad703db77f2.png)

②左ペイン：このアカウントのブロックパブリックアクセス設定 > [編集] をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/e4c40f39-1a38-2ec9-e1c4-29cb3a3014f1.png)

③[パブリックアクセスをすべて ブロック]にチェック > [変更の保存]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/b386b27d-590a-ef0a-0b30-8ce1cf63a983.png)

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

「確認」を入力 > [確認]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/35886071-b417-7064-dd1e-c1e04bec7a25.png)
:::

④AWSアカウント全体のS3バケットに対して、パブリックアクセスブロック設定有効化が完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/b3140c2b-278e-c7cc-a4e3-93ce98352efe.png)

# [2] お片付け（有料サービスだけを停止）
コストの掛からない設定は残したままとします。
各サービスの「設定」から無効化をそれぞれ設定していきます。
## [2-1] AWS Config 無効化
AWS Config > 左ペイン：設定 > レコーダー：[記録を停止しますか？]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/473368c9-7046-d4de-7192-974f086422d2.png)

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

## [2-2] AWS CloudTrail 証跡削除
AWS CloudTrail > 左ペイン：証跡 > [作成した証跡]を選択 > [削除]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/b8ef7f9d-50de-b5cd-2bcc-0e154ac29856.png)

::: note warn
Amazon S3 のデータも削除する必要があります。
削除方法は後続の[2-5]を参照します。
:::
::: note warn
KMSキーを有効化している場合は併せてKMSキーの削除も必要です。
削除方法は後続の[2-6]を参照します。
:::

## [2-3] Amazon GuardDuty 無効化
Amazon GuardDuty > 左ペイン：設定 > GuardDuty を無効にする：[無効にする]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/15eb0bd7-50ec-e6c4-3dd7-5f6ac3771243.png)

## [2-4] AWS Security Hub 無効化
AWS Security Hub > 左ペイン：一般 > AWS Security Hub の無効化 > [AWS Security Hub の無効化]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/dfaf41c3-1c34-3156-5e6c-08334bd9ac12.png)

## [2-5] S3バケット削除
AWS Config と AWS CloudTrail(証跡) のデータを削除します。
### [2-5-1] AWS Config データ削除
①S3バケット > [config]で検索 > 表示されたS3バケットを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/091ac846-be0d-644d-d247-b4af513cf671.png)

②[空にする]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/547b0264-8820-f2a7-be4c-b73f94878d6b.png)

③[完全に削除]を入力 > [空にする]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/5f8af35d-48a5-1580-9605-0b94a6779f02.png)

④[バケットの削除設定]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/9a39f957-2722-aba5-cb96-0b78a7a6f913.png)

⑤[S3バケット名]を入力 > [バケットを削除]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/15f39be7-b351-5d73-8ab0-001ffef1246b.png)

⑥AWS ConfigのS3バケットが削除完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/2b3b0dbe-3024-774d-2fd5-094da9534b80.png)

### [2-5-2] AWS CloudTrail 証跡データ削除
①S3バケット > [cloudtrail]で検索 > 表示されたS3バケットを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/d75334ed-8b90-8e4e-1080-f72b24ca804e.png)

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

⑥AWS CloudTrail 証跡S3バケットが削除完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/88f5fae4-08d5-f8ef-150d-c8cad580735d.png)

## [2-6] KMS キー削除
::: note warn
AWS CloudTrail 証跡作成時に「クイック証跡作成」の場合は不要です。
証跡設定時に有効化している場合の作業となります。
:::
::: note alert
本記事内では「handson-cloudtrail-management-event-key」のみ削除対象です。

誤って他のKMSキーを削除すると、データ復元が不可となる等の障害となるため慎重に削除をしてください。
:::
①マネコン上部の検索バーで「Key Management Service」を検索してクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/6f353720-d218-9775-6437-4d31168c6ab5.png)

②左ペイン：カスタマー管理型のキー > [handson-cloudtrail-management-event-key]を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/18d498db-524e-d0a3-1653-9597449890fd.png)

③[キーのアクション] > [キーの削除をスケジュール] をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/56dfd6d3-208d-b292-40a6-be1493d2a795.png)

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

④待機期間を設定 > [確認]でチェック > [削除をスケジュール] をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/57c69d80-0a07-3d1f-fd61-9d43a3793e5b.png)


⑤設定した日程で削除予定が完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/218ab073-198e-32f8-3bdc-b6d3999a88fb.png)

::: note warn
設定した待機期間の間は削除をキャンセルできます。
万が一削除するキーが誤ったことに気づいた際はお試しください。
- [キーのアクション] > [キーの削除をキャンセル]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3926521/d7dfda35-1423-5f44-0024-8adecd66da31.png)
:::

# [3] 最後に：AWSアカウントのセキュリティ対策の運用
基本的には「AWS Trusted Advisor」「AWS Security Hub」の指摘項目を処理する。
これが最強のセキュアアカウント作成方法という考えに共感しています。

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

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

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

## AWSサービス紹介資料
AWS Builders Online Series 今⽇からスタート! AWS セキュリティ 初めの⼀歩

https://pages.awscloud.com/rs/112-TZM-766/images/BOS19_AWS-Builders-Online-Series_2022-Q3_Presentation-Deck.pdf

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

https://pages.awscloud.com/JAPAN-event-OE-At-least-10-security-2023-reg-event.html