イメージに対するセキュリティ対策の観点(p.127) イメージに対するセキュリティ対策として本の中では主に以下の内容が紹介されています。 チェック項目 概要 イメージ脆弱性 ECRによる 脆弱性スキャン AWSが提供する「AWS_NATIVE」スキャン機能を使用し、イメージの脆弱性を検知する。 • スキャン対象はOSパッケージ • 無料で利用可能 Trivyによる 脆弱性スキャン OSSのイメージスキャンツール • スキャン対象はOSパッケージ、アプリケーション依存関係 • 無料で利用可能 Inspectorによる 脆弱性スキャン 主にCVEデータべースの情報をもとに、イメージの脆弱性を検知する。 • スキャン対象はOSパッケージ、アプリケーション依存関係 • 有料(最初にスキャンされたコンテナイメージあたり:$0.11、コンテナイメージに対する連続スキャンごと:$0.01) 継続的なスキャン CI/CDパイプラインに継続的なコンテナイメージスキャンを取り入れる。 ※開発やリリースが頻繁になされない場合は、定期的な手動スキャンを実行する。 イメージ設定の不具合 Dockleを利用し、コンテナイメージへCIS BenchmarkやDockerベストプラクティスに基づいたチェックを実行する。 埋め込まれた マルウェア 提供元が信頼できる ベースイメージの利用 提供元が不明なベースイメージの利用は避ける。 例: • Docker Hub:Docker社自体が提供している公式イメージ、認定済みベンダーが提供している公式イメージ • ECR:ECR Public GalleryでVerified accountのバッジがあるイメージ GuardDutyの活用 GuardDutyにより、コンテナ内にマルウェアが混在し外部との不正な通信があった際に検知する。 埋め込まれた平文の秘密情報 秘密情報はイメージ外の安全な領域に保存し、コンテナを実行する際に動的に提供する。 Secret ManagerやSSM パラメータストアのARNと環境変数名をタスク定義内でマッピングすることで、コンテナイメージ内のOS の環境変数として認識させる。 信頼できないイメージの使用 ECRを利用し、自分たちの環境内における信頼できるイメージとレジストの一元的管理を実現する。 イメージの署名検証を行うことで、ベースイメージ等の改ざん検知を行う。 2022年4月時点では、ECRにおけるイメージ署名の検証について対応中だったが、2023年にAWS SignerとECRがコンテナイ メージに署名して検証できるイメージ署名を導入した。