接続元の範囲を確認する必要がある従来の DB セキュリティグループ

DB の接続元範囲は、アドレス数だけでなく実際に必要なクライアントを基準に決めてください。

説明

DB セキュリティグループの広い CIDR は、接続が必要なアプリケーションや管理者以外のアドレスも許可する可能性があります。プライベート範囲でも、すべてのシステムを信頼できるとは限りません。

プレフィックスを長くするとアドレス数は減りますが、その長さだけで適切な権限は保証されません。実際のクライアントと接続経路に基づいて制限してください。

想定される影響

  • 業務上不要なシステムから DB への接続を試行できる場合があります。
  • 広範な例外が増えると、許可対象と変更の影響を把握しにくくなります。

対処方法

  • 実際のクライアントアドレスと管理経路を確認し、必要な範囲だけを許可してください。
  • 現在の VPC セキュリティグループでは、適切な場合はアプリケーションのセキュリティグループを接続元に使い、実際の DB ポートも絞ってください。
  • 例外の担当者と有効期限を管理し、変更後の必要な接続とアクセス拒否を確認してください。

例

従来の DB Security Group の CIDR を比較する例です。このリソースは Terraform AWS プロバイダー 5.0 で削除されました。現在の環境には VPC セキュリティグループを使い、実際に承認されたクライアントに合わせて範囲を指定してください。

変更前

hcl
resource "aws_db_security_group" "db_sg" {
  name = "rds_sg"

  ingress {
    cidr = "10.0.0.0/24"
  }
}

10.0.0.0/24 は 256 個の IPv4 アドレスを含みます。すべてに DB アクセスが必要か確認してください。

変更後

hcl
resource "aws_db_security_group" "db_sg" {
  name = "rds_sg"

  ingress {
    cidr = "10.0.0.0/25"
  }
}

10.0.0.0/25 は 128 個の IPv4 アドレスを含みます。範囲が狭くなっても、不要なアドレスは除外する必要があります。

参考資料