セキュリティグループの受信ポート範囲を確認

受信 TCP・UDP ポートの範囲と接続元を、サービスに必要な範囲に制限してください。

説明

必要以上に広い 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 や認証は構成されないため、実際のサービス設定を確認してください。

参考資料