説明
管理用サービスや機密性の高いサービスのポートを 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 に変更しています。実際の接続経路に合うアドレスを使い、以前の公開ルールは削除してください。