controls::log file permissions are set correctly
Overview
The log_file_mode setting determines the file permissions for log files when logging_collector is enabled. The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format, the number must start with a 0 (zero).) The permissions should be set to allow only the necessary access to authorized personnel. In most cases the best setting is 0600, so that only the server owner can read or write the log files. The other commonly useful setting is 0640, allowing members of the owner’s group to read the files, although to make use of that, you will need to alter the log_directory setting to store the log files outside the cluster data directory.
Excelent Compliance Solution.
Puppet is an excellent solution to ensure your databases are CIS or STIG compliant. Now you’re looking at information about only one compliance control, but managing total compliance isn’t hard either!
If you you like he prospect of easy way into continuous compliancy with minimal fuss and bother, we suggest taking a look at our solution as your go-to option. Plus, our team can help you get up and running so that you can focus on other areas of your business. What are you waiting for? Get started today!
Benchmarks
This control is used in the following benchmarks:
- Postgres Database 10 CIS V1.0.0 - paragraph 3.1.6
- Postgres Database 11 CIS V1.0.0 - paragraph 3.1.6
- Postgres Database 12 CIS V1.0.0 - paragraph 3.1.6
- Postgres Database 13 CIS V1.0.0 - paragraph 3.1.6
- Postgres Database 13 CIS V1.1.0 - paragraph 3.1.6
- Postgres Database 14 CIS V1.0.0 - paragraph 3.1.6
- Postgres Database 14 CIS V1.1.0 - paragraph 3.1.6
- Postgres Database 15 CIS V1.0.0 - paragraph 3.1.6
- Postgres Database 15 CIS V1.1.0 - paragraph 3.1.6
- Postgres Database 16 CIS V1.0.0 - paragraph 3.1.6
Skipping
To deliberately skip this control (e.g. meaning don’t use Puppet to enforce this setting), we provide you with three ways:
1) Add pg_secured::controls::log_file_permissions_are_set_correctly: skip
to your hiera data. This will skip this control for ALL databases.
2) Add pg_secured::controls::log_file_permissions_are_set_correctly::dbname: skip
to your hiera data. This will skip this control for specified database only.
3) Add an entry with the content log_file_permissions_are_set_correctly
to the array value pg_secured::skip_list
in your hiera data.
Attributes
Attribute Name | Short Description |
---|---|
title | The instance to apply the control to. |
title
The instance to apply the control to.
All controls need an instance to apply the control to. Here is a simple example:
pg_secured::controls::control_name { 'instance':}
In this example, the string instance
is the instance to apply the control to.
Back to overview of controls::log_file_permissions_are_set_correctly