쿠버네티스/개념정리
[ 쿠버네티스 ] 보안 1 - 컨테이너 보안
ARI_II
2024. 6. 2. 13:44
1. 컨테이너로 리눅스 가동시 root 실행을 최소화 해야한다.
- 커널을 공유하기 때문에, 컨테이너에서의 root 권한이 호스트에서도 root 권한으로 이어져, 컨테이너가 운영중인 서버 침탈이 가능하다.
-security context 필드를 추가해서 실행 권한을 바꾸면되는데, 이때 root 계정이 무조건 필요한 설정의 경우 해당 설정들 까지 전부 변경해야하는 번거로움이 있다.
2. 그럼에도 불구하고 user 권한도 쿠버네티스 api 에 접속이 가능한데,,,,
- 쿠버네티스 api 토큰의 경우 누구든지 읽을 수 있는 상태로 마운트 된다.
(쿠버네티스 api로 무엇을 할 수 있는지는 클러스터의 설정에 따라 다르다)
- 따라서, api를 사용하지 않는 경우 파드정의를 이용해 컨테이너에 토큰 마운트를 금지 시켜야 한다.
(인그레스 컨트롤러가 아닌 대부분의 리소스에 해당 )
3. security context 필드의 capabilities 를 애용하자
- capabilities 에서 특정한 리눅스 커널의 기능을 명시적으로 추가하거나 제거할 수 있다.
- 우선 drop으로 커널의 모든 기능을 제거한 후 , 필요한 기능만 add로 오버라이드해서 추가, 화이트 리스트방식