puppet-zabbix icon indicating copy to clipboard operation
puppet-zabbix copied to clipboard

Manage resources leaks API password in resource types

Open Bouke opened this issue 7 years ago • 3 comments

Currently the way zabbix_host is configured, it will inject $zabbix_api_pass into the resource with the property name zabbix_pass. This results in a password leak when puppet reports / resources can be inspected by third parties. At our setup, we run puppetboard without authentication. Other packages don't put clear text passwords in reports and resources, so this setup mostly works for us.

Affected Puppet, Ruby, OS and module versions/distributions

  • Puppet: 4.10.4
  • Ruby: ?
  • Distribution: Ubuntu 16.04
  • Module version: 4.1.3

How to reproduce (e.g Puppet code you use)

What are you seeing

When running the following PQL, the result includes the API credentials:

resources { type = "Zabbix_host" }

What behaviour did you expect instead

No passwords being logged.

Any additional information you'd like to impart

Other modules (e.g. puppetlabs/mongodb) write the credentials to a file (~/.mongorc.js). This way, there's no need to communicate the credentials through the resources.

Bouke avatar Aug 25 '17 14:08 Bouke

An alternative might be to use the Sensitive Data type: https://docs.puppet.com/puppet/4.6/lang_data_sensitive.html

juniorsysadmin avatar Sep 29 '17 06:09 juniorsysadmin

ccing @roidelapluie for comment

juniorsysadmin avatar Sep 29 '17 06:09 juniorsysadmin

Yes ; immediately we should use sensitive data type and in next major release switch to auth file.

roidelapluie avatar Oct 01 '17 18:10 roidelapluie