전체 글

DevOps Security Specialist를 목표하는 Security Compliance Engineer의 블로그
Kubernetes

Kubernetes 공격 표면 최소화(Reduce Attack Surface)

1. 개념 K8s Node와 Host OS의 Security Hardening을 통해 공격 표면을 최소화할 수 있음 Host OS에 대한 Hardening은 CIS Benchmark 또는 주요정보통신 기반시설 취약점 점검 가이드를 참고해 CCE 점검 및 조치 2. 불필요 프로세스 / 서비스 / 패키지 삭제 프로세스 삭제 netstat -plnt | grep [port_num] 또는 lsof -i :[port_num] ls -l /proc/[process_num]/exe kill [process_num] rm [process_dir] 서비스 삭제 systemctl list-units -t service --state active | grep -i [svc_name] systemctl stop [servic..

Kubernetes

Kubernetes Security - Seccomp

1. 개념 Seccomp는 secure computing mode 의 줄임말 리눅스 커널의 보안기능 중 하나로 syscall 실행을 허용/거부/로깅 할 수 있음 K8s "전용" 보안 기능은 아니고 ASLR과 같이 리눅스에 구현된 보안 기능임 AppArmor와 비슷한 기능으로 느껴져서 chatGPT한테 차이점을 질의한 결과 아래와 같은 컨셉으로 느껴졌음 AppArmor : 특정 프로세스의 시스템 리소스 접근에 대한 허용/거부 Seccomp : 모든 프로세스의 syscall 호출에 대한 허용/거부 2. Seccomp 사용 팁 seccomp 정책 SCMP_ACT_ALLOW : 허용 SCMP_ACT_ERRNO : 거부 SCMP_ACT_LOG : 로깅 seccomp 기본 경로 /var/lib/kubelet/sec..

Kubernetes

Kubernetes Security - AppArmor

1. 개념 컨테이너의 특성상 VM과는 다르게 Host의 커널 영역에 접근 가능 이런 리스크를 낮추기 위해 유저 영역과 커널 영역의 중간에 AppArmor, Seccomp와 같이 Security Layer를 만들어 일종의 방화벽 역할을 하는 장치를 구성할 수 있음(다만 컨테이너 런타임이 AppArmor를 지원해야 사용 가능) AppArmor는 Profile을 정의를 통해 시스템 콜을 운영자가 원하는대로 허용/거부할 수 있음 Profile에는 3가지의 Modes(제한 수준)을 설정할 수 있음 AppArmor는 모든 노드에 설치되어야 하고 AppArmor의 Profile 또한 모든 노드에서 사용 가능해야 함 AppArmor Profile은 컨테이너 단위로 적용 따라서 디플로이먼트에 AppArmor를 적용하고자..

MR. ZERO
Security & DevOps