전체 글

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

Kubernetes Pod IMDS 접근제어

1. 개념 관리형 쿠버네티스의 Node(EC2)에서 IMDS에 접근 가능할 경우 Pod에서도 접근 가능 IMDS에 크레덴셜이 저장되어 있을 가능성이 존재하므로 NetworkPolicies를 활용해 metadata 접근제어 필요 2. NetworkPolicies 설정 (1) 모든 파드의 egress 통신은 허용하되 IMDS 접근은 차단 apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: pol1 namespace: default spec: podSelector: {} policyTypes: - Egress egress: - to: - ipBlock: cidr: 0.0.0.0/0 except: - 169.254.169.254/32 (2)..

Kubernetes

Kubernetes Ingress TLS 적용

1. TLS 인증서 생성 (Ingress는 생성되었다고 가정) openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout cert.key -out cert.crt -subj "/CN=[host_name]/O=[host_name]” 2. TLS Secret 생성 k create secret tls [name] --key cert.key --cert cert.crt 3. Ingress 수정 공식문서를 참고해 spec.tls 추가 4. 접속 테스트 curl -kv https://[host_name]:[node_port]/[path] 5. 참고 https://www.youtube.com/watch?v=d9xfB5qaOfg&ab_channel=KillerShell

Kubernetes

Kubernetes 네트워크 정책(NetworkPolicy) 개념 및 설정2

1. 개념 K8s에서 작동하는 방화벽 개념 네임스페이스 단위로 적용 Ingress / Egress 방향에 대해 정책을 설정할 수 있고 label, IP를 기준으로 세부 설정 가능 CNI(Calico, Weave)에 의해 작동하므로 CNI에서 지원하지 않을 경우 NetworkPolicie 사용 불가 동일한 pod에 여러개의 NP를 적용할 수 있고, 이러한 경우 각 NP의 순서는 영향을 미치지 않으며 모든 NP의 총합이 반영 2. 예시 3. 실습1(DNS를 제외한 모든 Egress 트래픽 기본 차단) apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: deny-out-default spec: podSelector: {} policyTyp..

MR. ZERO
Security & DevOps