설명
데이터베이스와 클라이언트가 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를 사용한다고 가정하지 말고 클라이언트와 엔진의 연결 요구사항을 확인하세요.