4

我正在尝试保护虚拟网络中的一些子网。

我有带有子网 A、B、C 的虚拟网络 1。

我在每个子网中都有一个带有默认端点(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 端点应该停止工作。但是,我仍然可以从 Internet 直接 RDP 到我的虚拟机。有什么我想念的吗?

4

4 回答 4

0

创建 VM 时,它会自动创建 RDP 端点。此设置似乎覆盖了您的网络安全组值。

我通常会向它添加一个 ACL “0.0.0.0/0” “DENY”,这样我可以在需要时重新启用它。

于 2015-01-23T11:45:45.657 回答
0

根据网络安全组的功能:“网络安全组与基于端点的 ACL 不同。端点 ACL 仅在通过输入端点公开的公共端口上工作。NSG 在一个或多个 VM 实例上工作并控制所有流量即在 VM 上的入站和出站。” 第一条入站规则 = "ALLOW VNET INBOUND 65000 Allow VIRTUAL_NETWORK * VIRTUAL_NETWORK * "

这允许虚拟机内部的所有流量。由于 VM 上没有端点 ACL 并且启用了 RDP 端点,因此流量可以到达 VM。

更新:你是对的。它不应允许 RDP 访问。根据常见问题解答下的此链接:http: //azure.microsoft.com/blog/2014/11/04/network-security-groups/

4. 我已经为我的虚拟机定义了 RDP 端点并且我正在使用网络安全组,我是否需要访问控制规则才能从 Internet 连接到 RDP 端口?是的,网络安全组中的默认规则不允许从 Internet 访问任何端口,用户必须创建特定规则以允许 RDP 流量。

于 2015-04-06T16:23:07.077 回答
0

您必须应用更改,这就是您没有得到预期行为的原因:

Set-AzureRmVirtualNetwork -VirtualNetwork $virtualNetwork 

希望这可以帮助!

于 2017-01-24T20:17:33.370 回答
0

我刚刚发现了同样的事情。我还发现删除和重新创建端点然后允许 NSG 按预期运行,即似乎如果在端点之后创建/链接 NSG ,它不起作用,但如果先完成 NSG,它会起作用!

于 2016-02-18T10:07:19.777 回答