RDPアクセス範囲が広いAzure NSG

Azure NSGのRDPアクセスを承認済みの管理経路に限定し、VMの実際の接続・認証設定も確認してください。

説明

NSGですべての送信元からTCPポート3389を許可すると、そのルールが適用され、ネットワーク経路があるクライアントはRDP接続を試みることができます。外部からの到達性は、NSGの関連付け、ルールの優先順位、VMのアドレス、ルーティング、ホストのファイアウォールにも左右されます。

管理用RDPは、承認済み管理者のアドレスや、VPN・Azure Bastionなどの制御された経路に限定してください。ネットワーク制限に加え、強固な認証とセキュリティ更新も必要です。

想定される影響

  • 到達可能なRDPサービスに対し、総当たり攻撃や漏えいした認証情報を使うログイン試行が増える可能性があります。
  • サービスの脆弱性や弱い認証によって、VMや接続先リソースが侵害される可能性があります。

対処方法

  • 不要な全送信元の許可を削除し、実際の管理経路に必要な送信元だけを許可してください。アクセスを変更する前に、代替の管理接続を準備してください。
  • NICとサブネットに関連付けたNSGの有効なルール、優先順位、IPv4・IPv6アクセスを確認してください。優先順位の高い許可ルールは、後続の拒否ルールより先に適用されます。
  • 承認済み管理者の接続と不要な接続の拒否をテストし、VMの認証、パッチ、ログを確認してください。

例

二つは同じNSGのルールを設定する構成案であり、NICやサブネットとの関連付けは含みません。必要な管理経路と、優先順位が高く範囲を限定した許可ルールは別途確認してください。

変更前

bicep
resource security_group 'Microsoft.Network/networkSecurityGroups@2020-11-01' = {
  name: 'rdp-security-group'
  location: resourceGroup().location
  tags: {}
  properties: {
    securityRules: [
      {
        properties: {
          description: 'access to RDP'
          protocol: 'Tcp'
          sourcePortRange: '*'
          destinationPortRange: '3389'
          sourceAddressPrefix: '*'
          destinationAddressPrefix: '*'
          access: 'Allow'
          priority: 301
          direction: 'Inbound'
        }
        name: 'rdp-rule'
      }
    ]
  }
}

このルールが適用される場合、すべての送信元からTCPポート3389を許可します。

変更後

bicep
resource security_group 'Microsoft.Network/networkSecurityGroups@2020-11-01' = {
  name: 'rdp-security-group'
  location: resourceGroup().location
  tags: {}
  properties: {
    securityRules: [
      {
        properties: {
          description: 'access to RDP'
          protocol: 'Tcp'
          sourcePortRange: '*'
          destinationPortRange: '3389'
          sourceAddressPrefix: '*'
          destinationAddressPrefix: '*'
          access: 'Deny'
          priority: 301
          direction: 'Inbound'
        }
        name: 'rdp-rule'
      }
    ]
  }
}

優先順位の高いルールに一致しなかったTCPポート3389の通信を拒否します。必要な管理アクセスを維持できることを適用前に確認してください。

参考資料