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

Restrict configuration file permissions #343

Merged
merged 1 commit into from
May 6, 2024

Conversation

smortex
Copy link
Collaborator

@smortex smortex commented Feb 8, 2022

PuppetDB runs as the puppetdb user. This user must have read access to the various configuration files but does not need write access to them.

This ensure the service configuration cannot be unexpectedly changed by PuppetDB itself if some vulnerability allow random code execution, limiting the possibilities of exploitation and pivoting if such a vulnerability is found.

This is a companion PR to #342: the FreeBSD port insists on secure file permissions and will enforce them when the service start. On next Puppet run, the module will consider it configuration drift and revert the previous less paranoid configuration and reload the service which will harden the files mode immediatly. Rather than optionaly ignoning the files mode, it makes more sense to use an hardened configuration by default.

PuppetDB runs as the puppetdb user.  This user must have read access to
the various configuration files but does not need write access to them.

This ensure the service configuration cannot be unexpectedly changed by
PuppetDB itself if some vulnerability allow random code execution,
limiting the possibilities of exploitation and pivoting if such a
vulnerability is found.
@smortex smortex requested a review from a team as a code owner February 8, 2022 02:40
@puppet-community-rangefinder
Copy link

puppetdb::server is a class

that may have no external impact to Forge modules.

puppetdb::server::database is a class

that may have no external impact to Forge modules.

puppetdb::server::global is a class

that may have no external impact to Forge modules.

puppetdb::server::jetty is a class

that may have no external impact to Forge modules.

puppetdb::server::puppetdb is a class

that may have no external impact to Forge modules.

puppetdb::server::read_database is a class

that may have no external impact to Forge modules.

This module is declared in 33 of 578 indexed public Puppetfiles.


These results were generated with Rangefinder, a tool that helps predict the downstream impact of breaking changes to elements used in Puppet modules. You can run this on the command line to get a full report.

Exact matches are those that we can positively identify via namespace and the declaring modules' metadata. Non-namespaced items, such as Puppet 3.x functions, will always be reported as near matches only.

@CLAassistant
Copy link

CLAassistant commented Apr 19, 2023

CLA assistant check
All committers have signed the CLA.

@bastelfreak bastelfreak merged commit 1475311 into puppetlabs:main May 6, 2024
26 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants