Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add --no-secrets-in-config command line option #18092

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

V02460
Copy link
Contributor

@V02460 V02460 commented Jan 17, 2025

Adds the --no-secrets-in-config command line option that makes Synapse reject all configurations containing keys with in-line secret values. Currently this rejects

  • turn_shared_secret
  • registration_shared_secret
  • macaroon_secret_key
  • recaptcha_private_key
  • recaptcha_public_key
  • experimental_features.msc3861.client_secret
  • experimental_features.msc3861.jwk
  • experimental_features.msc3861.admin_token
  • form_secret
  • redis.password

This PR complements my other PRs1 that add the corresponding _path variants for this class of config options. It enables admins to enforce a policy of no secrets in configuration files and guards against accident and malice.

Because I consider the flag --no-secrets-in-config to be security-relevant, I did not add a corresponding --secrets-in-config flag; this way, if Synapse command line options are appended at various places, there is no way to weaken the once-set setting with a succeeding flag.

Pull Request Checklist

  • Pull request is based on the develop branch
  • Pull request includes a changelog file. The entry should:
    • Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from EventStore to EventWorkerStore.".
    • Use markdown where necessary, mostly for code blocks.
    • End with either a period (.) or an exclamation mark (!).
    • Start with a capital letter.
    • Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry.
  • Code style is correct
    (run the linters)

Footnotes

  1. #17690, #17717, #17983, #17984, #18004, #18090

@V02460 V02460 requested a review from a team as a code owner January 17, 2025 16:55
@V02460 V02460 force-pushed the no-secrets-in-config branch from fb2ffff to f58ecc5 Compare January 20, 2025 16:26
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.

1 participant