Amazon Inspectorを利用したAmazon ECRの脆弱性情報の検出
こんにちは、tkgです。
この記事はNHN テコラス Advent Calendar 2023の23日目の記事です。
Amazon Inspectorの機能アップデートがAWS re:Invent 2023で多数ありましたが、私自身EC2以外のInspector利用方法についてあまり理解していなかったため、改めて機能の確認を行うことにしました。
今回はAmazon ECR配下のコンテナ環境に対しての脆弱性の検出・通知について確認して行きたいと思います。
ECR スキャン設定について
ECRにはスキャン設定が下記の2つあります。
- 基本スキャン
- push時にClair プロジェクトの CVEを利用してスキャン
- 無料
- 拡張スキャン
- Inspectorを利用したリポジトリの継続スキャン
- Inspector 「Amazon ECR コンテナイメージスキャン」の費用 が掛かる
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を元に実行するなど、全体的な自動化の上で脆弱性が見つかっていないことを確認するための仕組みになりそうだなと感じています。
その上で内容からトリアージを行える運用体制にしていけば、環境的に危険な脆弱性のみ緊急対応を行うなど、迅速な対応が可能になってくるかなと思います。
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitter2016年入社のインフラエンジニアです。 写真が趣味。防湿庫からはレンズが生え、押入れには機材が生えます。 2D/3DCG方面に触れていた時期もありました。
Recommends
こちらもおすすめ
-
エンジニアとして働く上で大切にしているマインド
2023.12.21
-
【バスケデータ分析】BigQueryで探るシュート効率
2023.12.15
-
インナーブランディングで100点をとった話
2023.12.1
-
Mountpoint for Amazon S3のパフォーマンス検証
2023.12.13
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 10 %割引になる!
『AWSの請求代行リセールサービス』
2024.07.16