최고의 보안 전문가? 그거 나잖아

[ 쿠버네티스 ] 보안 1 - 컨테이너 보안 본문

쿠버네티스/개념정리

[ 쿠버네티스 ] 보안 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로 오버라이드해서 추가, 화이트 리스트방식