【问题标题】:Azure Network Security Groups not working? (attached to subnet)Azure 网络安全组不起作用? (附加到子网)
【发布时间】:2015-03-08 02:46:18
【问题描述】:

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

我有带有子网 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 到我的虚拟机。有什么我遗漏的吗?

【问题讨论】:

  • 您是否删除了虚拟机中默认创建的端点?
  • 嗨 Kitt...我面临同样的问题...我原以为 RDP 流量会被阻止,但事实并非如此。你能找出原因吗?

标签: azure azure-virtual-network


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    根据网络安全组的功能: “网络安全组与基于端点的 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.我已经为我的 VM 定义了 RDP 端点并且我正在使用网络安全组我是否需要访问控制规则才能从 Internet 连接到 RDP 端口? 是的,网络安全组中的默认规则不允许从 Internet 访问任何端口,用户必须创建特定规则以允许 RDP 流量。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        Set-AzureRmVirtualNetwork -VirtualNetwork $virtualNetwork 
        

        希望这会有所帮助!

        【讨论】:

          猜你喜欢
          • 2022-01-15
          • 1970-01-01
          • 1970-01-01
          • 2015-12-06
          • 2020-11-30
          • 2017-08-12
          • 2018-07-11
          • 2018-09-16
          • 2018-06-23
          相关资源
          最近更新 更多