3

ECRでコンテナ脆弱性診断が標準実装されていたので試してみた

※2019/10/25(金)追記:
本機能は使用出来なくなっているようです。

ECRでスキャン?

今日の業務中にふとECR画面見たら、「スキャン」の表示を見つける。
コンテナの脆弱性診断が実装されてる?
ん?こんなのあったっけ。見落としていただけかな。ということで触ってみた。

リポジトリ作成

1.png
「プッシュ時にスキャン」画面メニューがある。とりあえず、リポジトリ作成してみる。

2.png
なるほど、docker pushでコンテナ登録する時にスキャンが走るようだ。有効にしてみる。

3.png
有効になった。

コンテナをECRに登録

試しにcentosのコンテナをpushして、スキャンをしてみる。

docker pull centos:latest
docker tag centos:latest [AWSアカウントID].dkr.ecr.ap-northeast-1.amazonaws.com/centos:1.0
$(aws ecr get-login --no-include-email --region ap-northeast-1)
docker push [AWSアカウントID].dkr.ecr.ap-northeast-1.amazonaws.com/centos:1.0

centos:latestのコンテナをローカルに落とす。
・ECR用のタグを設定。
・ECRログイン。
・ECRのcentosリポジトリにpushする。

スキャン完了。そして脆弱性確認へ・・・

4.png

スキャンは完了!脆弱性があるようなので、詳細を見てみる。

5.png
概要で脆弱性の件数とパッケージ毎の脆弱性説明が表示される。
例では重要度がCriticalはないが、HighMediumがそれぞれ指摘された。
名前がリンクになっているのでクリックすると・・・

6.png
指摘毎に対処ページが表示される。便利。

脆弱性の対応をしてみる。

パッケージのバージョンアップをすることで、脆弱性指摘が減るか確認してみる。

FROM centos:latest
LABEL maintainer "portfield"

RUN yum -y update && yum clean all

OSアップデートするDockerfileを書く。シンプル。
centosディレクトリにファイルを配置。

docker build -t [AWSアカウントID].dkr.ecr.ap-northeast-1.amazonaws.com/centos:1.1 centos
docker push [AWSアカウントID].dkr.ecr.ap-northeast-1.amazonaws.com/centos:1.1

・ECR用でバージョン上げてDockerイメージ作成。
・ECRのcentosリポジトリにpushする。

再びスキャン完了。脆弱性確認へ・・・

7.png
上がOSアップデート前、下がOSアップデート後のDockerイメージ。
脆弱性件数が減っていることから、OSアップデートにより、脆弱性が減ったことが分かる。
詳細も見てみよう。

8.png
OSアップデートだけでは対処出来なかった脆弱性が表示される。
名前のリンクと説明を頼りに対応しよう。今回は対応しない。。

スキャンを有効にしていなくてもOK。

9.png
手動実行出来るので、大丈夫。

10.png
このように進行中となり、最終的に完了する。

まとめ

・以上のように、リポジトリの設定を有効にするだけで、簡単に使用することが出来た。
CI/CDの一環でソース更新時にDockerイメージを自動作成し、ECRにpushしているケースも多いと思うので、便利に使用出来そう。
・というか、元々あったのだろうか???ドキュメント探しても見つからない。。
裏で何をベースにスキャンしているとか、情報があったら欲しいです。。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away