BLOG
[Tech blog] Amazon Inspector를 이용한 컨테이너 취약성 스캔
작성일: 2024-03-25
시작하며
AWS상에서 컨테이너 이미지를 다루는 경우는 여러가지 경우가 있을 수 있지만, 컨테이너 보안까지 고려하시는 분들은 많지 않으실 듯 합니다.
이번 게시글에서는 Amazon Inspector를 사용한 지속적인 컨테이너 이미지 스캔을 소개 해 드리도록 하겠습니다.
목차
- Amazon Inspector 정보
- 컨테이너 스캔 사용
- 동작 테스트
1. Amazon Inspector 정보
https://aws.amazon.com/ko/inspector/?nc1=h_ls
- Amazon Inspector는 소프트웨어 취약성과 의도하지 않은 네트워크 노출에 대해 지속적으로 AWS 워크로드를 검색하는 취약성 관리 서비스입니다.
- 사용을 시작하면 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스, Amazon Elastic Container Registry(Amazon ECR)내의 컨테이너 이미지, AWS Lambda 함수를 자동 및 대규모로 검색하여 즉시 평가를 시작한 후, 알려진 취약성이 없는지 확인합니다.
- Amazon Inspector는 공통 취약성 식별자(CVE) 정보를 네트워크 액세스 및 악용 가능성 등의 요소와 연결 시켜 각 검색 결과에 대해 고도로 컨텍스트화된 위험 점수를 계산합니다. 이 점수는 매우 심각한 취약성에 우선 순위를 부여하고 시정 대응 효율을 향상시키는 데 사용됩니다.
참고로,
기본 스캔
https://docs.aws.amazon.com/ko_kr/AmazonECR/latest/userguide/image-scanning.html
- Amazon ECR에는 기본 스캔이 제공됩니다.
- Amazon ECR은 오픈 소스 Clair 프로젝트의 공통 취약성 식별자(CVE) 데이터베이스를 사용합니다.
- 기본 스캔은 푸시 시 스캔하도록 리포지토리를 구성합니다. 수동 스캔을 실행하면 Amazon ECR은 검색 결과 목록을 제공합니다.
확장 스캔
https://docs.aws.amazon.com/ko_kr/inspector/latest/user/scanning-ecr.html
- Amazon Inspector는 Amazon ECR에 저장된 컨테이너 이미지를 검색하여 소프트웨어 취약점을 찾아 패키지 취약점 조사 결과를 생성합니다.
- Amazon Inspector에서 제공하는 확장 검색은 레지스트리 수준에서 운영 체제와 프로그래밍 언어 패키지 모두 취약성 검색의 이점을 제공합니다.
- ‘새 컨테이너 이미지가 푸시 될 때마다’ 또는 ‘Amazon Inspector가 새 공통 취약성 및 노출(CVE) 항목을 데이터베이스에 추가하고 CVE가 컨테이너 이미지와 관련이 있는 경우’에 취약점 검색을 시작합니다.
취약성 정보는 매일 업데이트되며 보안 전문가가 아닌 이상 정보를 계속 추적하기가 어렵습니다.
그러한 점에서 AWS 매니지드의 보안 서비스와 연계하면서 지속적인 이미지 스캔을 할 수 있는 확장 스캔(Inspector와의 연계)은 매우 매력적인 선택이라고 생각합니다.
2. 컨테이너 스캔 활성화
Inspector 활성화
- Inspector를 활성화합니다.
- Inspector Summary 화면이 표시되는지 확인합니다.
ECR 콘솔에서 작업
- ECR 콘솔 화면에서 ‘Private registry’ ⇒ ’Scanning’을 선택합니다.
- 스캔 설정 화면에서 ‘Enhanced scanning’, ‘Continuously scan all repositories(모든 리포지토리를 지속적으로 스캔)’에 체크합니다. 모든 리포지토리에 대해 Amazon Inspector의 전체 스캔 범위가 활성화됩니다.
- 확장 설정이 활성화되었습니다.
Inspector 콘솔에서 설정 확인
- Inspector Console ⇒ Settings ⇒ ECR scanning settings을 통해 스캔 기간을 선택합니다.
- Lifetime을 선택한 경우 이미지가 삭제될 때까지 자동 재검색을 계속합니다.
여기까지 초기 설정이 완료되었습니다.
3. 동작 테스트
ECR 리포지토리에 이미지 PUSH
$ docker pull nginx:1.19.7
- 임의의 이름으로 ECR 리포지토리를 생성합니다.
- 테스트로 위의 이미지를 ECR 리포지토리에 PUSH했습니다.
- 이미지 PUSH 후에 Inspector 콘솔에서 Findings가 업데이트 되었는지 확인 할 수 있습니다.
마지막으로
이상과 같이 복잡한 설정 없이도 스캔 설정을 할 수 있습니다.
한번 시험 해 보셔도 좋을 것 같습니다.
원본: https://qiita.com/gahirosan/items/7e5819ad2a54cb76c6e6
작성자 : 메가존재팬 Aga Hiroaki
번역 : 메가존클라우드 CTC 박지은 매니저