Overly permissive NSG Inbound rule to all traffic on ANY protocol

Ensure to keep the least privilege principle and limit the scope of the NSG Inbound rule to include specific required protocols.

Risk Level: High
Cloud Entity: Network security group
CloudGuard Rule ID: D9.AZU.NET.58
Covered by Spectral: Yes
Category: Networking & Content Delivery

GSL LOGIC

NetworkSecurityGroup should not have inboundSecurityRules contain [ protocol = 'All' and sourceAddressPrefixes contain [ '0.0.0.0/0' ] and action='ALLOW']

REMEDIATION

Azure Console:

  1. Navigate to the 'All services'
  2. Navigate to the Networking, and select 'Network security groups'
  3. Select the Network security group to be modified
  4. Under Settings, select 'Inbound security rules'
  5. Select the rule to be modified and edit it to allow only specific IP addresses or protocols

From TF

resource "azurerm_network_security_group" "test" {
	security_rule {
		-   protocol = "All"
		-   access = "Allow"
		-   source_port_range = "*"
	}
}

References
https://docs.microsoft.com/en-us/azure/security/fundamentals/network-best-practices

Network security group

You can filter network traffic to and from Azure resources in an Azure virtual network with a network security group. A network security group contains security rules that allow or deny inbound network traffic to, or outbound network traffic from, several types of Azure resources.

Compliance Frameworks

  • Azure CloudGuard Best Practices
  • Azure HITRUST v9.5.0
  • Azure NIST 800-53 Rev 5
  • CloudGuard Azure All Rules Ruleset