Check ID: network_rdp_internet_access_restricted
Provider: Azure
Service: network
Severity: HIGH
Categories: internet-exposed
Resource type: microsoft.network/networksecuritygroups

What this check verifies

Azure NSG inbound rules are evaluated for public RDP exposure. The finding flags rules that Allow TCP traffic to port 3389 from broad sources like 0.0.0.0/0, Internet, or *, including ranges that cover 3389.

Risk

Exposed RDP enables Internet-wide brute force and credential stuffing, risking unauthorized console access. Compromise can cause data theft (confidentiality), tampering or malware deployment (integrity), VM lockout or disruption (availability), and lateral movement within the VNet.

Recommendation

Enforce least privilege for remote admin:
  • Remove Allow to 3389 from 0.0.0.0/0
  • Limit access to fixed IPs or private networks
  • Prefer Azure Bastion, JIT, or VPN/ExpressRoute
  • Harden auth (strong keys, MFA) and monitor
Adopt zero trust and defense in depth.

Remediation

az network nsg rule delete —resource-group <RESOURCE_GROUP> —nsg-name <example_resource_name> —name <RDP_RULE_NAME>

References

Where this check fires

This check runs on every scheduled scan against your Azure account. Findings appear at Cloud Security → Findings filterable by Check ID = network_rdp_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