turbot/azure_compliance
Loading controls...

Control: 4.3.5 Ensure server parameter 'connection_throttling' is set to 'ON' for PostgreSQL Database Server

Description

Enable connection_throttling on PostgreSQL Servers.

Enabling connection_throttling helps the PostgreSQL Database to Set the verbosity of logged messages. This in turn generates query and error logs with respect to concurrent connections that could lead to a successful Denial of Service (DoS) attack by exhausting connection resources. A system can also fail or be degraded by an overload of legitimate users. Query and error logs can be used to identify, troubleshoot, and repair configuration errors and sub-optimal performance.

Remediation

From Azure Console

  1. Login to Azure Portal using https://portal.azure.com.
  2. Go to Azure Database for PostgreSQL servers.
  3. For each database, click on Server parameters.
  4. Search for connection_throttling.
  5. Click ON and save.

From Azure CLI

Use the below command to update connection_throttling configuration.

az postgres server configuration set --resource-group <resourceGroupName> --server-name <serverName> --name connection_throttling --value on

From PowerShell

Use the below command to update connection_throttling configuration.

Update-AzPostgreSqlConfiguration -ResourceGroupName <ResourceGroupName> - ServerName <ServerName> -Name connection_throttling -Value on

Default Value

By default, connection_throttling is enabled (set to on).

Usage

Run the control in your terminal:

powerpipe control run azure_compliance.control.cis_v200_4_3_5

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run azure_compliance.control.cis_v200_4_3_5 --share

SQL

This control uses a named query:

postgres_db_server_connection_throttling_on

Tags