반응형
1. 개념
- 컨테이너의 특성상 VM과는 다르게 Host의 커널 영역에 접근 가능
- 이런 리스크를 낮추기 위해 유저 영역과 커널 영역의 중간에 AppArmor, Seccomp와 같이 Security Layer를 만들어 일종의 방화벽 역할을 하는 장치를 구성할 수 있음(다만 컨테이너 런타임이 AppArmor를 지원해야 사용 가능)
- AppArmor는 Profile을 정의를 통해 시스템 콜을 운영자가 원하는대로 허용/거부할 수 있음
- Profile에는 3가지의 Modes(제한 수준)을 설정할 수 있음
- AppArmor는 모든 노드에 설치되어야 하고 AppArmor의 Profile 또한 모든 노드에서 사용 가능해야 함
- AppArmor Profile은 컨테이너 단위로 적용
- 따라서 디플로이먼트에 AppArmor를 적용하고자 할때 파드 레벨에 적용해야함(spec.template.metadata.annotations)
2. AppArmor 사용 팁
- 기본 프로파일 경로 : /etc/apparmor.d/
- 실행 여부 확인 : cat /sys/module/apparmor/parameters/enabled
- 프로파일 확인 : cat /sys/kernel/security/apparmor/profiles
- apparmor 유틸 설치 : apt install apparmor-utils
- 프로파일 상태 확인 : aa-status
- 프로파일 생성 : aa-genprof [target_path]
- 프로파일 적용 : apparmor_parser -q /etc/apparmor.d/[prof_name]
- 프로파일 해제 : apparmor_parser -R /etc/apparmor.d/[prof_name]
3. AppArmor 적용 방법
- Profile 생성 후 pod의 anontations에 Profile을 지정(Profile이 /etc/apparmor.d/ 경로에 있을경우 localhost이고 다른곳에 위치하는 경우는 그에 맞춰 수정)
- container.apparmor.security.beta.kubernetes.io/<container_name>: <profile_ref>
4. 참고
반응형
'Kubernetes' 카테고리의 다른 글
Kubernetes 공격 표면 최소화(Reduce Attack Surface) (0) | 2024.03.16 |
---|---|
Kubernetes Security - Seccomp (0) | 2024.03.16 |
Kubernetes Audit Logs 설정 (0) | 2024.03.15 |
Kubernetes 컨테이너 불변성(Immutability of Containers) 개념 (0) | 2024.03.14 |
Kubernetes Falco 개념 및 설치 (0) | 2024.03.14 |