Azure NSG の SSH 接続元が未制限

Azure NSG の SSH 接続元を必要な管理用アドレスに限定します。

説明

Azure NSG で接続元 * からの受信 TCP 22 番ポートを許可するルールは、SSH の接続元を制限しません。

想定される影響

公開経路から到達できる SSH サービスがあると、不要なログイン試行やパスワードの推測攻撃を受けるおそれがあります。

対処方法

接続元を必要な管理用 IP アドレスやサブネットに限定するか、Azure Bastion などの管理経路を使用してください。関連する NSG とルールの優先順位も確認してください。

例

例の 203.0.113.10/32 は文書用アドレスです。実際の管理用アドレスに置き換えてください。到達性はルーティングと有効なルール全体に左右されます。

変更前

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

変更後

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

参考資料