ネットワークACLが広い範囲からのSSHを許可している

ネットワークACLのSSH許可範囲を管理用の接続経路に限定してください。

説明

ネットワークACLでTCPポート22を0.0.0.0/0などの全アドレス範囲に許可すると、SSHの接続元が広がります。実際の接続可否は、ルーティング、セキュリティグループ、待ち受け中のサービスにも左右されます。

想定される影響

外部から接続できるSSHサービスは、自動スキャンやログイン攻撃を受けやすくなるおそれがあります。

対処方法

SSHが必要な管理用ネットワークだけを許可し、不要なルールを削除してください。ACLのルール順序と応答トラフィックの許可も確認してください。

例

以下はSSHのインバウンド範囲だけを絞る例です。サブネットへの関連付けとアウトバウンドルールは別途設定し、例のプライベート範囲を実際の管理用ネットワークに置き換えてください。

変更前

hcl
resource "aws_network_acl" "example" {
  vpc_id = aws_vpc.main.id

  ingress {
    protocol   = "tcp"
    rule_no    = 100
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = 22
    to_port    = 22
  }
}

変更後

hcl
resource "aws_network_acl" "example" {
  vpc_id = aws_vpc.main.id

  ingress {
    protocol   = "tcp"
    rule_no    = 100
    action     = "allow"
    cidr_block = "10.3.0.0/18"
    from_port  = 22
    to_port    = 22
  }
}

参考資料