説明
送信先が 0.0.0.0/0 または ::/0 の場合、そのアドレス体系のすべての宛先が許可対象になります。プロトコルとポートは同じルールの設定に従い、実際の接続にはルーティングなどの条件も必要です。
不要に広い宛先許可は、マルウェアの通信や未承認の外部接続を制限しにくくします。必要な外部サービスと更新経路を把握してから範囲を決めてください。セキュリティグループはステートフルなので、許可された受信要求への応答に別の送信ルールは不要です。
想定される影響
- 侵害されたワークロードが、許可されたプロトコルやポートで外部接続やデータ送信を行うおそれがあります。
- 一律に制限すると、正常な外部サービス接続が途絶える場合があります。
対処方法
- 必要な宛先 CIDR、対応するセキュリティグループ参照、プレフィックスリストを使い、ポートも制限してください。
- 関連付けられた全グループと IPv4・IPv6 のルールを確認してください。狭いルールを追加しても、既存の広い許可は消えません。
- 外部依存先と必要な接続を試験してください。新しいグループの作成時に送信ルールを省略すると、既定の全許可が追加される場合があります。
例
VPC を省略しているため、そのリージョンにデフォルト VPC が必要です。宛先は実際の要件に合わせて変更してください。
変更前
yaml
Resources:
InstanceSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Allow http to client host
SecurityGroupEgress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
すべての IPv4 宛先に TCP 80 を許可します。全プロトコルの許可ではありません。
変更後
yaml
Resources:
InstanceSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Allow http to client host
SecurityGroupEgress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 192.0.2.0/24
このルールの宛先を絞ります。192.0.2.0/24 は文書用の範囲なので、実際に許可する範囲に置き換えてください。