Prevent logging password as plain text in snapshot and indices collectors #1068
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The elasticsearch_exporter inconsistently masks passwords in log output. While most log entries properly mask credentials with
***
, some error messages expose plain text passwords.Evidence
The logs below demonstrate the issue:
elastic:***@localhost:9200
elastic:PlainTextPasswordGoesHere!@localhost:9200
Replication Steps
go run main.go tls.go --es.uri https://elastic:PlainTextPasswordGoesHere\!@localhost:9200 \ --log.format=logfmt --log.level=info --es.all --es.indices --es.indices_settings \ --es.indices_mappings --no-es.aliases --es.shards --collector.snapshots \ --es.timeout=30s --es.ssl-skip-verify --web.listen-address=:9108
Impact
Expected Fix
All URL logging should consistently mask credentials, regardless of whether they appear in info, warning, or error messages.