본문 바로가기
  • 오늘처럼
소프트웨어 아키텍처/Kubernetes

Kubernetes package binary 파일 정합성 확인하기

by bluefriday 2022. 7. 25.
반응형

Kubernetes 설치에 필요한 패키지들은 다음의 공식 github 페이지에서 다운로드가 가능하다.

https://github.com/kubernetes/kubernetes/releases

 

Releases · kubernetes/kubernetes

Production-Grade Container Scheduling and Management - kubernetes/kubernetes

github.com

바이너리 파일은 인터넷 서버에 위치하여 사용자는 브라우저 다운로드나 curl, wget 등의 os tool 로 다운로드 받을 수 있다. 그런데 이렇게 네트워크 망을 통해 다운로드를 받을 때 중간에 공격자에 의해서 파일이 변조 될 수 있다. 

변조 된 파일로 설치한 kubernetes 클러스터에는 의도되지 않은 기능이 포함되어 있을 수 있으며, 이는 사용자 클러스터의 보안 취약 요소가 된다. 

따라서 다운로드 받은 로컬 패키지 파일에 대한 정합성 검증을 수행할 필요가 있다. 각 바이너리 파일들은 고유의 checksum 이나 hash값을 가지고 있는데, 이 값은 파일 내에서의 아주 작은 변경 사항으로도 매우 크게 바뀌게 된다.

다음은 kubernetes package 를 다운로드 받고 checksum 을 확인하는 예시이다.

### kubernetes package download
curl https://dl.k8s.io/<버전번호>/kubernetes.tar.gz -L -o kubernetes.tar.gz

### checksum 확인
sha512sum <파일명>



example)
-----------
curl https://dl.k8s.io/v1.23.0/kubernetes.tar.gz -L -o /opt/kubernetes.tar.gz


sha512sum /opt/kubernetes.tar.gz 
850f92f4a4f397773ceabdacdb0513fa3cd2eb8867f7e3697f42bc595c3c710f81a8b9b34679d783ca2e1900dd272e0af209126cf55719e321af8da04a4b1c2b  /opt/kubernetes.tar.gz

 

바이너리 파일을 받은 후에는 웹 페이지에 있는 checksum 값과 동일한지 확인하여 원래의 바이너리 파일을 이상 없이 다운로드 받은 것을 확인할 수 있다.

 

댓글