説明
IPv4の/32とIPv6の/128は、単一アドレスを許可する有効なCIDRです。特定のホストだけに接続を許可する場合は適切な最小権限の設定であり、単一アドレスという理由だけで範囲を広げるべきではありません。
想定される影響
許可したアドレスが変わると接続が中断する場合がありますが、不要に範囲を広げると、より多くのホストが接続できるようになります。
対処方法
実際に必要な送信元アドレスだけを許可してください。頻繁に変わる場合は、適用可能なセキュリティグループ参照や管理された接続経路を検討し、必要なアドレス変更を規則に反映してください。
例
単一アドレスとネットワーク範囲からのHTTP接続を比較します。範囲全体からの接続が必要な場合だけ拡大してください。例示用アドレスを実際に承認されたアドレスに、myVPCを実際のVPC参照に置き換えてください。
変更前
yaml
Resources:
InstanceSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
# クライアントホストへのHTTP接続を許可
GroupDescription: Allow http to client host
VpcId:
Ref: myVPC
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 192.0.2.10/32
InboundRule:
Type: AWS::EC2::SecurityGroupIngress
Properties:
IpProtocol: tcp
FromPort: 80
ToPort: 80
GroupId: !GetAtt InstanceSecurityGroup.GroupId
CidrIpv6: 2001:db8:1234::10/128
変更後
yaml
Resources:
InstanceSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
# クライアントホストへのHTTP接続を許可
GroupDescription: Allow http to client host
VpcId:
Ref: myVPC
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 192.0.2.0/24
InboundRule:
Type: AWS::EC2::SecurityGroupIngress
Properties:
IpProtocol: tcp
FromPort: 80
ToPort: 80
GroupId: !GetAtt InstanceSecurityGroup.GroupId
CidrIpv6: 2001:0DB8:1234::/48