AWS Security Hub の『基礎セキュリティのベストプラクティス』に追加された 16個のコントロールを見てみる【2021/05アップデート】

EB(new!) +2, WAF(new!) +1, APIGW +2, CloudTrail +2, Lambda +1, EC2 +2, RDS +3, Redshift +1, Secrets Manager +2
2021.05.24

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

2021/05/10 に Security Hub の 『基礎セキュリティのベストプラクティス』に 新しくコントロールが追加されていました。

Added new controls for Amazon API Gateway (APIGateway.2 and APIGateway.3), AWS CloudTrail (CloudTrail.4 and CloudTrail.5), Amazon EC2 (EC2.15 and EC2.16), AWS Elastic Beanstalk (ElasticBeanstalk.1 and ElasticBeanstalk.2), AWS Lambda (Lambda.4), Amazon RDS (RDS.12 – RDS.14), Amazon Redshift (Redshift.7), AWS Secrets Manager (SecretsManager.3 and SecretsManager.4), and AWS WAF (WAF.1).

– 引用: Document history for the AWS Security Hub User Guide - AWS Security Hub

新規にできたカテゴリ( ElasticBeanstalk, WAF )含めて 計 16個のコントロールが追加されました。

さっそく見ていきましょう。

※1) 各コントロールのドキュメントリンクも載せていますが、 2021/05/24 現在日本語訳はありません。英語ドキュメントを御覧ください。

※2) 前回のアップデートで追加されたコントロールの紹介は↓にあります

APIGateway

[APIGateway.2] API Gateway REST APIステージでは、バックエンド認証にSSL証明書を使用するように設定する必要があります

AWSドキュメント

重要度: MEDIUM

(コメント) バックエンドシステムのセキュリティ保護要件次第で検討しましょう。

[APIGateway.3] API GatewayのREST APIステージでは、AWS X-Rayのトレースが有効になっている必要があります

AWSドキュメント

重要度: LOW

(コメント) X-Ray によって APIのトレース・分析を簡単に実施できます。

CloudTrail

[CloudTrail.4] CloudTrailのログファイルの検証が有効であること

AWSドキュメント

重要度: LOW

(コメント) この設定により、整合性チェックのためのダイジェストファイルを作成します。 その保存料は軽微なので有効化しておいて損はないでしょう。

[CloudTrail.5] CloudTrailのトレイルは、Amazon CloudWatch Logsと統合されるべきです

AWSドキュメント

重要度: LOW

(コメント) 特定アクティビティの追跡 + CWアラームの設定が可能になります。 ただし『証跡としての保管/長期的な分析』のみの利用の場合は S3保存で十分でしょう。 また、単発のAPIイベントを監視したい場合は EventBridge で事足りることもあります。

EC2

[EC2.15] EC2のサブネットはパブリックIPアドレスを自動的に割り当ててはいけない

AWSドキュメント

重要度: MEDIUM

(コメント) 意図しないパブリックIP付与を未然に防ぐために活用できます。

[EC2.16] 未使用のNACLを削除すること

AWSドキュメント

重要度: LOW

(コメント) 未使用のNACL洗い出しに活用できます。

ElasticBeanstalk

[ElasticBeanstalk.1] Elastic Beanstalk環境では、拡張ヘルスレポートを有効にするべきです

AWSドキュメント

重要度: LOW

(コメント) より詳細なモニタリングが可能になります。

[ElasticBeanstalk.2] Elastic Beanstalkのマネージドプラットフォーム更新を有効にする必要があります

AWSドキュメント

重要度: HIGH

(コメント) EBインスタンスのパッチ運用を楽にするために、ぜひ検討しましょう。

Lambda

[Lambda.4] Lambda関数はデッドレターキューを設定する必要がある

AWSドキュメント

重要度: MEDIUM

(コメント) エラーハンドリングに活用できます。 代わりに Destinations(非同期呼び出しの宛先指定) を使う方針でも良いでしょう。

RDS

[RDS.12] RDSクラスターにIAM認証を設定する必要があります

AWSドキュメント

重要度: MEDIUM

(コメント) 『[RDS.10]RDSインスタンスに対してIAM認証を設定する必要があります』 のAurora版です。 パスワード漏洩のリスクを無くせるメリットがあります。 利用できる環境の場合は積極的に使っていきましょう。

[RDS.13] RDSのマイナーバージョンの自動アップグレードが有効であること

AWSドキュメント

重要度: HIGH

(コメント) マイナーバージョンアップグレードの内容は セキュリティパッチやバグ修正です。 有効化して常に最新化しておくと良いでしょう。

[RDS.14] Amazon Auroraクラスターはバックトラックを有効にする必要があります

AWSドキュメント

重要度: MEDIUM

(コメント) ポイントインタイムリカバリ(PITR) と違い、新規クラスター作成すること無く 高速に『巻き戻す』ことができることがメリットです。 いくつか 制限事項 があるので確認した上で、有効化を検討しましょう。

Redshift

[Redshift.7] Redshiftクラスターは Enhanced VPC Routing を使用する必要があります

AWSドキュメント

重要度: HIGH

(コメント) データリポジトリとの通信を VPC経由に強制することができる機能です。

SecretsManager

[SecretsManager.3] 未使用のSecrets Managerシークレットは削除する必要があります

AWSドキュメント

重要度: MEDIUM

(コメント) 90日以上使われていないシークレットが非準拠になります。 定期的なシークレットの棚卸しとして、活用できるでしょう。

[SecretsManager.4] Secrets Managerのシークレットは、指定された日数内でローテーションされるべきである

AWSドキュメント

重要度: MEDIUM

(コメント) 認証情報の不正利用のリスクを低減するメリットがあります。 RDSや Redshiftなど、いくつかのサービスは Secrets Manager の自動ローテーション に併せて 認証設定を変更することが出来ます。

WAF

[WAF.1] AWS WAF ClassicのグローバルWeb ACLロギングを有効にする必要があります。

AWSドキュメント

重要度: MEDIUM

(コメント) バージニア北部 us-east-1 限定のコントロールです。 WAFのロギングはトラブルシューティングに欠かせないので有効化しましょう。

おわりに

ざっと見てみました。

CRITICAL の項目は無し。HIGHの項目は以下 3つです。

  • [ElasticBeanstalk.2] Elastic Beanstalkのマネージドプラットフォームのアップデートを有効にする必要があります
  • [RDS.13] RDSのマイナーバージョンの自動アップグレードが有効であること
  • [Redshift.7] Redshiftクラスターは Enhanced VPC Routing を使用する必要があります

これで Security Hub 『基礎セキュリティのベストプラクティス』のコントロールは合計 93 個になりました。 これらコントロールを見ていくのは大変ですが、それら全て AWSベストプラクティスな内容です。 時間を掛けてでもそれぞれチェックしていく価値はあります。