Alibaba Cloud RDS の TLS 接続設定の確認

RDS の TLS 機能とクライアントの証明書検証を併せて構成してください。

説明

データベースとクライアントが TLS なしで接続すると、認証情報やクエリデータが平文で送信される場合があります。RDS の SSL 機能を有効にすることと、すべてのクライアントが暗号化された接続を使うことは、別々に確認する必要があります。

想定される影響

  • 通信経路を観測できる攻撃者に、データや認証情報が漏えいするおそれがあります。
  • サーバー証明書の検証が不十分だと、誤ったサーバーに接続するリスクがあります。

対処方法

対応する RDS エンジンとバージョンで ssl_action = "Open" を設定してください。クライアントに TLS を要求させ、正しい CA とホスト名でサーバー証明書を検証してください。必要に応じてエンジン側の TLS 強制も設定し、実際の接続が暗号化されていることを確認してください。

例

RDS MySQL の SSL 機能を比較する抜粋です。対応するバージョンとインスタンス仕様を指定し、ネットワークやアカウントは別途構成してください。

変更前

hcl
resource "alicloud_db_instance" "default" {
  engine              = "MySQL"
  engine_version      = var.mysql_version
  instance_type       = var.db_instance_type
  instance_storage    = var.db_instance_storage
  ssl_action          = "Close"
}

変更後

hcl
resource "alicloud_db_instance" "default" {
  engine              = "MySQL"
  engine_version      = var.mysql_version
  instance_type       = var.db_instance_type
  instance_storage    = var.db_instance_storage
  ssl_action          = "Open"
}

変更後は SSL 機能を有効にします。既存の接続すべてが自動的に TLS に切り替わると考えず、クライアントとエンジンの接続要件を確認してください。

参考資料