Here is a list of all controls implemented in this puppet module. The link takes you to the documentation of the implementation class.

1 Installation and Patches

1.1 Ensure packages are obtained from authorized repositories (Manual)
1.2 Ensure systemd Service Files Are Enabled (Automated)
1.3 Ensure Data Cluster Initialized Successfully (Automated)

2 Directory and File Permissions

2.1 Ensure the file permissions mask is correct (Manual)

3 Logging Monitoring And Auditing

3.1 PostgreSQL Logging
3.1.1 Logging Rationale
3.1.2 Ensure the log destinations are set correctly (Automated)
3.1.3 Ensure the logging collector is enabled (Automated)
3.1.4 Ensure the log file destination directory is set correctly (Automated)
3.1.5 Ensure the filename pattern for log files is set correctly (Automated)
3.1.6 Ensure the log file permissions are set correctly (Automated)
3.1.7 Ensure ‘log_truncate_on_rotation’ is enabled (Automated)
3.1.8 Ensure the maximum log file lifetime is set correctly (Automated)
3.1.9 Ensure the maximum log file size is set correctly (Automated)
3.1.10 Ensure the correct syslog facility is selected (Manual)
3.1.11 Ensure syslog messages are not suppressed (Manual)
3.1.12 Ensure syslog messages are not lost due to size (Manual)
3.1.13 Ensure the program name for PostgreSQL syslog messages is correct (Automated)
3.1.14 Ensure the correct messages are written to the server log (Automated)
3.1.15 Ensure the correct SQL statements generating errors are recorded (Automated)
3.1.16 Ensure ‘debug_print_parse’ is disabled (Automated)
3.1.17 Ensure ‘debug_print_rewritten’ is disabled (Automated)
3.1.18 Ensure ‘debug_print_plan’ is disabled (Automated)
3.1.19 Ensure ‘debug_pretty_print’ is enabled (Automated)
3.1.20 Ensure ‘log_connections’ is enabled (Automated)
3.1.21 Ensure ‘log_disconnections’ is enabled (Automated)
3.1.22 Ensure ‘log_error_verbosity’ is set correctly (Automated)
3.1.23 Ensure ‘log_hostname’ is set correctly (Automated)
3.1.24 Ensure ‘log_line_prefix’ is set correctly (Automated)
3.1.25 Ensure ‘log_statement’ is set correctly (Automated)
3.1.26 Ensure ‘log_timezone’ is set correctly (Automated)
3.2 Ensure the PostgreSQL Audit Extension (pgAudit) is enabled (Automated)

4 User Access and Authorization

4.1 Ensure sudo is configured correctly (Manual)
4.2 Ensure excessive administrative privileges are revoked (Manual)
4.3 Ensure excessive function privileges are revoked (Automated)
4.4 Ensure excessive DML privileges are revoked (Manual)
4.5 Ensure Row Level Security (RLS) is configured correctly (Manual)
4.6 Ensure the set_user extension is installed (Automated)
4.7 Make use of predefined roles (Manual)

5 Connection and Login

5.1 Ensure login via “local” UNIX Domain Socket is configured correctly (Manual)
5.2 Ensure login via “host” TCP/IP Socket is configured correctly (Manual)
6.1 Understanding attack vectors and runtime parameters (Manual)
6.2 Ensure ‘backend’ runtime parameters are configured correctly (Automated)
6.3 Ensure ‘Postmaster’ Runtime Parameters are Configured (Manual)
6.4 Ensure ‘SIGHUP’ Runtime Parameters are Configured (Manual)
6.5 Ensure ‘Superuser’ Runtime Parameters are Configured (Manual)
6.6 Ensure ‘User’ Runtime Parameters are Configured (Manual)
6.7 Ensure FIPS 140-2 OpenSSL Cryptography Is Used (Automated)
6.8 Ensure TLS is enabled and configured correctly (Automated)
6.9 Ensure the pgcrypto extension is installed and configured correctly (Manual)

7 Replication

7.1 Ensure a replication-only user is created and used for streaming replication (Manual)
7.2 Ensure logging of replication commands is configured (Manual)
7.3 Ensure base backups are configured and functional (Manual)
7.4 Ensure WAL archiving is configured and functional (Automated)
7.5 Ensure streaming replication parameters are configured correctly (Manual)

8 Special Configuration Considerations

8.1 Ensure PostgreSQL configuration files are outside the data cluster (Manual)
8.2 Ensure PostgreSQL subdirectory locations are outside the data cluster (Manual)
8.3 Ensure the backup and restore tool, ‘pgBackRest’, is installed and configured (Automated)
8.4 Ensure miscellaneous configuration settings are correct (Manual)