説明
必要以上に広い TCP・UDP 受信ポートを許可すると、許可された送信元から意図しないサービスへ接続できる可能性があります。実際の公開範囲は、待ち受けサービス、経路、他のネットワーク制御にも依存します。
必要なポートが1つなら、FromPort と ToPort を同じ値にしてください。複数のポートが必要なサービスには範囲指定が適切なので、一律に削除しないでください。ICMP では両フィールドはポートではなくタイプとコードを表します。
想定される影響
- 不要に許可されたポートで動くサービスが、スキャンや攻撃の対象になるおそれがあります。
- 要件を確認せずにポートを閉じると、正当なクライアント接続が中断する可能性があります。
対処方法
- サービスの要件を確認し、必要な単一 TCP・UDP ポートまたは最小の範囲を許可してください。
- 送信元 CIDR やセキュリティグループを必要なクライアントに制限し、他の関連グループの許可も確認してください。
- 不要な許可を整理した後、正常な接続とサービスの認証・認可を試験してください。
例
TargetSG と必須の送信元を省略しています。実際のルールには、送信元 CIDR、プレフィックスリスト、セキュリティグループのいずれか1つを指定してください。
変更前
yaml
Resources:
InboundRule:
Type: AWS::EC2::SecurityGroupIngress
Properties:
IpProtocol: tcp
FromPort: 0
ToPort: 65535
GroupId: !GetAtt TargetSG.GroupId
送信元を補うと、全 TCP ポートを許可します。
変更後
yaml
Resources:
InboundRule:
Type: AWS::EC2::SecurityGroupIngress
Properties:
IpProtocol: tcp
FromPort: 443
ToPort: 443
GroupId: !GetAtt TargetSG.GroupId
このルールを TCP 443 に制限します。ポート番号だけで HTTPS や認証は構成されないため、実際のサービス設定を確認してください。