こんにちは、Orca Security 担当の尾谷です。
Orca Security の Internet & IAM Exposure グラフはマネージドプレフィックスリストに対応しているか、調査をしてみましたのでアウトプットします。
AWS マネージドプレフィックスリスト
AWS マネージドプレフィックスリストは、AWS が提供する CloudFront や、S3 といったサービスの IP アドレス範囲のリストです。
マネージドプレフィックスリストがない時代は、CloudFront から ALB へのアクセスをコントロールしたい場合、つまり、以下の図のような場合に工夫が必要でした。
まず、最初に CloudFront の IP アドレスからの HTTPS (443) 通信のみ許可するセキュリティグループを ALB にアタッチする方法が考えられます。ですが、CloudFront は世界中にエッジロケーションがあり、不定期で更新されます。 その更新に付随しようとすると、アップデートをウォッチして、自動でセキュリティグループを更新する Lambda を作り込む必要がありました。
IP 制限以外に、HTTP ヘッダーを追加する方法もありました。これも欠点があり、HTTP ヘッダーが漏洩すると、ALB に直接アクセスができてしまいました。
マネージドプレフィックスリストを利用すると、AWS が対象を随時更新してくれるので、メンテナンスフリーです。
Orca Security はマネージドプレフィクスリストに対応しているか?
早速検証をしてみました。
EC2 (test)、ALB (otani-test-alb-20240729)、CloudFront をデプロイしました。
ALB (otani-test-alb-20240729) のセキュリティグループには、CloudFront のマネージドプレフィックスリストを設定しました。
Scan 完了
Orca のスキャンが完了したので各リソースを確認しました。
ALB
ALB (otani-test-alb-20240729) のアセット詳細パネルを確認しました。
Internet Facing : Yes ということで、Exposure (インターネット露出) は検出されています。
ところが、Internet & Exposure を確認したところ、No relevant graph was found が表示されました。
バグではないか?念の為、Orca Support にも確認しましたが、AWS マネージドプレフィックスリストは現段階で Orca が対応していないそうです。
Network タブから、セキュリティグループを確認するとプレフィックスリストが指定されていることは確認できました。
全く対応していないわけではなく、Internet & IAM Exposure グラフのみ対応していないようです。
EC2
EC2 はパブリック IP アドレスをアタッチせずに起動したため、Exposure (インターネット露出) は検出されませんでした。
IAM ロールを経由して他のインスタンスからアクセスできる状態とだけ表示されました。
EC2 は想定通りです。
まとめ
以上より、Internet & IAM Exposure グラフはマネージドプレフィックスリストに対応していませんでした。
今後に期待したいと思います。
更新されたら、ブログ記事を更新してお知らせさせていただきます。