重要なサービスのポートを公開する Alicloud セキュリティグループ

管理用サービスや機密性の高いサービスを、不必要にインターネット全体へ公開しないでください。

説明

管理用サービスや機密性の高いサービスのポートを 0.0.0.0/0 に許可すると、サーバーにインターネットからの経路がある場合、外部から接続を試行できます。サービスの脆弱性や弱い認証と組み合わさると、侵害のリスクが高まります。

ポート番号だけで安全性を判断せず、実際に待ち受けるサービスと公開の目的を確認してください。内部通信や管理だけに使うサービスは、承認済みのネットワークや管理者アドレスに限定してください。

想定される影響

  • 外部からパスワードの推測やサービスの脆弱性を悪用する試行を受ける可能性があります。
  • 機密データや管理機能への不正アクセスのリスクが高まります。

対処方法

  • 公開が不要なサービスに対する、インターネット全体からの許可を削除してください。
  • 必要なポートと承認済みの送信元だけを許可し、サービスの認証とセキュリティ更新も維持してください。
  • 公開サービスが必要な場合は目的を文書化し、実際の接続経路と他の許可ルールを確認してください。

例

既存のセキュリティグループを使う抜粋です。VPC セキュリティグループには nic_type = "intranet" が必要ですが、これでインターネット通信が自動的に遮断されるわけではありません。

変更前

hcl
resource "alicloud_security_group_rule" "sensitive_port_open" {
  type              = "ingress"
  ip_protocol       = "tcp"
  nic_type          = "internet"
  policy            = "accept"
  port_range        = "19/20"
  priority          = 1
  security_group_id = alicloud_security_group.default.id
  cidr_ip           = "0.0.0.0/0"
}

すべての IPv4 アドレスから TCP 19~20 を許可します。実際のサービスと、この公開範囲が必要かどうかを確認してください。

変更後

hcl
resource "alicloud_security_group_rule" "sensitive_port_open" {
  type              = "ingress"
  ip_protocol       = "tcp"
  nic_type          = "internet"
  policy            = "accept"
  port_range        = "22/22"
  priority          = 1
  security_group_id = alicloud_security_group.default.id
  cidr_ip           = "10.159.6.18/32"
}

SSH による管理だけが必要な場合を想定し、承認済みの単一クライアントからの TCP 22 に変更しています。実際の接続経路に合うアドレスを使い、以前の公開ルールは削除してください。

参考資料