brunch
매거진 NCP Security

2. 네이버 클라우드 -쿠버네티스 보안 가이드라인

by Master Seo

<0> 쿠버네티스 보안 가이드 라인 요약

<1> 쿠버네티스 보안 가이드 라인 - Cloud Infra

<2> 쿠버네티스 보안 가이드 라인 - IAM

<3> HOST

<4> Pod

<5> Runtime

<6> Network

<7> Container Image

<8> Audit

<9> 쿠버네티스 보안 가이드 라인 실습 - Cloud Infra



<0> 쿠버네티스 보안 가이드 라인 요약



1

# 쿠버네티스 = 고객이 쿠버네티스를 직접 구성하는 경우 권장사항

# 네이버 쿠버네티스 = 고객이 네이버 쿠버네티스를 사용하는 경우 권장사항


슬라이드1.JPG
슬라이드2.JPG



<1> 쿠버네티스 보안 가이드 라인 - Cloud Infra


1

네이버 클라우드 보안 가이드 https://www.ncloud.com/intro/securityNotice/materials




<2> 쿠버네티스 보안 가이드 라인 - IAM



1

# 쿠버네티스 권장

1) RBAC 활성화

2) RBAC 감사

3) 관리형 제어 영역 직접 구성시 파일별 적절한 권한 설정

4) 클라이언트 인증 메커니즘 구현



2

# 네이버 클라우드 Kubernetes Service 권장 사항


1) ncp-iam-authenticator 설치


2) IAM인증 kubeconfig 생성


3) IAM인증 사용자 관리.

네이버 클라우드 Kubernetse Service에서 클러스터를 생성할 경우, 클러스터를 생성한 SubAccount계정과 메인 계정은 클러스터 RBAC구성에 system;masters 그룹에 자동 설정된다.

이 설정은 클러스터 정보나 ConfigMap에 표시되지 않는다.

IAM 사용자에서 클러스터 사용 권한을 추가하려면 kube-system네임스페이스에 ncp-auth ConfigMap을 등록해야 한다.


4) 참고 - Kubernetse Service 사용자 가이드

https://guide.ncloud-docs.com/docs/k8s-k8soverview





<3> HOST


1

# 쿠버네티스 권장


1) 컨테이너 전용 운영 체제 - 컨테이너에 최적화된 전용 운영체제 사용 권장. 드라이버 지원 가능 OS.

2) 워커 노드 구성 파일 설정 - 권한과 소유 확인

3) Kubelet 플래그 값 설정 - 보안을 강화할 수 있는 플래그 인자값 설정하여 Kubelet에 대한 강력한 액세스 제어 구현.

4) 호스트 운영체제 보안 패치 적용.



2

# 네이버 클라우드 Kubernetes Service 권장 사항


1) Server 기본 보안 기능 설정

네이버 클라우드 Kubernetse Service에서는 기본적으로 Ubuntu 이미지를 기반으로 워커 노드가 생성된다.

생성된 워커 노드는 클러스터 콘솔과 Server 콘솔에서 모두 확인가능ㅎ다.

워커노드에 대해 기본 보안 설정을 지원한다.



2) System Security Checker 사용

운영체제의 보안 설정 점검하는 System Security Checker 사용



3) 참고자료

네이버 클라우드 쿠버네티스 보안 가이드 https://www.ncloud.com/intro/securityNotice/materials



<4> Pod


1

# 쿠버네티스 권장

1) non-root권한으로 컨테이너 실행

2) 볼륨, 루트 파일 시스템 읽기 전용 구성

3) ServieAccount token 비활성화

4) PodSecurity 설루션 사용





<5> Runtime


1

# 쿠버네티스 권장

1) 리눅스 커널 모듈(AppArmor, Seccomp) 사용



2

# 네이버 클라우드 Kubernetes Service 권장 사항


1) 네이버 클라우드 마켓 플레이스의 설루션 적용

다양한 보안 설루션 제공.



<6> Network


1

# 쿠버네티스 권장

1) CNI플러그인 사용

2) 암호화된 통신을 통한 관리형 제어 영역 접속 - TLS 1.2 이상 적용 필요.




2

# 네이버 클라우드 Kubernetes Service 권장 사항


1) ACG , NACL 사용 - 사용 목적에 따라 Private , Public에 분리 구축, NACL, ACG로 제한.

2) CNI플러그인 적용. Cilium CNI플러그인 지원.




<7> Container Image


1

# 쿠버네티스 권장


1) 이미지 취약점을 주기적으로 스캔 - 대표적인 이미지 스캐닝 툴 Anchor, KubeXray , Clair, Dagda 등.

2) 신뢰할 수 있는 컨터이너 레지스트리(Container Registry) 사용 - 도커 Trusted Reristry , 클라우드 기반 프라이빗 레지스트리.

3) minimal 이미지 생성 - 컨테이너 구성 및 실행과 관련 없는 설정과 파일을 제거.



2

# 네이버 클라우드 Kubernetes Service 권장 사항


1) Container Registry 액세스 관리

네이버 클라우드 Container Registry 사용, IAM을 통한 접근 제어. 매니저 권한, 뷰어 권한으로 특정 사용자만 이미지 업로드 다운로드 설정.


2) Container Registry의 Private Endpoint

Private Endpoint를 통해 리지스트리와의 모든 네트워크 트래픽을 네이버 클라우드 네트워크로만 제안하여 보안을 강화.


3) Container Registry의 컨테이너 이미지 취약점 스캔

Container Registry 이미지 스캐닝을 위한 정적 분석 도구 제공함.

Centos의 오픈소스 컨테이너 취약점 스캔도구인 Clair기반 동작.

Scan on Push 기능을 활성화, 업로드될 때 자동으로 취약점 스캔.

Scan on Push 기능 비활성의 경우 수동으로 스캐닝 가능.




<8> Audit



1

# 쿠버네티스 권장

1) 관리형 제어 영역 감사 로깅 활성화.

2) 워커 노드 영역 로그 확인

3) 로그 백업

4) 로드 분석 및 모니터링 도구 활용




2

# 네이버 클라우드 Kubernetes Service 권장 사항


1) Audit Log 설정 및 Cloud Log Analytics 연동.

네이버 클라우드 Kubernetes 클러스터 생성 콘솔 화면에서 Audit Log 설정을 지원한다.

Cloud Log Analytics에 'kube-audit' 아러눈 이름으로 실시간 수집 된다.

Cloud Log Analytics 대시보드에서 확인 가능하다.

Object Storage와 연동하여 로그를 저장가능하다. 사용자 정의에 따른 자동 내보내기 설정도 지원한다.



2) 워커 노드 로그 & 상태 모니터링.

Kubernetes Service 콘솔에서 워커 노드 상태 정도 제공한다.

워커 노드의 Kubelet 로그가 서버의 /var/log/syslog에 기록된다.

Cloud Log Analytics를 사용하여 직적 로그 모니터링을 구현할 수 있다.



3) VPC Flow Log 설정.

Flow Log를 활성화하여 네트워크 인터페이스에서 송수신되는 네트워크 트래픽정보를 Object Storage에 수집하고 저장가능하다.

Elasticsearch 클러스터를 통해 로그 데이터를 쉽게 분석하고 모니터링할 수 있는 Search Engine Service도 제공한다.


# 참고자료

네이버 클라우드 쿠버네티스 보안 가이드 https://www.ncloud.com/intro/securityNotice/materials




<9> 쿠버네티스 보안 가이드 라인 실습 - Cloud Infra


실습

https://brunch.co.kr/@topasvga/4950



감사합니다.

keyword
매거진의 이전글1. 네이버 클라우드 - 쿠버네티스 보안 개요