이미지 보안 인사이트
이미지 보안 인사이트 (Image security insights)
Docker Hub의 정적 취약점 스캔과 Docker Scout 이미지 분석으로 이미지 보안을 강화하는 방법을 배워볼게요.
출처: 문서
본문
Docker Hub의 이미지 보안 인사이트(image security insights)로 Docker 이미지의 보안을 강화해요. Docker Hub를 사용하면 특정 시점의 정적 취약점 스캔(point-in-time static vulnerability scanning) 또는 Docker Scout를 사용한 항상 최신 이미지 분석을 수행할 수 있어요.
Docker Scout 이미지 분석
Docker Scout 이미지 분석을 켜면 Docker Scout가 Docker Hub 저장소의 이미지를 자동으로 분석해요. 이미지 분석은 SBOM(Software Bill of Material, 소프트웨어 자재 명세서)과 기타 이미지 메타데이터를 추출하고, 이를 보안 권고(security advisories)의 취약점 데이터와 대조해 평가해요. 다음 섹션은 Docker Hub 저장소에 대해 Docker Scout 이미지 분석을 켜거나 끄는 방법을 설명해요. 이미지 분석에 대한 자세한 내용은 Docker Scout 문서를 참고해요.
Docker Scout 이미지 분석 켜기
- Docker Hub 에 로그인해요.
- My Hub > Repositories 를 선택해요. 저장소 목록이 나타나요.
- 저장소를 선택해요. 저장소의 General 페이지가 나타나요.
- Settings 탭을 선택해요.
- Image security insight settings 아래에서 Docker Scout image analysis 를 선택해요.
- Save 를 선택해요.
Docker Scout 이미지 분석 끄기
- Docker Hub 에 로그인해요.
- My Hub > Repositories 를 선택해요. 저장소 목록이 나타나요.
- 저장소를 선택해요. 저장소의 General 페이지가 나타나요.
- Settings 탭을 선택해요.
- Image security insight settings 아래에서 None 을 선택해요.
- Save 를 선택해요.
정적 취약점 스캔
참고: Docker Hub 정적 취약점 스캔에는 Docker Pro, Team, Business 구독이 필요해요.
정적 스캔을 켠 후 Docker Hub 저장소에 이미지를 푸시하면 Docker Hub가 이미지를 자동으로 스캔해 취약점을 식별해요. 스캔 결과는 스캔이 실행된 시점의 이미지 보안 상태를 보여줘요. 스캔 결과에는 다음이 포함돼요:
- 취약점의 소스(예: OS 패키지와 라이브러리)
- 취약점이 도입된 버전
- 발견된 취약점을 해결하기 위한 권장 수정 버전(가능한 경우)
Docker Hub의 정적 스캔 변경 사항
2023년 2월 27일부터 Docker는 Docker Hub 정적 스캔 기능을 지원하는 기술을 변경했어요. 이제 정적 스캔은 제3자 대신 Docker가 기본 제공해요. 이 변경의 결과로 스캔이 이전보다 더 세분화된 수준에서 취약점을 감지해요. 즉 취약점 보고서가 더 많은 수의 취약점을 보여줄 수 있어요. 2023년 2월 27일 이전에 취약점 스캔을 사용했다면 새 취약점 보고서가 더 철저한 분석 때문에 더 많은 취약점 수를 나열하는 것을 볼 수 있어요. 여러분이 취해야 할 조치는 없어요. 스캔은 중단이나 요금 변경 없이 평소처럼 계속 실행돼요. 과거 데이터도 계속 사용할 수 있어요.
정적 취약점 스캔 켜기
저장소 소유자와 관리자는 저장소에서 정적 취약점 스캔을 활성화할 수 있어요. Team 또는 Business 구독의 구성원이라면 스캔을 활성화하려는 저장소가 Team 또는 Business 계층의 일부인지 확인해요. 저장소에서 스캔이 활성화되면 푸시 접근 권한이 있는 사람은 누구나 Docker Hub에 이미지를 푸시해 스캔을 트리거할 수 있어요.
정적 취약점 스캔을 활성화하려면:
참고: 정적 취약점 스캔은 AMD64 아키텍처, Linux OS, 10GB 미만 크기의 이미지 스캔을 지원해요.
- Docker Hub 에 로그인해요.
- My Hub > Repositories 를 선택해요. 저장소 목록이 나타나요.
- 저장소를 선택해요. 저장소의 General 페이지가 나타나요.
- Settings 탭을 선택해요.
- Image security insight settings 아래에서 Static scanning 을 선택해요.
- Save 를 선택해요.
이미지 스캔
취약점을 스캔하려면 이미지를 Docker Hub의 스캔을 켠 저장소로 푸시해요.
취약점 보고서 보기
취약점 보고서를 보려면:
- Docker Hub 에 로그인해요.
- My Hub > Repositories 를 선택해요. 저장소 목록이 나타나요.
- 저장소를 선택해요. 저장소의 General 페이지가 나타나요. 취약점 보고서가 저장소에 나타나기까지 몇 분 걸릴 수 있어요.
- Tags 탭, 그다음 Digest , 그다음 Vulnerabilities 를 선택해 상세 스캔 보고서를 봐요.
스캔 보고서는 스캔이 식별한 취약점을 심각도에 따라 정렬해 가장 높은 심각도를 맨 위에 표시해요. 취약점을 포함하는 패키지, 도입된 버전, 이후 버전에서 수정되었는지에 대한 정보를 표시해요. 이 보기에 대한 자세한 내용은 Image details view 를 참고해요.
취약점 검사
취약점 보고서는 심각도에 따라 취약점을 정렬해요. 취약점을 포함하는 패키지, 도입된 버전, 이후 버전에서 수정되었는지에 대한 정보를 표시해요. 취약점 스캔 보고서는 개발 팀과 보안 리드가 태그 간 취약점 수를 비교해 시간에 따라 취약점이 줄거나 늘고 있는지 확인할 수 있게 해줘요.
취약점 수정
취약점 목록이 식별되면 취약점을 해결하기 위해 취할 수 있는 몇 가지 조치가 있어요. 예를 들어:
- Dockerfile에서 업데이트된 기본 이미지를 지정하고, 애플리케이션 수준 종속성을 확인하고, Docker 이미지를 다시 빌드한 다음 새 이미지를 Docker Hub에 푸시해요.
- Docker 이미지를 다시 빌드하고 OS 패키지에서 업데이트 명령을 실행하고, 더 새 버전의 이미지를 Docker Hub에 푸시해요.
- Dockerfile을 편집해 취약점을 포함하는 특정 라이브러리를 수동으로 제거하거나 업데이트하고, 이미지를 다시 빌드하고, 새 이미지를 Docker Hub에 푸시해요.
Docker Scout는 이미지 보안을 개선하기 위한 구체적이고 상황에 맞는 수정 단계를 제공할 수 있어요. 자세한 내용은 Docker Scout 문서를 참고해요.
정적 취약점 스캔 끄기
저장소 소유자와 관리자는 저장소에서 정적 취약점 스캔을 비활성화할 수 있어요. 스캔을 비활성화하려면:
- Docker Hub 에 로그인해요.
- My Hub > Repositories 를 선택해요. 저장소 목록이 나타나요.
- 저장소를 선택해요. 저장소의 General 페이지가 나타나요.
- Settings 탭을 선택해요.
- Image security insight settings 아래에서 None 을 선택해요.
- Save 를 선택해요.