Azure NSGでインターネットからのSSHアクセスが許可されている

SSH管理アクセスを承認された経路に限定してください。

説明

インターネットからSSHポート22への接続を許可すると、公開経路のあるサーバーが外部からのログイン試行にさらされる場合があります。

想定される影響

パスワードの推測や、漏えいした資格情報を使う接続試行を受けるおそれがあります。

対処方法

不要なインターネットSSHアクセスを削除し、Bastion、VPN、承認された管理アドレスを使ってください。キー認証と必要なアクセス制御も構成してください。

例

以下はTCPポート22への新しい受信接続を拒否する例です。適用前に別の管理経路とルールの優先順位を確認してください。

変更前

hcl
resource "azurerm_network_security_rule" "example" {
  name                        = "example"
  priority                    = 100
  direction                   = "Inbound"
  access                      = "Allow"
  protocol                    = "TCP"
  source_port_range           = "*"
  destination_port_range      = "22"
  source_address_prefix       = "*"
  destination_address_prefix  = "*"
  resource_group_name         = azurerm_resource_group.example.name
  network_security_group_name = azurerm_network_security_group.example.name
}

変更後

hcl
resource "azurerm_network_security_rule" "example" {
  name                        = "example"
  priority                    = 100
  direction                   = "Inbound"
  access                      = "Deny"
  protocol                    = "TCP"
  source_port_range           = "*"
  destination_port_range      = "22"
  source_address_prefix       = "*"
  destination_address_prefix  = "*"
  resource_group_name         = azurerm_resource_group.example.name
  network_security_group_name = azurerm_network_security_group.example.name
}

参考資料