我正在尝试保护虚拟网络中的某些子网。
我的虚拟网络1包含子网A,B,C。
我在每个子网中都有一个具有默认端点(RDP和WinRM)的VM。
我使用以下命令创建网络安全组并将其连接到子网C:
$SGName = 'SecurityGroupC'
$location = 'West US'
$virtualNetwork = '1'
$subnet = 'C'
New-AzureNetworkSecurityGroup -Name $SGName -Location $Location -Label $SGName
Get-AzureNetworkSecurityGroup -Name $SGName | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName $VirtualNetwork -SubnetName $Subnet
我可以通过运行来查看默认规则:
Get-AzureNetworkSecurityGroup -Name $SGName -Detailed
显示了预期的默认规则:
Name : SecurityGroupC
Rules :
Type: Inbound
Name Priority Action Source Address Source Port Destination Destination Protocol
Prefix Range Address Prefix Port Range
---- -------- ------ --------------- ------------- ---------------- -------------- --------
ALLOW VNET INBOUND 65000 Allow VIRTUAL_NETWORK * VIRTUAL_NETWORK * *
ALLOW AZURE LOAD 65001 Allow AZURE_LOADBALAN * * * *
BALANCER INBOUND CER
DENY ALL INBOUND 65500 Deny * * * * *
Type: Outbound
Name Priority Action Source Address Source Port Destination Destination Protocol
Prefix Range Address Prefix Port Range
---- -------- ------ --------------- ------------- ---------------- -------------- --------
ALLOW VNET OUTBOUND 65000 Allow VIRTUAL_NETWORK * VIRTUAL_NETWORK * *
ALLOW INTERNET 65001 Allow * * INTERNET * *
OUTBOUND
DENY ALL OUTBOUND 65500 Deny * * * * *
根据这些规则,我在子网C中的VM上的RDP端点应该停止工作。但是我仍然能够从互联网直接向我的VM发送RDP。有什么我想念的吗?
答案 0 :(得分:0)
创建VM时,它将自动创建RDP端点。此设置似乎会覆盖您的网络安全组值。
我通常会为它添加一个ACL“0.0.0.0/0”“DENY”,所以如果需要,我可以重新启用它。
答案 1 :(得分:0)
根据网络安全组的功能: “网络安全组与基于端点的ACL不同。端点ACL仅在通过输入端点公开的公共端口上工作.NSG在一个或多个VM实例上工作,并控制VM上入站和出站的所有流量“。 第一个入站规则=“允许VNET INBOUND 65000允许VIRTUAL_NETWORK * VIRTUAL_NETWORK *”
这允许虚拟机内的所有流量。由于VM上没有端点ACL,并且启用了RDP端点,因此流量可以到达VM。
更新:你是对的。它不应该允许RDP访问。根据常见问题解答中的此链接:http://azure.microsoft.com/blog/2014/11/04/network-security-groups/
4。我已为我的VM定义了RDP端点,而我正在使用网络安全组我是否需要访问控制规则才能从Internet连接到RDP端口? 是的,Network Security Group中的默认规则不允许从Internet访问任何端口,用户必须创建特定规则以允许RDP流量。
答案 2 :(得分:0)
我刚刚发现了同样的事情。我还发现删除并重新创建端点然后允许NSG按预期运行,即看起来如果在端点之后创建/链接,它不起作用但是如果NSG是它首先完成,它确实!
答案 3 :(得分:0)
您必须应用更改,这就是您未获得预期行为的原因:
Set-AzureRmVirtualNetwork -VirtualNetwork $virtualNetwork
希望这有帮助!