Security Hub コントロール [ECR.1] の失敗は「レジストリレベルの設定」でパスされるようになっていました
どうも、こんにちは kaz です。
はじめに
Security Hub コントロールのひとつに [ECR.1] というものがあります。
これは、Amazon ECR プライベートリポジトリにイメージをプッシュする際に脆弱性スキャンされているかを確認するコントロールです。
このコントロールは、プライベート Amazon ECRリポジトリにイメージスキャンが設定されているかどうかを確認します。プライベートECRリポジトリがプッシュ時スキャンまたは連続スキャン用に設定されていない場合、コントロールは失敗します。
ECR イメージスキャンは、コンテナイメージ内のソフトウェアの脆弱性を特定するのに役立ちます。ECR リポジトリでイメージスキャンを設定すると、保存されるイメージの整合性と安全性の検証レイヤーが追加されます。
従来までは 個々のリポジトリレベル で「プッシュ時スキャン」の設定が必要でしたが、どうやら「レジストリレベルの設定」でパスされるようになっていました。
これでわざわざ個々のリポジトリを設定する手間が省けるようになります!!(やったね)
事前準備
まずは検証用に適当なプライベートリポジトリを作成します。
ここで「プッシュ時にスキャン」はオフにしておきます。
では、Security Hub にてコントロールの結果を確認してみましょう。
ちゃんと失敗していることが確認できましたね(SUPPRESSED となっているのは大人の事情なので気にしないでください)。
やってみた
それでは、レジストリレベルで「プッシュ時スキャン」を有効にしてみましょう。
[Features & Settings]からスキャン中の[編集]をクリックします。
プッシュフィルターのスキャンの[プッシュ時にすべてのリポジトリをスキャンする]を有効にして保存します。
Security Hub にてコントロールの結果を確認してみると、パスされていることが確認できました!
[小ワザ] すばやくコントロールの結果を確認する方法
今回のコントロールである [ECR.1] はスケジュールタイプが 定期的
となっています。
この定期的なチェックでは 12 時間または 24 時間ごとにチェックが行われるため、すぐに結果を確認することができません。
定期的なセキュリティチェックは、最後の実行から 12 時間または 24 時間以内に自動的に実行されます。周期は Security Hub によって決定され、変更はできません。定期的なコントロールは、チェック実行時の評価を反映したものになります。
このため、以下のように手動でチェックをトリガーしてあげることですぐに結果を確認できます。
対象コントロールの詳細画面から[Config ルール]をクリックして、該当のルールを選択します。
Config ルールの詳細画面に遷移するので、アクションから[再評価]をクリックして即座に結果を確認できます!
まとめ
いかがでしたでしょうか。
今回は Security Hub コントロール [ECR.1] が「レジストリレベルの設定」でパスされるようになることを確認できました。
たとえば、他のサードパーティ製の脆弱性スキャンツールを利用して全社的にイメージを管理できているというパターンであれば、本コントロールを無効化してしまっても問題ないかもしれません。
ただ、なかなかそのような統制が取れた環境は少ないかと思いますので、基本的には「プッシュ時スキャン」を有効にしておくことをオススメします!
ちなみに、スキャンタイプには「基本スキャン(ベーシックスキャン)」と「拡張スキャン」の 2 種類があります。
基本スキャンは無料のサービスで料金がかからないため、ぜひ活用してみてください!
基本スキャンの詳細については以下の記事をご参照ください。
アノテーション株式会社について
アノテーション株式会社 は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。
「らしく働く、らしく生きる」のスローガンを掲げ、さまざまな背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けています。
現在当社では AWS の構築・運用経験があり、以下の業務に携わってくれるメンバーを募集中です。
- AWS 環境の運用設計支援や構築
- 運用監視とインシデント対応
- 定型業務などの自動化
AWS 関連資格をお持ちの方、クラウドネイティブな運用経験者は大歓迎です。
少しでもご興味がありましたら 募集職種 よりご応募ください!!
一緒に働ける日を心待ちにしています!