Information
Network security groups should be periodically evaluated for port misconfigurations. Where certain ports and protocols may be exposed to the Internet, they should be evaluated for necessity and restricted wherever they are not explicitly required and narrowly configured.
Rationale:
The potential security problem with using HTTP(S) over the Internet is that attackers can use various brute force techniques to gain access to Azure resources. Once the attackers gain access, they can use the resource as a launch point for compromising other resources within the Azure tenant.
Solution
From Azure Portal
Go to Virtual machines.
For each VM, open the Networking blade.
Click on Inbound port rules.
Delete the rule with:
Port = 80/443 OR [port range containing 80/443]
Protocol = TCP OR Any
Source = Any (*) OR IP Addresses(0.0.0.0/0) OR Service Tag(Internet)
Action = Allow
From Azure CLI
Run below command to list network security groups:
az network nsg list --subscription <subscription-id> --output table
For each network security group, run below command to list the rules associated with the specified port:
az network nsg rule list --resource-group <resource-group> --nsg-name <nsg-name> --query '[?destinationPortRange=='80 or 443']'
Run the below command to delete the rule with:
Port = 80/443 OR [port range containing 80/443]
Protocol = TCP OR '*'
Source = Any (*) OR IP Addresses(0.0.0.0/0) OR Service Tag(Internet)
Action = Allow
az network nsg rule delete --resource-group <resource-group> --nsg-name <nsg-name> --name <rule-name>