설명
Azure MySQL에서 TLS 연결을 강제하지 않으면 암호화되지 않은 데이터베이스 연결이 허용될 수 있습니다. 과거 Single Server의 enforce_ssl과 현재 Flexible Server의 require_secure_transport는 서로 다른 설정입니다.
잠재적 영향
평문 연결에서는 쿼리와 결과 데이터가 네트워크에서 노출되거나 변조될 수 있습니다.
해결 방법
현재 Flexible Server에서 require_secure_transport를 ON으로 설정하고 클라이언트도 TLS와 서버 인증서 검증을 사용하도록 구성하세요.
예시
변경 전은 지원이 종료된 Single Server의 과거 설정입니다. 변경 후는 이미 준비된 Flexible Server testserver의 TLS 강제 설정이며, 서버나 데이터를 이전하는 예시는 아닙니다.
변경 전
yaml
- name: MySQL 서버 생성
azure.azcollection.azure_rm_mysqlserver:
resource_group: myResourceGroup
name: testserver
location: eastus
storage_mb: 5120
enforce_ssl: false
version: "5.6"
admin_username: cloudsa
admin_password: "{{ mysql_admin_password }}"
no_log: true
변경 후
yaml
- name: MySQL TLS 설정
azure.azcollection.azure_rm_mysqlflexibleconfiguration:
resource_group: myResourceGroup
server_name: testserver
name: require_secure_transport
value: "ON"