Vitess
v23.0.7Storage & DataTLS の証明書失効リスト検証とテーブル ACL の適用範囲が見直され、従来より厳格に接続や文を拒否する動作になっています。`vtctld` の HTTP API と一部の Go API は削除され、関連フラグには互換性上の変更があります。
要対応 (6)
securityCRL設定時のgRPC接続をTLSに変更
--tablet-grpc-crl、--vtgate-grpc-crl、--vtctld-grpc-crlなどで CRL を設定し、クライアント証明書と CA のどちらも設定していない gRPC クライアントは、システムルートでサーバーを検証する TLS 接続を使用します。CRL を無視した平文接続にはなりません。securityテーブルを特定できない文をstrict table ACLで拒否
vttabletは文のテーブルを特定できない場合、strict table ACL でチェックを省略せず、その文を拒否するようになりました。対象は--queryserver-config-strict-table-aclと--queryserver-config-acl-exempt-aclの設定に関係します。security
vtctldの/api/HTTP APIを削除vtctldが/api/で提供していた HTTP API が削除されました。vtctldclientとVtctldServerによる該当 API は利用できません。breaking
--compression-levelの値1の意味を変更--compression-levelの値0と1は高速コンプレッサーを選ぶようになりました。1がハッシュチェーン探索深度 1 を指定していた動作はなくなりました。breaking対象の
SET文に関するvtgateの互換性を変更対象の
SET文にサブクエリがある場合、すべてのvtgateがアップグレードされるまではその構成を使用できません。vtgateを先にアップグレードした構成では使用できます。breaking
vtctldのGo APIを削除Go パッケージを利用する場合、
vtctld.、InitVtctld vtctld.、ActionRepository vtctld.、ActionResult vtctld.は削除されました。TabletWithURL
事前準備 (1)
deprecatedAPI関連フラグを非推奨のno-opに変更v26で削除予定
API を設定していた
vtctldとvtcomboの--cell、--proxy-tablets、--action-timeout、--tablet-health-keep-aliveは、非推奨の no-op になりました。これらは v26 で削除されます。
その他の記録済み変更 12 件すべてsecurity fixes 6 · value changes 3 · fixes 2 · additions 1
security fixes (6)
- These denials have no table to name, so they are counted under a new
TableNamelabel,undetermined-table-set(with an emptyTableGroup), inTableACLDenied. - A CRL only applies when the certificate of its issuer in the chain validates it.
- A peer passes when any of its verified chains holds no revoked certificate
- A trust anchor, that is, a CA certificate in the CA file that a chain ends at, is trusted as configured and not checked against its issuer's CRL.
- When a CRL file holds several complete CRLs from one issuer, only the newest applies
- A CRL whose authority key identifier names a different key than the CA certificate's, as the CRL of a re-keyed CA's predecessor does, is not held against that CA's certificates.
value changes (3)
- The
lz4compression engine now uses thepierrec/lz4/v4library instead ofpierrec/lz4v2. This fixes broken block decoding on amd64 in the v2 library. - A
SETof a system variable in a session targeted at a shard (use ks:-80) is now evaluated once on the target shard - A server that has both flags also says so in its startup warning now.
fixes (2)
SELECT @@varafter a non-constant targetedSETnow returns the value instead of failing to evaluate the stored text.- A targeted
SETthat fails no longer leaves its value in the session.
additions (1)
- now reports its connections by transport,
tlsorplaintext, in two new stats:GrpcOptionalTlsOpenConnections, the connections currently open, andGrpcOptionalTlsConnections, the connections handshaken so far.
対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチと破壊的変更も、その一例です。