6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Japan AWS Jr. ChampionsAdvent Calendar 2024

Day 23

Amazon VPC周りのセキュリティをBenchmarksから覗く!

Posted at

本記事は、AWS Jr.Champions Adventcalendar 2024 の23日目の記事です(遅くなりました、、)。

はじめに

こんにちは。
セキュリティって難しいですよね、、笑

Amazon VPC周りでは特に初学者自身が設計したときに、NWがセキュリティルールに準拠できているのか、不安に思うこともあるのではないでしょうか?

AWS Security Hubで利用する各種設定ルールが8個あります。

本記事では、各種設定ルールからVPCの設定項目のセキュリティチェックポイントを一覧化して、NW周りのセキュリティ監視項目をピックアップしてみました。

image.png

各種ルールで重複する項目がたくさんあるので、重複したルールに:eight_spoked_asterisk:を先頭に付けました。
Security Hubはチェック数に応じた料金体制なので、重複の内容を把握して、適用するルールを正しく定めることでコストの最適化が見込めます。

AWS Foundational Security Best Practices

AWS Foundational Security Best Practices 標準は、AWSアカウントおよびリソースがセキュリティのベストプラクティスから逸脱した場合に検出する一連のコントロールです。

各種設定ルールの中で最もボリュームがあります。

重要度 サービス 内容
EC2 VPCデフォルトのセキュリティグループでは、インバウンドトラフィックまたはアウトバウンドトラフィックを許可しないでください。
EC2 VPCフローログ記録はすべてのVPCで有効にする必要があります。
EC2 EC2インスタンスにはパブリックIPv4アドレスを指定しないでください。(正当なパブリックIPアドレスを持つEC2インスタンスを維持する正当なユースケースがある場合は、このコントロールの結果を抑制できます。)
EC2 未使用のEIPsは削除する必要があります。
EC2 セキュリティグループは、0.0.0.0/0または::/0からポート22への入力は許可しないでください。
EC2 セキュリティグループは、0.0.0.0/0または::/0からポート3389への入力は許可しないでください。
EC2 サブネットはパブリックIPアドレスを自動的に割り当てないでください。
EC2 未使用のネットワークアクセスコントロールリストは削除する必要があります。
EC2 セキュリティグループは、許可されたポートに対する無制限の受信トラフィックのみを許可する必要があります。
EC2 セキュリティグループは、高リスクのポートへの無制限アクセスを許可しないでください。
EC2 ネットワークACLsは 0.0.0.0/0 からポート 22 またはポート 3389 への入力を許可しないでください。
EC2 Transit Gateway はVPCアタッチメントリクエストを自動的に受け入れないでください。
EC2 EC2VPN接続ではログ記録が有効になっている必要があります。
ECS ECSサービスには、パブリック IP アドレスを自動的に割り当てないでください。
ECS ECSタスクセットには、パブリック IP アドレスを自動的に割り当てないでください。
ELB Application、Network、Gateway Load Balancer は複数のアベイラビリティーゾーンにまたがる必要があります。
RDS RDS DBクラスターは複数のアベイラビリティーゾーンにまたがる必要があります。
Lambda Lambda 関数は複数のアベイラビリティーゾーンで動作する必要があります。
  • エンドポイントシリーズ
重要度 サービス 内容
EC2 VPCsでXXXサービスのインターフェースエンドポイント設定すべきです。

下記は設定が推奨されているサービスです。事前にインターフェースエンドポイントがあるか確認して、NAT-Gatewayで通信すべきか確認するステップを挟みたいですね。

  • タグ付シリーズ
重要度 サービス 内容
EC2 XXXにはタグを付ける必要があります。

特にGatewayシリーズは他環境も挟み、IaC管理下にしていない場合などもケースによってはあると思うので、気をつけたいです。

CIS AWS Foundations Benchmark

Center for Internet Security (CIS) AWS Foundations Benchmark は、一連のセキュリティ設定のベストプラクティスとして機能します。これらの業界で認められているベストプラクティスは、明確でstep-by-stepに実装と評価の手順を提供します。

Security Hub は CIS AWS Foundations Benchmark の各バージョンをサポートしていますが、セキュリティのベストプラクティスを常に最新の状態に保つため、v3.0.0 を使用することをお勧めします。

CIS AWS Foundamental BenchMark v3.0.0

重要度 サービス 内容
EC2 :eight_spoked_asterisk: VPCデフォルトのセキュリティグループは、インバウンドまたはアウトバウンドを許可しないでください。
EC2 :eight_spoked_asterisk: VPCフローログ記録はすべてのVPCで有効にする必要があります。
EC2 :eight_spoked_asterisk: ネットワークACLsは、0.0.0.0/0からポート22またはポート3389への入力は許可しないでください。
EC2 :eight_spoked_asterisk: EC2セキュリティグループは、0.0.0.0/0からリモートサーバー管理ポートへの入力を許可しないでください。
EC2 :eight_spoked_asterisk: EC2セキュリティグループ::0/0からリモートサーバー管理ポートへの入力を許可しないでください。

CIS AWS Foundamental BenchMark v1.4.0

重要度 サービス 内容
CloudWatch セキュリティグループの変更に対してログメトリクスフィルターとアラートが存在することを確認する。
CloudWatch ネットワークACLsの変更に対してログメトリクスフィルターとアラートが存在することを確認する。
CloudWatch ネットワークゲートウェイの変更に対してログメトリクスフィルターとアラートが存在することを確認する。
CloudWatch ルートテーブルの変更に対してログメトリクスフィルターとアラートが存在することを確認する。
CloudWatch VPCの変更に対してログメトリクスフィルターとアラートが存在することを確認する。
EC2 :eight_spoked_asterisk: VPCデフォルトのセキュリティグループは、インバウンドまたはアウトバウンドを許可しないでください。
EC2 :eight_spoked_asterisk: VPCフローログ記録はすべてのVPCで有効にする必要があります。
EC2 :eight_spoked_asterisk: ネットワークACLsは、0.0.0.0/0からポート22またはポート3389への入力は許可しないでください。

CIS AWS Foundamental BenchMark v1.2.0

重要度 サービス 内容
CloudWatch :eight_spoked_asterisk: セキュリティグループの変更に対してログメトリクスフィルターとアラートが存在することを確認する。
CloudWatch :eight_spoked_asterisk: ネットワークACLsの変更に対してログメトリクスフィルターとアラートが存在することを確認する。
CloudWatch :eight_spoked_asterisk: ネットワークゲートウェイの変更に対してログメトリクスフィルターとアラートが存在することを確認する
CloudWatch :eight_spoked_asterisk: ルートテーブルの変更に対してログメトリクスフィルターとアラートが存在することを確認する。
CloudWatch :eight_spoked_asterisk: VPCの変更に対してログメトリクスフィルターとアラートが存在することを確認する。
EC2 :eight_spoked_asterisk: VPCデフォルトのセキュリティグループは、インバウンドまたはアウトバウンドを許可しないでください。
EC2 :eight_spoked_asterisk: VPCフローログ記録はすべてのVPCで有効にする必要があります。
EC2 :eight_spoked_asterisk: ネットワークACLsは、0.0.0.0/0からポート22またはポート3389への入力は許可しないでください。

NIST Special Publication 800-53 Revision 5

NIST SP 800-53 Rev.5 は、米国商業省の一部である米国国立標準技術研究所 (NIST) によって開発されたサイバーセキュリティとコンプライアンスのフレームワークです。

AWS Foundational Security Best Practicesとほぼ同じような内容がそろっている印象でした。

重要度 サービス 内容
AutoScaling :eight_spoked_asterisk: Auto Scaling グループは複数のアベイラビリティーゾーンをカバーする必要があります。
AutoScaling :eight_spoked_asterisk: Auto Scaling グループの起動設定を使用して起動される Amazon EC2インスタンスにはパブリックIPアドレスを設定しないでください。
EC2 :eight_spoked_asterisk: VPCフローログ記録はすべての で有効にする必要があります。
AutoScaling :eight_spoked_asterisk: Amazon EC2インスタンスにはパブリックIPアドレスを設定しないでください。
EC2 :eight_spoked_asterisk: 未使用のEIPsは削除する必要があります。
EC2 :eight_spoked_asterisk: セキュリティグループは、0.0.0.0/0または::/0からポート22への入力は許可しないでください。
EC2 :eight_spoked_asterisk: サブネットはパブリックIPアドレスを自動的に割り当てないでください。
EC2 :eight_spoked_asterisk: 未使用のネットワークアクセスコントロールリストは削除する必要があります。
EC2 :eight_spoked_asterisk: セキュリティグループは、許可されたポートに対する無制限の受信トラフィックのみを許可する必要があります。
EC2 :eight_spoked_asterisk: セキュリティグループは、高リスクのポートへの無制限アクセスを許可しないでください。
EC2 :eight_spoked_asterisk: ネットワークACLsは 0.0.0.0/0 からポート 22 またはポート 3389 への入力を許可しないでください。
EC2 :eight_spoked_asterisk: Transit Gateway はVPCアタッチメントリクエストを自動的に受け入れないでください。
ECS :eight_spoked_asterisk: ECSサービスには、パブリック IP アドレスを自動的に割り当てないでください。
ECS :eight_spoked_asterisk: ECSタスクセットには、パブリック IP アドレスを自動的に割り当てないでください。
NetworkFirewall Network Firewall ファイアウォールを複数のアベイラビリティーゾーンにデプロイする必要があります。
  • エンドポイントシリーズ
重要度 サービス 内容
EC2 VPCsでXXXサービスのインターフェースエンドポイント設定すべきです。

Enable PCI DSS

Payment Card Industry Data Security Standard (PCIDSS) は、クレジットカードおよびデビットカードの情報を安全に処理するための一連のルールとガイドラインを提供するサードパーティーのコンプライアンスフレームワークです。

Enable PCI DSS v3.2.1

重要度 サービス 内容
EC2 :eight_spoked_asterisk: VPCデフォルトのセキュリティグループでは、インバウンドトラフィックまたはアウトバウンドトラフィックを許可しないでください。
EC2 :eight_spoked_asterisk: VPCフローログ記録はすべてのVPCで有効にする必要があります。
EC2 :eight_spoked_asterisk: 未使用のEIPsは削除する必要があります。
EC2 :eight_spoked_asterisk: セキュリティグループは、0.0.0.0/0または::/0からポート22への入力は許可しないでください。
ELB Application Load Balancer は、すべてのHTTPリクエストをHTTPSにリダイレクトするように設定する必要があります。

Enable PCI DSS v4.0.1

重要度 サービス 内容
EC2 :eight_spoked_asterisk: セキュリティグループは、0.0.0.0/0または::/0からポート22への入力は許可しないでください。
EC2 :eight_spoked_asterisk: セキュリティグループは、0.0.0.0/0または::/0からポート3389への入力は許可しないでください。
EC2 :eight_spoked_asterisk: サブネットはパブリックIPアドレスを自動的に割り当てないでください。
EC2 :eight_spoked_asterisk: ネットワークACLsは、0.0.0.0/0からポート22またはポート3389への入力は許可しないでください。
EC2 :eight_spoked_asterisk: EC2セキュリティグループは、0.0.0.0/0からリモートサーバー管理ポートへの入力を許可しないでください。
EC2 :eight_spoked_asterisk: EC2セキュリティグループ::0/0からリモートサーバー管理ポートへの入力を許可しないでください。
ECS :eight_spoked_asterisk: ECSサービスには、パブリック IP アドレスを自動的に割り当てないでください。
ECS :eight_spoked_asterisk: ECSタスクセットには、パブリック IP アドレスを自動的に割り当てないでください。

最後に

各ルールともに重複している内容が多いですが、共通して読み取れたことは、不必要なパブリックアクセス(穴開け)はシステム的に除去することでした。

今後も定期的にルールを見直し、AWS Security Hubやベストプラクティスを活用して、セキュリティの強化を進めましょう。

6
1
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
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?