Cyber Security Academy · 강의

컨테이너와 Kubernetes 보안

이미지의 취약점을 검사하고 Pod Security Standards를 구성하며 Kubernetes에서 네트워크 정책을 사용합니다.

레슨 4/413개 단계

컨테이너와 Kubernetes 보안은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

컨테이너 보안 개요

컨테이너는 호스트 커널을 공유하므로 가상 머신보다 격리 수준이 낮습니다. 컨테이너 보안에는 이미지 관리(취약한 패키지 배제), 실행 중 보호(비정상 동작 탐지), 네트워크 정책(파드 통신 제한) 및 RBAC 구성이 포함됩니다.

Trivy를 사용한 이미지 검사

Trivy는 컨테이너 이미지에서 운영 체제 패키지 CVE, 애플리케이션 종속성 취약점, 구성 오류 및 비밀 값을 검사합니다. 지속적 통합 및 지속적 배포 과정에 통합하여 심각한 취약점이 있는 이미지가 운영 환경에 도달하기 전에 차단하십시오.

trivy image nginx:latest
trivy image --severity CRITICAL,HIGH myapp:v1.2

Dockerfile 모범 사례

최소한의 기본 이미지(alpine, distroless)를 사용하십시오. 루트가 아닌 사용자(USER 1000)로 실행하십시오. COPY . .를 피하고 구체적으로 지정하십시오. 다단계 빌드는 최종 이미지 크기를 줄여 줍니다. 푸시하기 전에 검사하십시오. 레이어에 비밀 값이나 자격 증명을 직접 입력하지 마십시오.

FROM node:18-alpine
RUN addgroup -S app && adduser -S app -G app
USER app
COPY --chown=app:app . .
CMD ["node", "server.js"]

쿠버네티스 RBAC

쿠버네티스 RBAC는 API 서버에 대한 접근을 제어합니다. ClusterRoles 및 역할은 리소스(파드, 비밀 값, 배포)에 대한 권한을 정의합니다. ClusterRoleBindings 및 RoleBindings는 이를 사용자, 그룹 또는 ServiceAccounts에 할당합니다. 자동화를 제외하고는 cluster-admin을 사용하지 마십시오.

파드 보안 표준

PSS는 세 가지 프로필을 정의합니다. 특권(제한 없음), 기본(최소한의 제한) 및 제한(강화됨)입니다. PodSecurity 승인 컨트롤러의 네임스페이스 레이블을 통해 적용하십시오. 제한 프로필은 루트로 실행하는 것을 막고, 권한 상승을 허용하지 않으며, 읽기 전용 파일 시스템을 요구합니다.

네트워크 정책

기본적으로 모든 파드는 다른 모든 파드와 통신할 수 있습니다. Kubernetes NetworkPolicies는 파드 선택기별 수신 및 송신 규칙을 정의합니다. 기본 거부 정책을 구현하고 필요한 통신 경로만 명시적으로 허용하여 피해 범위를 제한하십시오.

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all
spec:
  podSelector: {}
  policyTypes: ["Ingress","Egress"]

쿠버네티스의 비밀 값 관리

쿠버네티스 비밀 값은 기본적으로 암호화되지 않고 base64로 인코딩됩니다. etcd의 저장 데이터 암호화를 활성화하십시오. 쿠버네티스 비밀 값 대신 External Secrets Operator 또는 Vault Agent Injector를 사용하여 HashiCorp Vault나 클라우드 비밀 관리 서비스에서 비밀 값을 가져오십시오.

승인 컨트롤러

승인 컨트롤러는 객체가 생성되기 전에 인터페이스 요청을 가로챕니다. OPA/Gatekeeper는 사용자 지정 정책을 적용합니다(예: 특정 레이블 요구, 특권 컨테이너 차단). Kyverno는 일반적인 쿠버네티스 보안 제약 조건에 대해 더 간단한 YAML 구문으로 정책을 코드로 관리할 수 있게 합니다.

Falco를 사용한 실행 중 보안

Falco는 eBPF를 사용하여 실행 중 비정상 동작을 탐지합니다. 예를 들어 컨테이너에서 셸 생성, 예상치 못한 외부 연결, /etc 아래에 파일 작성, 권한 상승 시도 및 알려진 공격 도구 실행을 탐지합니다. 경보 규칙은 YAML로 사용자 지정할 수 있습니다.

쿠버네티스 감사 로그

인터페이스 서버 감사 기록을 활성화하여 사용자, 작업, 리소스 및 타임스탬프가 포함된 모든 요청을 기록하십시오. SIEM으로 전달하여 ServiceAccount 토큰 열거, 비밀 값 열거, 역할 상승 및 운영 파드에 대한 kubectl exec와 같은 비정상적인 인터페이스 활동을 탐지하십시오.

Cosign을 사용한 공급망 보안

Cosign(Sigstore)으로 컨테이너 이미지에 서명하여 공급망 무결성을 보장하십시오. 정책 제어기(Connaisseur, Kyverno)는 신뢰할 수 있는 레지스트리에서 제공된 서명된 이미지만 클러스터에 승인되도록 강제하여 신뢰할 수 없는 이미지 가져오기를 차단할 수 있습니다.

지식 확인

빈 podSelector와 policyTypes가 수신/송신으로 설정된 쿠버네티스 NetworkPolicy는 어떤 기능을 수행합니까?

요약

컨테이너 및 쿠버네티스 보안을 위해서는 이미지 공급망을 보호하고, RBAC와 파드 보안 표준을 적용하며, 네트워크 정책을 구현하고, 비밀 값을 적절히 관리하며, 예방적 제어를 우회하는 공격을 포착할 수 있도록 실행 중 탐지를 사용해야 합니다.

무료로 시작

AI 튜터와 함께 Cyber Security Academy을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
76
레슨
303

자주 묻는 질문

“컨테이너와 Kubernetes 보안” 강의는 무료인가요?

네 — “컨테이너와 Kubernetes 보안” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“컨테이너와 Kubernetes 보안”에서 뭘 배우나요?

이미지의 취약점을 검사하고 Pod Security Standards를 구성하며 Kubernetes에서 네트워크 정책을 사용합니다. 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“컨테이너와 Kubernetes 보안” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 클라우드 IAM: 역할, 정책과 최소 권한
  2. 일반적인 클라우드 설정 오류
  3. 클라우드 보안 상태 관리(CSPM)
  4. 컨테이너와 Kubernetes 보안
← Cyber Security Academy(으)로 돌아가기