説明
Network ACL で全アドレスから TCP 3389 を許可すると、RDP サービスへの不要な接続経路を開く可能性があります。実際の接続は、番号の小さい ACL ルール、サブネットとの関連付け、ルーティング、セキュリティグループ、待ち受けサービスによって異なります。
想定される影響
- パスワードの推測や漏えいした認証情報の悪用が増えるおそれがあります。
- 脆弱な遠隔管理サービスが侵害されると、サーバーや内部システムに影響する可能性があります。
対処方法
- 不要な全アドレスからの RDP 許可を削除し、承認された管理者アドレスや VPN・統制された管理経路だけを許可してください。
- 番号の小さい順に適用される ACL 全体、IPv4・IPv6 範囲、関連サブネット内のリソースのセキュリティグループを確認してください。
- Network ACL は状態を追跡しないため、応答の送信と必要なクライアントポートも設定してください。変更後、正常な管理接続と不要なアクセスの拒否を確認してください。
例
受信ルールの抜粋です。参照 VPC、サブネットとの関連付け、応答ルールを別途設定し、例のプライベート範囲を実際に承認された管理者アドレスに置き換えてください。
変更前
hcl
resource "aws_network_acl" "network_acl" {
vpc_id = aws_vpc.main.id
ingress = [
{
protocol = "tcp"
rule_no = 100
action = "allow"
cidr_block = "0.0.0.0/0"
from_port = 3389
to_port = 3389
}
]
}
ルール 100 は全 IPv4 接続元から TCP 3389 を許可します。より小さい番号で一致するルールが優先される場合があります。
変更後
hcl
resource "aws_network_acl" "network_acl" {
vpc_id = aws_vpc.main.id
ingress = [
{
protocol = "tcp"
rule_no = 100
action = "allow"
cidr_block = "10.3.0.0/18"
from_port = 3389
to_port = 3389
}
]
}
接続元を 10.3.0.0/18 に制限します。プライベート範囲全体が必要か確認し、実際の管理元だけを許可してください。