π Azure SQL Database allows ingress from 0.0.0.0/0 (ANY IP) π’
- Contextual name: π Database allows ingress from 0.0.0.0/0 (ANY IP) π’
- ID:
/ce/ca/azure/sql-database/disable-database-allows-ingress-from-any-ip-rule
- Located in: π Azure SQL Database
Flagsβ
- π’ Policy with categories
- π’ Policy with type
- π’ Production policy
Our Metadataβ
- Policy Type:
COMPLIANCE_POLICY
- Policy Category:
SECURITY
Similar Policiesβ
- Cloud Conformity
- Internal
dec-x-0289e9c9
Similar Internal Rulesβ
Rule | Policies | Flags |
---|---|---|
βοΈ dec-x-0289e9c9 | 1 |
Logicβ
- π§ prod.logic.yaml π’
Descriptionβ
Descriptionβ
Ensure that no SQL Databases allow ingress from 0.0.0.0/0 (ANY IP).
Rationaleβ
Azure SQL Server includes a firewall to block access to unauthorized connections. More granular IP addresses can be defined by referencing the range of addresses available from specific datacenters.
By default, for a SQL server, a Firewall exists with StartIp of 0.0.0.0 and EndIP of 0.0.0.0 allowing access to all the Azure services.
Additionally, a custom rule can be set up with StartIp of 0.0.0.0 and EndIP of 255.255.255.255 allowing access from ANY IP over the Internet.
In order to reduce the potential attack surface for a SQL server, firewall rules should be defined with more granular IP addresses by referencing the range of addresses available from specific datacenters.
If
Allow Azure services and resources to access this server
is 'Checked', this will allow resources outside of the subscription/tenant/organization boundary, within any region of Azure, to effectively bypass the defined SQL Server Network ACL on public endpoint. A malicious attacker can successfully launch a SQL server password bruteforce attack by creating a virtual machine in any Azure subscription/region, from outside of the subscription boundary where the SQL Server is residing.... see more
Remediationβ
Remediationβ
From Azure Portalβ
- Go to
SQL servers
.- For each SQL server.
- Under
Security
, clickNetworking
.- Uncheck
Allow Azure services and resources to access this server
.- Set firewall rules to limit access to only authorized connections.
- Click
Save
.From Azure CLIβ
Disable default firewall rule
Allow access to Azure services
:az sql server firewall-rule delete --resource-group <resource group> --server <sql server name> --name "AllowAllWindowsAzureIps"
Remove a custom firewall rule:
az sql server firewall-rule delete --resource-group <resource group> --server <sql server name> --name <firewall rule name>
Create a firewall rule:
az sql server firewall-rule create --resource-group <resource group> --server <sql server name> --name <firewall rule name> --start-ip-address "<IP Address other than 0.0.0.0>" --end-ip-address "<IP Address other than 0.0.0.0 or 255.255.255.255>"
Update a firewall rule:
az sql server firewall-rule update --resource-group <resource group> --server <sql server name> --name <firewall rule name> --start-ip-address "<IP Address other than 0.0.0.0>" --end-ip-address "<IP Address other than 0.0.0.0 or 255.255.255.255>"
... [see more](remediation.md)