Amazon Inspectorを利用したAmazon ECRの脆弱性情報の検出

AWS

2023.12.23

Topics

こんにちは、tkgです。

この記事はNHN テコラス Advent Calendar 2023の23日目の記事です。

Amazon Inspectorの機能アップデートがAWS re:Invent 2023で多数ありましたが、私自身EC2以外のInspector利用方法についてあまり理解していなかったため、改めて機能の確認を行うことにしました。
今回はAmazon ECR配下のコンテナ環境に対しての脆弱性の検出・通知について確認して行きたいと思います。

ECR スキャン設定について

ECRにはスキャン設定が下記の2つあります。

https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/image-scanning.html

今回はInspectorを利用した検出機構の作成を行いたいため、拡張スキャンを利用していきます。
プライベートレジストリ Setting > スキャン設定から拡張スキャンを選択、すべてのリポジトリを継続的にスキャンする を設定していきます。

Inspectorを有効化する

Inspectorを利用していない環境であれば、有効化していきます。

以上で準備完了です。

ECRにimageをpushして動作を確認する

下記ドキュメントを参考にコンテナイメージをECRにpushします。
ECRでプライベートリポジトリを作成および、下記ドキュメントを参考にimageを作成します。
Creating a container image for use on Amazon ECS

脆弱性を検出させるために、利用するコンテナはlatestではなく古いものを指定します。
また、yum updateは行わないよう変更します。

上記ドキュメントのbuildが完了したらECRリポジトリにある プッシュコマンドの表示の内容を参考にECRにpushします。

pushした後、少しするとInspectorのGUI、検出結果 > コンテナイメージ別やコンテナリポジトリ別など検出内容が確認できるようになりました。

また、ECRからもリポジトリごとに脆弱性情報が確認できるようになります。

その後の通知・体制構築

EventBridgeとの連携が可能なため、SNSやLambdaを通じて通知が可能です。
下記構成図のような形で、Slack、チケットシステム、メール等に連携することで脆弱性検出時の体制が構築できそうです。
https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning-enhanced.html

まとめ

ECR環境は思った以上に簡単に脆弱性検出が可能でした。
実際に想定される状況としては、CodeCommitやgitにアプリケーションが更新された時点でのCI/CDの動作、ECRへのimageをpushしてからの検出が行われる状態になり、build時に最新imageを元に実行するなど、全体的な自動化の上で脆弱性が見つかっていないことを確認するための仕組みになりそうだなと感じています。
その上で内容からトリアージを行える運用体制にしていけば、環境的に危険な脆弱性のみ緊急対応を行うなど、迅速な対応が可能になってくるかなと思います。

tkg

2016年入社のインフラエンジニアです。 写真が趣味。防湿庫からはレンズが生え、押入れには機材が生えます。 2D/3DCG方面に触れていた時期もありました。

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら