TLS 연결 강제가 비활성화된 Azure MySQL

Azure MySQL 연결에 TLS를 요구하고 클라이언트에서 서버 인증서를 검증하세요.

설명

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"

참조