説明
Tencent Cloud セキュリティグループで 0.0.0.0/0 または ::/0 に全プロトコル・全ポートを許可すると、それぞれすべての IPv4 または IPv6 送信元が許可対象になります。関連付けたリソースに到達できる場合、不要なサービスにも接続を試行できます。
実際のアクセスには、ルールの優先順位と適用先、ネットワーク経路、ホストのファイアウォール、サービスの状態も影響します。公開サービスに必要なポートの許可と、全トラフィックの許可を区別してください。
想定される影響
- 管理用・内部サービスが外部からのスキャンやログイン試行にさらされるおそれがあります。
- 公開されたサービスの脆弱性や弱い認証が悪用されると、データや他のリソースにも影響が及ぶ可能性があります。
対処方法
不要な全トラフィック許可を削除し、cidr_block または ipv6_cidr_block を必要な送信元に限定してください。protocol と port は実際のサービスに必要な値だけを指定してください。ルールの優先順位と関連付けたリソースを確認し、管理接続を承認済みの経路に限定してください。正常な通信が成功し、未承認のアクセスが遮断されることを試験してください。
例
同じセキュリティグループの IPv4 受信範囲を絞る例です。グループ定義は省略しています。10.0.0.0/22 と 80-90 は、実際に必要なクライアントとポートに置き換えてください。
変更前
hcl
resource "tencentcloud_security_group_rule_set" "base" {
security_group_id = tencentcloud_security_group.sg.id
ingress {
action = "ACCEPT"
cidr_block = "0.0.0.0/0"
protocol = "ALL"
port = "ALL"
}
}
すべての IPv4 送信元に全プロトコルと全ポートを許可します。関連付けたリソースで、実際に到達できるサービスも確認してください。
変更後
hcl
resource "tencentcloud_security_group_rule_set" "base" {
security_group_id = tencentcloud_security_group.sg.id
ingress {
action = "ACCEPT"
cidr_block = "10.0.0.0/22"
protocol = "TCP"
port = "80-90"
description = "Allow internal application traffic"
}
}
指定したプライベート範囲から TCP 80–90 だけを許可します。その範囲全体とすべてのポートが必要か確認し、別途 IPv6 の許可も確認してください。