さくらのクラウドニュース

さくらのクラウドの最新情報や、開発に役立つ技術情報をお届けします。

おしらせ

データベースアプライアンスにおけるTLS有効化について

平素よりさくらのクラウドをご利用いただき、誠にありがとうございます。

この度、さくらのクラウドで提供中のデータベース(アプライアンス)において、今後、通信経路をTLSに対応いたします。

概要

今後、データベース(アプライアンス)をご利用時の接続に関して、原則(*) 「自己署名証明書によるTLS1.2, 1.3に対応した通信経路の暗号化が有効」な状態で作成されるようになります。
通信経路の暗号化のみに対応しており、CA証明書による接続先の検証およびクライアント証明書認証には対応しておりません。
証明書の期限は5年間であり、証明書のローテーションには対応しておりません。
(*) TLS有効化対象の既存アプライアンスは 3月31日時点でサポートされているMariaDB 10.11およびPostgreSQL 14のみです。

対象

TLS有効化対象の既存アプライアンスは 3月31日時点でサポートされているMariaDB 10.11およびPostgreSQL 14のみです。
既存の利用されているDBアプライアンスは、4月1日 16:00までにTLS有効の準備がされ、それ以降にアプライアンスを「シャットダウン」「起動」をするとTLS有効になります。
・「DBインスタンス再起動」ではTLS有効にはなりません。「シャットダウン」「起動」が必要です。
・TLS有効でないアプライアンスから「クローン」「リードレプリカを作成」した場合でも、クローン後または新規に作成されるリードレプリカはTLS有効状態となります。
・上記以前のバージョンをご利用のアプライアンスはTLS有効化の対象となりません。

DBアプライアンスのバージョンは以下の手順でご確認いただけます。

### MariaDBの場合 
mysql SELECT @@version; 
+-----------------+ 
| @@version       | 
+-----------------+ 
| 10.11.9-MariaDB |          <--- 10.11.xであることが条件です
 +-----------------+ 
1 row in set (0.00 sec) 
  
### PostgreSQLの場合 
SELECT * FROM version(); 
                                                 version 
---------------------------------------------------------------------------------------------------------- 
 PostgreSQL 14.15 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-22), 64-bit  (1 row)  <--- PostgreSQL 14.xであることが条件です 

挙動の違い

接続元ライブラリ(またはクライアントライブラリ)の設定 TLS有効でないアプライアンス TLS有効なアプライアンス
指定なし 平文通信 クライアントライブラリの実装に依存します (※)
TLS無効 平文通信 平文通信
TLS有効 接続失敗 TLS通信 (※)

※ クライアントライブラリの仕様/実装によっては、自己署名証明書を拒否して接続が失敗する可能性がございます。予めご利用のクライアントライブラリの仕様/実装をご確認ください。

今回有効化できる暗号スイートは以下の通りです。(変更する場合があります)
暗号スイートの危殆化状況は日々変動します。CRYPTREC などの情報をもとに、お客様に必要な強度の暗号スイートをご利用ください。

仕様変更に関する免責事項 セキュリティの安全性維持のため、以下の事由により事前の予告なく、特定の暗号スイートの無効化や推奨設定の変更を実施する場合があります。

・使用中のアルゴリズムに深刻な脆弱性が発見された場合。
・国際的なセキュリティ基準(NIST, PCI DSS等)や公的基準に準拠する場合。

※ MariaDBの冗長化オプションをご利用の場合、TLSv1.2のみのサポートとなっておりましたが、本対応後はTLSv1.2およびTLSv1.3に両対応いたします。

DBの種類 TLSバージョン RDBMS設定値
MariaDB TLS 1.2 , TLS 1.3 tls_version = TLSv1.2,TLSv1.3
PostgreSQL TLS 1.2 , TLS 1.3 ssl_min_protocol_version = TLS1.2

ssl_ciphers = HIGH:MEDIUM:+3DES:!aNULL

各DBの種類に対応した暗号スイートは以下をご参照ください。

MariaDBの暗号スイート(クリックすると展開されます)

TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256
TLS_AES_128_CCM_SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-CHACHA20-POLY1305
ECDHE-RSA-CHACHA20-POLY1305
ECDHE-ECDSA-AES256-CCM
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-CCM
ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-ECDSA-AES256-SHA
ECDHE-RSA-AES256-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-RSA-AES128-SHA
AES256-GCM-SHA384
AES256-CCM
AES128-GCM-SHA256
AES128-CCM
AES256-SHA256
AES128-SHA256
AES256-SHA
AES128-SHA
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-CHACHA20-POLY1305
DHE-RSA-AES256-CCM
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-CCM
DHE-RSA-AES256-SHA256
DHE-RSA-AES128-SHA256
DHE-RSA-AES256-SHA
DHE-RSA-AES128-SHA
PSK-AES256-GCM-SHA384
PSK-CHACHA20-POLY1305
PSK-AES256-CCM
PSK-AES128-GCM-SHA256
PSK-AES128-CCM
PSK-AES256-CBC-SHA
PSK-AES128-CBC-SHA256
PSK-AES128-CBC-SHA
DHE-PSK-AES256-GCM-SHA384
DHE-PSK-CHACHA20-POLY1305
DHE-PSK-AES256-CCM
DHE-PSK-AES128-GCM-SHA256
DHE-PSK-AES128-CCM
DHE-PSK-AES256-CBC-SHA
DHE-PSK-AES128-CBC-SHA256
DHE-PSK-AES128-CBC-SHA
ECDHE-PSK-CHACHA20-POLY1305
ECDHE-PSK-AES256-CBC-SHA
ECDHE-PSK-AES128-CBC-SHA256
ECDHE-PSK-AES128-CBC-SHA

PostgreSQLの暗号スイート(クリックすると展開されます)

TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256
TLS_AES_128_CCM_SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-GCM-SHA384
DHE-DSS-AES256-GCM-SHA384
DHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-CHACHA20-POLY1305
ECDHE-RSA-CHACHA20-POLY1305
DHE-RSA-CHACHA20-POLY1305
ECDHE-ECDSA-AES256-CCM8
ECDHE-ECDSA-AES256-CCM
DHE-RSA-AES256-CCM8
DHE-RSA-AES256-CCM
ECDHE-ECDSA-ARIA256-GCM-SHA384
ECDHE-ARIA256-GCM-SHA384
DHE-DSS-ARIA256-GCM-SHA384
DHE-RSA-ARIA256-GCM-SHA384
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-GCM-SHA256
DHE-DSS-AES128-GCM-SHA256
DHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-CCM8
ECDHE-ECDSA-AES128-CCM
DHE-RSA-AES128-CCM8
DHE-RSA-AES128-CCM
ECDHE-ECDSA-ARIA128-GCM-SHA256
ECDHE-ARIA128-GCM-SHA256
DHE-DSS-ARIA128-GCM-SHA256
DHE-RSA-ARIA128-GCM-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES256-SHA384
DHE-RSA-AES256-SHA256
DHE-DSS-AES256-SHA256
ECDHE-ECDSA-CAMELLIA256-SHA384
ECDHE-RSA-CAMELLIA256-SHA384
DHE-RSA-CAMELLIA256-SHA256
DHE-DSS-CAMELLIA256-SHA256
ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA256
DHE-DSS-AES128-SHA256
ECDHE-ECDSA-CAMELLIA128-SHA256
ECDHE-RSA-CAMELLIA128-SHA256
DHE-RSA-CAMELLIA128-SHA256
DHE-DSS-CAMELLIA128-SHA256
RSA-PSK-AES256-GCM-SHA384
DHE-PSK-AES256-GCM-SHA384
RSA-PSK-CHACHA20-POLY1305
DHE-PSK-CHACHA20-POLY1305
ECDHE-PSK-CHACHA20-POLY1305
DHE-PSK-AES256-CCM8
DHE-PSK-AES256-CCM
RSA-PSK-ARIA256-GCM-SHA384
DHE-PSK-ARIA256-GCM-SHA384
AES256-GCM-SHA384
AES256-CCM8
AES256-CCM
ARIA256-GCM-SHA384
PSK-AES256-GCM-SHA384
PSK-CHACHA20-POLY1305
PSK-AES256-CCM8
PSK-AES256-CCM
PSK-ARIA256-GCM-SHA384
RSA-PSK-AES128-GCM-SHA256
DHE-PSK-AES128-GCM-SHA256
DHE-PSK-AES128-CCM8
DHE-PSK-AES128-CCM
RSA-PSK-ARIA128-GCM-SHA256
DHE-PSK-ARIA128-GCM-SHA256
AES128-GCM-SHA256
AES128-CCM8
AES128-CCM
ARIA128-GCM-SHA256
PSK-AES128-GCM-SHA256
PSK-AES128-CCM8
PSK-AES128-CCM
PSK-ARIA128-GCM-SHA256
AES256-SHA256
CAMELLIA256-SHA256
AES128-SHA256
CAMELLIA128-SHA256

注意事項

TLS有効になるタイミングでお客様のアプリケーションの動作が変わる可能性がございます。
有効前後で同じ通信方式を継続したい場合、3月31日以前に明示的なTLS無効での接続の設定をお願いいたします。