Azure Database for MySQL Flexible ServerのTLS 1.2以上必須化設定
このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、Azure CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、Azure Database for MySQL Flexible ServerでTLS 1.1以前のバージョンが有効化されている問題について、リスクと対策を解説します。
ポリシーの説明
Azure Database for MySQL Flexible Serverは、MySQL Community EditionをベースとしたフルマネージドPaaSデータベースサービスです。クライアント・サーバー間の通信にはTLS(Transport Layer Security)プロトコルを使用しますが、TLS 1.0および1.1は複数の深刻な脆弱性が存在し、現在は非推奨となっています。
TLS 1.2以上を必須化することで、既知の暗号化脆弱性から保護し、データの機密性と完全性を確保します。Azure全体でのTLS 1.0/1.1のサポート終了(2025年8月31日)に先立ち、早期の対応が必要です。
修復方法
前提条件の確認
修復を開始する前に、以下を確認してください:
- クライアント互換性の確認
# MySQLクライアントのTLSサポート確認 mysql --ssl-mode=REQUIRED --tls-version=TLSv1.2,TLSv1.3 \\\\ -h yourserver.mysql.database.azure.com -u username -p \\\\ -e "SHOW STATUS LIKE 'Ssl_version';" - アプリケーションドライバーの更新
- MySQL Connector/J 8.0.28以上
- MySQL Connector/NET 8.0.28以上
- MySQL Connector/Python 8.0.28以上
- PHP mysqli 7.4以上またはPDO_MySQL
コンソールでの修復手順
新規サーバー作成時の設定
- Azure Portalにログイン
- https://portal.azure.com にアクセス
- 適切な権限(Contributor以上)でサインイン
- MySQL Flexible Serverの作成
- 「リソースの作成」→「データベース」→「Azure Database for MySQL Flexible Server」
- 基本設定の構成

- サブスクリプション、リソースグループを選択
- サーバー名:グローバルに一意な名前
- リージョン:データレジデンシー要件に基づいて選択
- MySQL バージョン:8.0(最新の8.0.x推奨)
- ワークロード タイプ:本番環境向けに適切なサイズを選択
- ネットワーク設定

- 接続方法:「プライベートアクセス(VNet統合)」を推奨
- パブリックアクセス選択時:
- 「SSL接続の強制」を必ず有効化
- ファイアウォール規則を最小限に制限
- セキュリティ設定(重要)
- 「セキュリティ」タブに移動
- 「最小TLSバージョン」:TLS 1.2を選択
- Microsoft Entra認証:有効化推奨
- データ暗号化:カスタマーマネージドキー(CMK)の検討
- 確認と作成
- 設定内容を確認
- 特に「最小TLSバージョン: TLS1.2」を確認
- 「作成」をクリック
既存サーバーの設定変更
- 対象サーバーの選択
- Azure Portal で対象のMySQL Flexible Serverリソースを開く
- サーバーパラメーターの変更
- 左メニュー「設定」→「サーバーパラメーター」を選択
- TLSバージョンの設定

- 検索ボックスに「tls_version」と入力
- 値を 「TLSv1.2,TLSv1.3」 に設定(TLS 1.0/1.1を除外)
- 注意:スペースを含めないこと
- SSL接続の強制
- 「require_secure_transport」を検索
- 値を 「ON」 に設定
- 暗号スイートの制限(オプション)
- 「ssl_cipher」パラメーターで強力な暗号のみを指定:
TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256 - 変更の保存と適用
- 「保存」をクリック
- サーバー再起動が必要な場合は、メンテナンスウィンドウ中に実施
- 接続の確認
- 変更適用後、全クライアントからの接続を確認
- 監査ログでTLSバージョンを確認
最後に
Azure Database for MySQL Flexible ServerでのTLS 1.2以上の必須化は、現代のセキュリティ要件において不可欠な対策です。2025年8月31日のTLS 1.0/1.1サポート終了に向けて、早期の対応が必要です。
主要なポイント:
- TLS 1.2/1.3のみを許可し、既知の脆弱性から保護
- require_secure_transportをONにしてSSL接続を強制
- 強力な暗号スイートのみを使用
- 監査ログで接続を監視
- クライアントアプリケーションの互換性を事前に検証
この設定により、BEAST、POODLE、CRIMEなどの攻撃から保護し、PCI DSS 4.0、HIPAA、GDPRなどのコンプライアンス要件を満たすことができます。
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理することが可能です。 運用が非常に楽にできる製品になっていますので、ぜひ興味がある方はお問い合わせください。 最後までお読みいただきありがとうございました。