Vitess
v23.0.7Storage & DataTLS 인증서 폐기 목록 검증과 엄격한 테이블 ACL 적용이 강화된 보안 유지보수 릴리스입니다. vtctld의 기존 HTTP API와 일부 Go API가 제거되고, API 관련 플래그의 동작과 압축 설정의 의미도 바뀌어 해당 기능을 사용하는 환경에서는 호환성을 확인해야 합니다.
조치 필요 (6)
security인증서 폐기 목록 설정 시 gRPC TLS 연결
--tablet-grpc-crl,--vtgate-grpc-crl,--vtctld-grpc-crl을 비롯한*-grpc-crl플래그를 설정했지만 클라이언트 인증서와 인증 기관이 모두 없는 gRPC 클라이언트는 이제 시스템 루트로 서버를 검증하는 TLS 연결을 맺습니다. 인증서 폐기 목록을 무시한 평문 연결은 사용하지 않습니다.security확인할 수 없는 테이블의 엄격한 ACL 거부
vttablet은 문장이 참조하는 테이블을 확인하지 못하면 엄격한 테이블 ACL에서 검사를 건너뛰지 않고 문장을 거부합니다. 이 동작은
--queryserver-config-strict-table-acl과--queryserver-config-acl-exempt-acl설정에 적용됩니다.securityvtctld
/api/HTTP API 제거vtctld가
/api/에서 제공하던 HTTP API를 제거했습니다.breaking
--compression-level값1의 의미 변경--compression-level에서 값0과1은 빠른 압축기를 선택하며, 기본값1도 여기에 해당합니다. 값1을 해시 체인 탐색 깊이 1로 사용하던 동작이 바뀌었습니다.breakingvtgate 업그레이드 전 대상
SET하위 쿼리 제한모든 vtgate가 업그레이드될 때까지 대상
SET문장에서 하위 쿼리를 피하거나, 먼저 vtgate를 업그레이드해야 합니다.breakingvtctld Go API 제거
Go 패키지를 사용하는 코드에서
vtctld.,InitVtctld vtctld.,ActionRepository vtctld.,ActionResult vtctld.을 더 이상 사용할 수 없습니다.TabletWithURL
미리 준비 (1)
deprecatedvtctld API 관련 플래그 사용 중단v26에서 제거 예정
API를 설정하던 vtctld와 vtcombo의
--cell,--proxy-tablets,--action-timeout,--tablet-health-keep-alive플래그는 이제 동작하지 않는 사용 중단 항목입니다. 이 플래그들은 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.
조치가 필요한 릴리스가 나왔을 때 주간 메일로 알려드립니다. 이번 릴리스의 보안 패치와 브레이킹 체인지 같은 것들입니다.