Skip to content

ct_server: gate plaintext Trillian gRPC behind explicit opt-in - #1760

Open
1seal wants to merge 1 commit into
google:masterfrom
1seal:fix/ct-server-tls-default
Open

ct_server: gate plaintext Trillian gRPC behind explicit opt-in#1760
1seal wants to merge 1 commit into
google:masterfrom
1seal:fix/ct-server-tls-default

Conversation

@1seal

@1seal 1seal commented Feb 2, 2026

Copy link
Copy Markdown
Contributor

fixes #1759

what changed:

  • added --trillian_insecure_backend (default: false)
  • changed trillian dial behavior:
    • TLS is used when --trillian_tls_ca_cert_file is set
    • plaintext is allowed only when either:
      • --trillian_insecure_backend is set (unsafe override), or
      • all configured trillian backends are local (loopback or unix socket) for backwards compatibility
    • otherwise, ct_server exits early with a clear error directing operators to configure TLS or explicitly opt into plaintext
  • added small unit tests for backend locality detection and the dial-option policy

rationale:
this avoids a silent insecure-by-default transport configuration when ctfe ↔ trillian traffic crosses a network trust boundary, while keeping common single-host and dev deployments working.

operator impact / migration:

  • if your trillian backend is reachable via a non-loopback address and you do not set --trillian_tls_ca_cert_file, ct_server will now refuse to start unless you explicitly set --trillian_insecure_backend.
  • recommended migration is to configure TLS using --trillian_tls_ca_cert_file.

testing:

  • go test ./trillian/ctfe/ct_server

- add --trillian_insecure_backend to explicitly allow plaintext

- keep plaintext default only for local backends (loopback/unix)

- refuse non-local plaintext without TLS

- add unit tests for the policy
@1seal
1seal requested a review from a team as a code owner February 2, 2026 14:10
@1seal
1seal requested review from phbnf and removed request for a team February 2, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ct_server: require explicit opt-in for plaintext gRPC to Trillian backends

1 participant