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
- Login to Azure Portal using https://portal.azure.com.
- Go to
Azure Database for PostgreSQL servers
. - For each database, click on
Server parameters
. - Search for
connection_throttling
. - 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_v210_4_3_5
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run azure_compliance.control.cis_v210_4_3_5 --share
SQL
This control uses a named query:
postgres_db_server_connection_throttling_on