7.1 KiB
MeDaCA ECR脆弱スキャンツール
前提
docker cliインストール済み(WSL想定)AWS CLIインストール済み- AWS CLIでアカウント情報設定されていること
実行方法
ECRをビルド、タグ、プッシュする
vulnerability-scanの直下フォルダで以下コマンド実行する
bash build-push-scanpoint.sh
- 実行したコマンド失敗したとき、スクリプトが停止する
- その場合は
build-push-scanpoint直下から失敗したコマンド単体実行できる- 例:
bash build-dataimport.sh
- 例:
- スクリプトを強制停止したい場合、
Ctrl + Cで停止できる
ビルドしたECRをlatestに再タグ、プッシュする
- 前提:ECRにプッシュした
scan-pointタグのイメージでステージング環境での動作確認が完了していること。 vulnerability-scanの直下フォルダで以下コマンド実行する
bash retag-push-latest.sh
- 実行したコマンド失敗したとき、スクリプトが停止する
- その場合は
retag-push-latest直下から失敗したコマンド単体実行できる - 例:
bash retag-dataimport.sh - スクリプトを強制停止したい場合、
Ctrl + Cで停止できる
チェックスクリプト実行方法
cd validate-image-digestコマンドでディレクトリ変更するbash validate-stg-latest-scanpoint-digest.shでステージングECRのlatestとscan-pointダイジェストを比較するスクリプト実行するbash validate-stg-prd-ecr-digest.shでステージングECRのlatestと本番ECRのlatestダイジェストを比較するスクリプト実行するbash validate-prd-lambda-digest.shで本番ECRのlatestと本番Lambdaのダイジェストを比較するスクリプト実行する
フォルダ構成
├── build-push-scanpoint.sh -- 全ECRモジュールをアップデート、Dockerイメージにビルドし、プッシュするスクリプト ├── retag-push-latest.sh -- ビルドしたDockerイメージをlatestの再タグして、ステージング環境と本番環境にプッシュするスクリプト ├── README.md -- 当ファイル ├── build-push-scanpoint │ ├── build-dataimport.sh -- データ登録機能の脆弱性スキャンスクリプト │ ├── build-sap-data-decrypt.sh -- SAPデータ登録 SAPデータ復号化機能脆弱性スキャンスクリプト │ ├── build-check-view-security-option.sh -- Viewセキュリティオプションチェック機能脆弱性スキャンスクリプト │ ├── build-crm-datafetch.sh -- CRMデータ連携 CRMデータ取得機能脆弱性スキャンスクリプト │ ├── build-jskult-dbdump.sh -- 実消化&アルトマーク日次バッチ実行前dump取得機能脆弱性スキャンスクリプト │ ├── build-jskult-batch-daily.sh -- 実消化&アルトマーク日次バッチ機能脆弱性スキャンスクリプト │ ├── build-jskult-batch-laundering.sh -- 実消化&アルトマーク週次バッチ機能脆弱性スキャンスクリプト │ ├── build-jskult-webapp.sh -- 実消化&アルトマークWebアプリケーション脆弱性スキャンスクリプト | ├── build-export-dbdump.sh -- DBダンプ取得機能脆弱性スキャンスクリプト | └── build-transfer-medpass-data.sh -- medパス社データ転送機能脆弱性スキャンスクリプト ├── retag-push-latest | ├── retag-dataimport.sh -- データ登録機能の再タグ本番環境にプッシュスクリプト | ├── retag-sap-data-decrypt.sh -- SAPデータ登録 SAPデータ復号化機能再タグ本番環境にプッシュスクリプト | ├── retag-check-view-security-option.sh -- Viewセキュリティオプションチェック機能再タグ本番環境にプッシュスクリプト | ├── retag-crm-datafetch.sh -- CRMデータ連携 CRMデータ取得機能再タグ本番環境にプッシュスクリプト | ├── retag-jskult-dbdump.sh -- 実消化&アルトマーク日次バッチ実行前dump取得機能再タグ本番環境にプッシュスクリプト | ├── retag-jskult-batch-daily.sh -- 実消化&アルトマーク日次バッチ機能再タグ本番環境にプッシュスクリプト | ├── retag-jskult-batch-laundering.sh -- 実消化&アルトマーク週次バッチ機能再タグ本番環境にプッシュスクリプト | ├── retag-jskult-webapp.sh -- 実消化&アルトマークWebアプリケーション再タグ本番環境にプッシュスクリプト | ├── retag-export-dbdump.sh -- DBダンプ取得機能再タグ本番環境にプッシュスクリプト | └── retag-transfer-medpass-data.sh -- medパス社データ転送機能再タグ本番環境にプッシュスクリプト └── validate-image-digest ├── validate-prd-lambda-digest.sh -- LambdaとECRのダイジェストチェックスクリプト ├── validate-stg-latest-scanpoint-digest.sh -- ステージングlatestとscan-pointのダイジェストチェックスクリプト └── validate-stg-prd-ecr-digest.sh -- 本番とステージングのダイジェストチェックスクリプト
作成タイミングと作成方法
作成タイミング
- ECRリポジトリにて資材を管理する機能のUAT完了後、脆弱性スキャン手順を作成するタイミングで、当スクリプトをreleaseブランチに登録する。
作成方法
- 脆弱性スキャンスクリプトを
build-push-scanpointフォルダ配下に作成する。vulnerability-scan/build-push-scanpoint/build-crm-datafetch.shを参考にしてスクリプト実装する- リポジトリによってコマンドの組み方が微妙に異なるため、作成後にレビューを受けること
- 実装したスクリプトを親スクリプト
vulnerability-scan/build-push-scanpoint.shに追加する - 再タグ&本番環境へのPUSHスクリプトを
retag-push-latestフォルダ配下に作成する。vulnerability-scan/retag-push-latest/retag-dataimport.shを参考にしてスクリプト実装する
- 実装したスクリプトを親スクリプト
vulnerability-scan/retag-push-latest.shに追加する