説明
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"