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.


The potential security problem with using SSH over the Internet is that attackers can use various brute force techniques to gain access to Azure Virtual Machines. Once the attackers gain access, they can use a virtual machine as a launch point for

compromising other machines on the Azure Virtual Network or even attack networked devices outside of Azure.


From Azure Portal

1. Open the Networking blade for the specific Virtual machine in Azure portal

2. Verify that the INBOUND PORT RULES does not have a rule for SSH such as

o port = 22,

o protocol = TCP,

o Source = Any OR Internet

From Azure CLI

List Network security groups with corresponding non-default Security rules:

az network nsg list --query [*].[name,securityRules]

Ensure that none of the NSGs have security rule as below

"access" : "Allow"

"destinationPortRange" : "22" or "*" or "[port range containing 22]"

"direction" : "Inbound"

"protocol" : "TCP"

"sourceAddressPrefix" : "*" or "" or "<nw>/0" or "/0" or "internet" or



Where SSH is not explicitly required and narrowly configured for resources attached to the Network Security Group, Internet-level access to your Azure resources should be restricted or eliminated. For internal access to relevant resources, configure an encrypted network tunnel such as:


Site-to-site VPN

Point-to-site VPN

Default Value:

By default, SSH access from internet is not enabled.



2. network-security#ns-1-establish-network-segmentation-boundaries

3. Express Route:

4. Site-to-Site VPN:

5. Point-to-Site VPN: