ㅡ.ㅡ

[Container] Trivy Docker image Scan 본문

Security

[Container] Trivy Docker image Scan

ekwkqk12 2021. 10. 28. 21:30

Jenkinsfile

jenkins-agent를 통해 dind 방식을 사용하여 trivy 이미지를 컨테이너로 생성후 작업이 완료되면 삭제하는 pipeline이다.
추가로 docker-workflow 플러그인을 통해 docker image build시 latest 태그값을 사용해 이미지를 빌드하는 것을 볼 확인할 수 있다.

pipeline {
    agent any
    stages {
        stage("Docker Image Scan") {
            steps {               
                script {
                    sh "docker images"
                    sh """
                    docker run --rm \\
                        --network host \\
                        -v /var/run/docker.sock:/var/run/docker.sock \\
                        -v $HOME/Library/Caches:/root/.cache/ \\
                        aquasec/trivy \\
                        빌드한 이미지형:lastet
                    """
                }
            }
        }
    }
}

.gitlab-ci.yaml

위에 Jenkins와 동일한 방식으로 gitlab runner를 통해 pipeline작업 시 사용하는 방법이다.
dind 서비스를 활성화 하거나 아래와 같이 키값 프로젝트 내 CI/CD 변수를 사용하여 ECR이미지를 불러올수 있다.

trivy:
  stage: test
  allow_failure: true
  image:
    name: aquasec/trivy:latest
    entrypoint: [""]
  script:
    - export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY
    - export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY
    - export AWS_DEFAULT_REGION=ap-northeast-2
    - trivy --no-progress $ER:$ECR_TAG_COMMIT
  #artifacts:
    #reports:
      #container_scanning: scanning-report.json
  when: manual
  only:
    - master
  tags:
    - test1

'Security' 카테고리의 다른 글

[Container] PSS(Pod Security Standards)  (0) 2022.02.27
[Server] 서버 점검  (0) 2022.02.27
[Code] Sonarqube Code Analysis  (0) 2021.10.23
[Code] Sonarqube  (0) 2021.10.23
[WEB] 데이터 평문 전송  (0) 2019.02.09