controls::log statement is set correctly
Overview
The log_statement setting specifies the types of SQL statements that are logged. Valid values are:
- none (off)
- ddl
- mod
- all (all statements)
It is recommended this be set to ddl unless otherwise directed by your organization’s logging policy. ddl logs all data definition statements:
- CREATE
- ALTER
- DROP
mod logs all ddl statements, plus data-modifying statements:
- INSERT
- UPDATE
- DELETE
- TRUNCATE
- COPY FROM
(PREPARE, EXECUTE, and EXPLAIN ANALYZE statements are also logged if their contained command is of an appropriate type.) For clients using extended query protocol, logging occurs when an Execute message is received, and values of the Bind parameters are included (with any embedded single-quote marks doubled).
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.23
- Postgres Database 11 CIS V1.0.0 - paragraph 3.1.23
- Postgres Database 12 CIS V1.0.0 - paragraph 3.1.23
- Postgres Database 13 CIS V1.0.0 - paragraph 3.1.23
- Postgres Database 13 CIS V1.1.0 - paragraph 3.1.25
- Postgres Database 14 CIS V1.0.0 - paragraph 3.1.25
- Postgres Database 14 CIS V1.1.0 - paragraph 3.1.25
- Postgres Database 15 CIS V1.0.0 - paragraph 3.1.25
- Postgres Database 15 CIS V1.1.0 - paragraph 3.1.25
- Postgres Database 16 CIS V1.0.0 - paragraph 3.1.25
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_statement_is_set_correctly: skip
to your hiera data. This will skip this control for ALL databases.
2) Add pg_secured::controls::log_statement_is_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_statement_is_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_statement_is_set_correctly