すべての送信元を許可するセキュリティグループのインバウンド規則

サービスの用途に合わせて、セキュリティグループの送信元とポートを制限してください。

説明

セキュリティグループのインバウンド規則では、0.0.0.0/0 はすべての IPv4 アドレス、::/0 はすべての IPv6 アドレスを許可する指定です。実際にインターネットから到達できるかは、パブリックアドレス、経路、ほかのネットワーク制御にも依存します。公開ウェブサービスと管理用・内部用サービスのアクセス要件を区別してください。

想定される影響

外部アクセスが不要なサービスにインターネットから到達できる場合、不要な接続試行やサービスの脆弱性を悪用する攻撃にさらされるおそれがあります。

対処方法

公開する必要がないサービスでは、規則の送信元を承認済みクライアントの CIDR や適切なセキュリティグループの参照に制限してください。必要なポートだけを許可し、IPv4 と IPv6 の規則を両方確認してください。変更後は正規クライアントの接続と不要なアクセスの遮断を試験してください。

例

内部クライアントだけが使う HTTP サービスの例です。myVPC に実際の VPC ID、AllowedClientCidr に承認済みクライアントの IPv4 範囲を指定します。セキュリティグループとリソースの関連付けは別途設定します。

変更前

yaml
Parameters:
  myVPC:
    Type: AWS::EC2::VPC::Id
Resources:
  InstanceSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: HTTP
      VpcId: !Ref myVPC
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 80
          ToPort: 80
          CidrIp: 0.0.0.0/0

変更後

yaml
Parameters:
  myVPC:
    Type: AWS::EC2::VPC::Id
  AllowedClientCidr:
    Type: String
Resources:
  InstanceSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: HTTP
      VpcId: !Ref myVPC
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 80
          ToPort: 80
          CidrIp: !Ref AllowedClientCidr

参考資料