Skip to content

FLINK-37953: Add OBF password obfuscation support for SSL configurations #26677

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

basapuram-kumar
Copy link

What is the purpose of the change

This PR implements OBF password obfuscation support for Flink's SSL configurations to eliminate plaintext password exposure in configuration files

Brief change log

New Features:
Added support for Jetty OBF password obfuscation format (OBF:...) for all SSL-related passwords:

  1. keystore-password
  2. key-password
  3. truststore-password

Changes

  • Modified SSLUtils to automatically detect and decrypt OBF passwords
  • Updated configuration validation to handle both plaintext and OBF formats

Backwards Compatibility:

  • Maintained full support for existing plaintext passwords
  • No configuration format changes required
  • History server Web server UI launches as usual in this OBF mode too.

Verifying this change

With OBF password obfuscation way, the functionality of the Flink's works seamlessly and the history server webUI also launches in SSL mode same as the Plain-text mode.

(Please pick either of the following options)

This change is a trivial rework / code cleanup without any test coverage.

@flinkbot
Copy link
Collaborator

flinkbot commented Jun 13, 2025

CI report:

Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

@gaborgsomogyi
Copy link
Contributor

Adding OBF password support significantly improves Flink's security by eliminating plaintext password exposure in config files.

I don't see any increase because the stolen obfuscated passwords can be de-obfuscated on any machine which has java compiler. There are solutions which can be added to decrease the attack surface but that:

  • is encryption and not reversible obfuscation
  • has KMS system involved
  • has pluggable implementations

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.

3 participants