Closed33

AWS Security Hub『基礎セキュリティのベストプラクティス』の新しいコントロールを見ていく【2021/07】

cmkwshcmkwsh

ECSのチェックができるようになりました

↓ざっと見ていきます (計 28個)

Added controls to the AWS Foundational Security Best Practices standard

Added new controls for Amazon API Gateway (APIGateway.5), Amazon EC2 (EC2.19), Amazon ECS (ECS.2), Elastic Load Balancing (ELB.7), Amazon Elasticsearch Service (ES.5 through ES.8), Amazon RDS (RDS.16 through RDS.23), Amazon Redshift (Redshift.4), and Amazon SQS (SQS.1).

July 20, 2021

Added controls to the AWS Foundational Security Best Practices standard

Added new controls for Amazon API Gateway (APIGateway.4), Amazon CloudFront (CloudFront.5 and CloudFront.6), Amazon EC2 (EC2.17 and EC2.18), Amazon ECS (ECS.1), Amazon Elasticsearch Service (ES.4), AWS Identity and Access Management (IAM.21), Amazon RDS (RDS.15), and Amazon S3 (S3.8).

July 8, 2021

—- Document history for the AWS Security Hub User Guide - AWS Security Hub

cmkwshcmkwsh

ドキュメント: https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html

※ 2021/07/23時点、多くの新規コントロールには以下 注釈(Note) があります

This control is still in the release process. It might not yet be available in all of the Regions where it is supported.

このコントロールはまだリリースされていません。サポートされているすべての地域では、まだ利用できない可能性があります。

cmkwshcmkwsh

[ECS.1] Amazon ECSのタスク定義は、安全なネットワークモードとユーザ定義を持つべきである。

重要度: High

  • host ネットワーキングモードが対象
  • 意図しない特権付与を検知
cmkwshcmkwsh

[ECS.2] Amazon ECSサービスは、パブリックIPアドレスを自動的に割り当ててはいけません

重要度: High

  • パブリックIPは基本いらないはず
  • アウトバウンドは NATGWや VPCエンドポイント使おう
  • インバウンドは ALB
cmkwshcmkwsh

[SQS.1] Amazon SQSのキューは静止時に暗号化されるべきである

重要度: Medium

  • 基本はデータの暗号化は検討したい
  • ただ AWS管理キーの場合はキーポリシーを編集できないので不便が出てきそう
cmkwshcmkwsh

[APIGateway.4] API Gatewayは、AWS WAFのWeb ACLと関連付ける必要があります。

重要度: Medium

  • 前段に CloudFront がある場合はそちらに Web ACLを そうでない場合は APIGW に付けると良い?
cmkwshcmkwsh

[CloudFront.5] CloudFrontの配布物はログを有効にする必要がある

重要度: Medium

  • S3バケットへ保存
  • WAFログを取っている場合も必要?要調査
cmkwshcmkwsh

[CloudFront.6] CloudFrontのディストリビューションはAWS WAFを有効にする必要があります。

重要度: Medium

  • ほぼ必須?
  • WAF側のルールチューニング、運用周りをしっかりと対応する前提
cmkwshcmkwsh

[EC2.17] EC2インスタンスは複数のENIを使用してはならない

重要度: Low

Multiple ENIs can cause dual-homed instances, meaning instances that have multiple subnets. This can add network security complexity and introduce unintended network paths and access.

複数のENIを使用すると、デュアルホームのインスタンス(複数のサブネットを持つインスタンス)が発生します。これにより、 ネットワークセキュリティが複雑になり、意図しないネットワークパスやアクセス が発生する可能性があります。

なるほど

cmkwshcmkwsh

[EC2.18] セキュリティグループは、許可されたポートに対する無制限の受信トラフィックのみを許可する必要がある

重要度: High

cmkwshcmkwsh

[EC2.19] セキュリティグループは、リスクの高いポートへの無制限のアクセスを許可してはならない

重要度: Medium

  • 以下ポートの無制限アクセスの許可を検知する
  • 汎用性が高そう

3389 (RDP), 20, 21 (FTP), 22 (SSH), 23 (Telnet), 110 (POP3), 143 (IMAP), 3306 (mySQL), 8080 (proxy), 1433, 1434 (MSSQL), 9200 or 9300 (Elasticsearch), 5601 (Kibana), 25 (SMTP), 445 (CIFS), 135 (RPC), 4333 (ahsp), 5432 (postgresql), 5500 (fcp-addr-srvr1)

cmkwshcmkwsh

[ELB.7] Classic Load Balancer では Connection Draining を有効にする必要があります

重要度: Medium

  • Connection Draining は 登録解除された or Unhealthyなインスタンスへのリクエスト送信を確実に停止するためのもの
  • (そもそも CLB を使わないチェック項目があっても良いのでは...?)
cmkwshcmkwsh

[IAM.21] 作成したIAMカスタマーマネージメントポリシーでは、サービスに対するワイルドカードアクションを許可してはならない

重要度: Low

  • ec2:* とかの書き方が検知されるみたい
  • アクションはワイルドカードを使って、リソースを絞るケースは多々あると思うので、これは無理に対応しなくても良さそう
cmkwshcmkwsh

[Redshift.4] Amazon Redshiftクラスターは監査ログを有効にする必要があります

重要度: Medium

  • S3へ保存
  • 基本有効化で良さそう
cmkwshcmkwsh

[S3.8] S3ブロックのパブリックアクセス設定はバケットレベルで有効にすべき

重要度: High

  • [S3.1] S3 Block Public Access setting should be enabled がアカウント全体設定だったけど、これはバケット単位のチェック
  • パブリックアクセスが必要な場合は「抑制済み」対応で良さそう。定期的にチェックしたい項目
cmkwshcmkwsh

[ES.4] Amazon Elasticsearch ServiceのドメインエラーのCloudWatch Logsへのロギングが有効であること

重要度: Medium

  • CW Logs なので費用を検討
cmkwshcmkwsh

[ES.5] Elasticsearchドメインは監査ログを有効にすべきである

重要度: Medium

  • CW Logs なので費用を検討
cmkwshcmkwsh

[ES.6] Elasticsearchドメインは少なくとも3つのデータノードを持つべきである

重要度: Medium

  • 可用性を高めたい本番環境の場合は対応
cmkwshcmkwsh

[ES.7] Elasticsearchドメインには、少なくとも3つの専用マスターノードを設定する必要がある

重要度: Medium

  • 可用性を高めたい本番環境の場合は対応
cmkwshcmkwsh

[ES.8] Elasticsearchドメインへの接続はTLS 1.2で暗号化すべきである

重要度: Medium

  • TLSのバージョンチェック
  • 基本対応
cmkwshcmkwsh

[RDS.15] RDS DBクラスターは複数のアベイラビリティーゾーンに対して構成されるべきである

重要度: Medium

  • [RDS.5] RDS DBインスタンスは複数のアベイラビリティー・ゾーンで構成されるべきである の Aurora版
  • AZ配置によるコストを考慮
  • 高可用性が求められる環境では有効化
cmkwshcmkwsh

[RDS.16] RDS DBクラスターは、スナップショットにタグをコピーするように構成されるべきである

重要度: Low

  • リソースの識別/管理のために(地味だけど)役に立つはず
cmkwshcmkwsh

[RDS.17] RDS DBインスタンスは、スナップショットにタグをコピーするように設定する必要があります。

重要度: Low

  • [RDS.16] のインスタンス版
cmkwshcmkwsh

[RDS.20] 重要なデータベースインスタンスのイベントに対して、RDSイベント通知のサブスクリプションを設定する必要があります

重要度: Low

  • DBInstance: ["maintenance","configuration change","failure"] の通知設定があるかどうか
  • [RDS.19] のインスタンス版
cmkwshcmkwsh

[RDS.21] 重要なデータベースパラメータグループイベントのために、RDSイベント通知サブスクリプションを設定する必要があります

重要度: Low

  • DBParameterGroup: ["configuration change"] の通知設定があるかどうか
cmkwshcmkwsh

[RDS.22] 重要なデータベースセキュリティグループイベントのために、RDSイベント通知サブスクリプションを設定する必要があります

重要度: Low

  • DBSecurityGroup: ["configuration change","failure"] の通知設定があるかどうか
cmkwshcmkwsh

[RDS.19]〜[RDS.22] は、RDSイベントサブスクリプションじゃなくて
EventBridge や CloudTrail の活用に寄せても良さそう?

cmkwshcmkwsh

[RDS.23] RDSのデータベースとクラスタは、データベースエンジンのデフォルトポートを使用してはいけません

重要度: Low

  • 適切なネットワーク配置、アクセス制御を行っていたら無理に対応しなくても良さそう
cmkwshcmkwsh

以上です

↓まとめ

[ECS.1] Amazon ECSのタスク定義には、安全なネットワークモードとユーザー定義が必要です
[ECS.2] Amazon ECS サービスは、パブリックIPアドレスを自動的に割り当ててはいけません
[SQS.1] Amazon SQSのキューは静止時に暗号化されるべきである
[APIGateway.4] API Gatewayは、AWS WAFのWeb ACLと関連付ける必要があります
[APIGateway.5] API Gateway REST APIのキャッシュデータは静止時に暗号化されるべきである
[CloudFront.5] CloudFrontの配布物はログを有効にする必要がある
[CloudFront.6] CloudFrontのディストリビューションはAWS WAFを有効にする必要があります
[EC2.17] EC2インスタンスは複数のENIを使用してはならない
[EC2.18] セキュリティグループは、許可されたポートに対する無制限の受信トラフィックのみを許可する必要がある
[EC2.19] セキュリティグループは、リスクの高いポートへの無制限のアクセスを許可してはならない
[ELB.7] Classic Load Balancer では Connection Draining を有効にする必要があります
[ES.4] Amazon Elasticsearch ServiceのドメインエラーのCloudWatch Logsへのロギングが有効であること
[ES.5] Elasticsearchドメインは監査ログを有効にすべきである
[ES.6] Elasticsearchドメインは少なくとも3つのデータノードを持つべきである
[ES.7] Elasticsearchドメインには、少なくとも3つの専用マスターノードを設定する必要がある
[ES.8] Elasticsearchドメインへの接続はTLS 1.2で暗号化すべきである
[IAM.21] 作成したIAMカスタマーマネージメントポリシーでは、サービスに対するワイルドカードアクションを許可してはならない
[RDS.15] RDS DBクラスターは複数のアベイラビリティーゾーンに対して構成されるべきである
[RDS.16] RDS DBクラスターは、スナップショットにタグをコピーするように構成されるべきである
[RDS.17] RDS DBインスタンスは、スナップショットにタグをコピーするように設定する必要があります
[RDS.18] RDSインスタンスはVPC内に配置すべきである
[RDS.19] クラスタの重要なイベントについては、RDSイベント通知サブスクリプションを設定する必要があります
[RDS.20] 重要なデータベースインスタンスのイベントに対して、RDSイベント通知のサブスクリプションを設定する必要があります
[RDS.21] 重要なデータベースパラメータグループイベントのために、RDSイベント通知サブスクリプションを設定する必要があります
[RDS.22] 重要なデータベースセキュリティグループイベントのために、RDSイベント通知サブスクリプションを設定する必要があります
[RDS.23] RDSのデータベースとクラスタは、データベースエンジンのデフォルトポートを使用してはいけません
[Redshift.4] Amazon Redshiftクラスターは監査ログを有効にする必要があります
[S3.8] S3ブロックのパブリックアクセス設定はバケットレベルで有効にすべき
このスクラップは2021/07/26にクローズされました