이번 포스팅에서는 Kubernetes 보안의 중요성을 강조하기 위해, 쿠버네티스를 해킹하여 secret 리소스에 저장된 비밀번호를 찾는 여러 가지 방법을 알아봅니다. 특히, etcd와 Pod를 해킹하는 실습으로 쿠버네티스 보안의 중요성을 알아보겠습니다.
Secret은 어디에 저장되나요?
먼저 사용자가 kubectl
명령을 통해 리소스를 선언하면, 쿠버네티스는 이 리소스를 정의한 메니페스트 파일을 만들어 etcd에 저장합니다. secret 또한 마찬가지로 사용자가 secret 리소스를 선언하면 etcd에 저장됩니다. 그리고 사용자가 secret을 볼륨 혹은 환경 변수로 읽는 pod을 만들게 되면, secret은 해당 pod에 저장되게 됩니다.
따라서 우리는 secret이 저장되는 etcd
와 secret이 사용되는 pod
을 해킹하면 secret에 저장된 비밀번호를 알아낼 수 있습니다.