Check ID:
Provider: Azure
Service:
Severity: HIGH
Categories:
Resource type:
network_udp_internet_access_restrictedProvider: Azure
Service:
networkSeverity: HIGH
Categories:
internet-exposedResource type:
microsoft.network/networksecuritygroupsWhat this check verifies
Azure NSG rules are assessed for inbound UDP exposure to the public Internet (e.g.,0.0.0.0/0, *, Internet). The finding identifies allow rules that permit unsolicited UDP traffic from any external source to attached resources.
Risk
Publicly reachable UDP services enable DDoS reflection/amplification, exhausting bandwidth and compute and degrading availability for workloads and networks. Open services (DNS, NTP, SSDP, SNMP, CLDAP) can be abused with spoofed traffic, turning endpoints into amplifiers and disrupting adjacent resources.Recommendation
Apply least privilege on NSG rules:- Deny Internet
UDPinbound by default - Allow only required sources/ports
- Prefer private access (VNets, private endpoints, VPN/ExpressRoute)
- Use defense in depth with Azure Firewall and DDoS Protection
- Monitor and disable or rate-limit unnecessary UDP services
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
az network nsg rule update —resource-group <RESOURCE_GROUP> —nsg-name <NSG_NAME> —name <RULE_NAME> —access Deny
References
- http://learn.microsoft.com/en-us/azure/ddos-protection/fundamental-best-practices
- https://learn.microsoft.com/en-us/azure/security/fundamentals/network-best-practices#secure-your-critical-azure-service-resources-to-only-your-virtual-networks
- https://www.trendmicro.com/cloudoneconformity-staging/knowledge-base/azure/Network/unrestricted-udp-access.html#
Where this check fires
This check runs on every scheduled scan against your Azure account. Findings appear at Cloud Security → Findings filterable byCheck ID = network_udp_internet_access_restricted. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to Azure checks