본문 바로가기

* Twodragon/보안 강의 (Course)

클라우드 시큐리티 과정 5기 - 8회차 CI/CD 및 쿠버네티스 보안 이해

안녕하세요, Twodragon입니다. 

이번 포스트에서는 클라우드 보안 과정 5기의 CI/CD 및 쿠버네티스 보안에 관련된 내용을 다루고자 합니다. 이 과정은 게더 타운에서 진행되며, 각 세션은 20분 강의 후 5분 휴식으로 구성되어 있습니다. 이러한 구성은 온라인 강의의 특성 상 눈의 피로를 줄이고, 멘티 분들의 집중력을 최대화하기 위함입니다. 여러분들과 함께 다양한 CI/CD 및 쿠버네티스 보안 관련 주제를 깊이 있게 다루어 보고자 합니다.

8회차 CI/CD 및 쿠버네티스 보안 이해 (ChatGPT)


 

10:00 - 10:20 근황 토크 & 과제 피드백

  • 한 주간의 근황 공유 및 토론
  • 영상 & 과제 피드백: 어려웠던 점, 개선점 공유
  • 보안 이슈 논의

10:25 - 11:00 지속적 통합 및 지속적 제공/배포(CI/CD)

  • Continuous Integration (CI)/Continuous Delivery/Deployment(CD)

11:10 - 11:40 Kubernetes 네트워크 및 보안

  • Kubernetes 네트워크
  • Kubernetes 보안

11:50 - 12:00 필수적인 실습을 통한 이론 정리 


근황 토크 & 과제 피드백

첫 세션에서는 근황 토크와 멘티들 간의 영상 및 과제 토론, 그리고 과제 피드백을 진행합니다. 과제를 통해 학습자들이 경험한 어려움, 개선점 등을 공유하며, 최근 취약점 관련 보안 업데이트 권고 사항을 논의합니다.

최근 취약점 업데이트 및 사이버 보안 주의보를 요약했습니다 :

  • Apple社는 macOS Sonoma의 로컬 권한 상승 취약점(CVE-2024-27822)을 해결하는 보안 업데이트를 발표했으며, 사용자들은 최신 버전인 macOS Sonoma 14.5로 업데이트할 것을 권고합니다.
  • RARLAB社는 WinRAR의 원격 코드 실행 취약점(CVE-2023-38831)을 해결하는 업데이트를 발표했으며, 사용자들은 최신 버전인 WinRAR 6.23 이상으로 업데이트할 것을 권고합니다.

Kubernetes 네트워크

 

[kubernetes] 쿠버네티스 첫 오브젝트 잘 끼우기 #6 - 일프로님의 블로그 - 인프런 | 커뮤니티

[kubernetes] 쿠버네티스 첫 오브젝트 잘 끼우기 #6 - 해당 블로그는 [쿠버네티스 어나더 클래스] 강의에 일부 내용입니다. 많은 관심 부탁 드려요!강의 링크 : https://inf.run/NzKy 오늘 공부할 내용이 쿠

www.inflearn.com

지속적 통합 및 지속적 제공/배포

  • 배포에 관련된 도구와 그 필요성에 대해 설명하며, CI/CD 파이프라인 구성 시 관리 담당, 운영 정책, 제품 선택 등 중요한 요소들을 다룹니다. Jenkins, ArgoCD 등 다양한 도구의 장단점을 비교하고, 도커의 대안으로 Buildah, Kaniko 같은 도구들을 소개합니다. 마지막으로, 배포 전략과 단계별 배포 파이프라인 구축에 대해 설명합니다.
 

[쿠버네티스 어나더클래스] 배포를 시작하기 전에 반드시 알아야 할 것들 #10 - 일프로님의 블로

[쿠버네티스 어나더클래스] 배포를 시작하기 전에 반드시 알아야 할 것들 #10 - Sprint2 추가 강의가 업로드 됐어요! (https://inf.run/NzKy)이번 강의에서는 배포를 하기전에 반드시 알아야 될 것들 이라

www.inflearn.com

Kubernetes 보안

Kubernetes 환경에서 보안은 매우 중요합니다. 다음은 보안 강화를 위한 몇 가지 팁입니다.

*(SK쉴더스) 2024 클라우드 보안 가이드에 대한 내용도 포함

  • 네트워크 보안 (네트워크 정책 설정): 네트워크 정책을 통해 Pod 간의 통신을 제어합니다.
     예시) 특정 네임스페이스 내의 Pod들만 서로 통신할 수 있도록 하거나, 특정 IP 범위에서만 접근할 수 있도록 제한합니다.
  • 접근 제어 (RBAC, Role-Based Access Control): 사용자와 서비스의 권한을 최소화하여 관리합니다.
    예시) 개발자는 애플리케이션 배포 권한만, 운영자는 클러스터 관리 권한만 가지도록 설정합니다.
  • 컨테이너 이미지 보안 (컨테이너 이미지 서명): 신뢰할 수 있는 컨테이너 이미지만 사용하도록 이미지 서명을 검증합니다.
    예시) Notary, Cosign과 같은 도구를 사용하여 컨테이너 이미지 서명을 검증합니다.
  • 런타임 보안  Pod Security Admission (PSA): Pod의 보안 설정을 검토하고 제한하는 메커니즘으로, Pod Security Policies(PSP)를 대체합니다. PSA를 통해 Pod가 생성되기 전에 보안 규칙을 적용합니다.
    예시) Pod가 루트 권한으로 실행되지 않도록 하거나, 특정 네트워크 접근을 제한하는 규칙을 설정합니다.
  • 시크릿 및 구성 관리 (Kubernetes Secrets)시크릿을 사용하여 암호, 토큰, 키와 같은 민감한 데이터를 안전하게 저장하고 관리합니
    예시) 애플리케이션의 데이터베이스 암호를 시크릿으로 저장하여 환경 변수로 불러와 사용합니다.
  • 모니터링 및 감사 : 클러스터의 활동을 모니터링하고 로그를 수집하여 이상 징후를 조기에 탐지합니다. 그리고, 쿠버네티스의 감사 로그를 활성화하여 클러스터에서 발생하는 모든 이벤트를 기록하고 분석합니다.
    예시) Prometheus, Grafana, ELK 스택 등을 사용하여 클러스터 상태와 로그를 모니터링합니다. 그리고, kubectl 커맨드 사용 기록, API 요청 등의 활동을 감사 로그에 기록하여 보안 분석에 활용합니다.
  • 자동화된 보안 도구 (CI/CD 파이프라인 보안 및 보안 툴): CI/CD 파이프라인에서 이미지 스캔을 자동화하여 취약점이 있는 이미지를 배포하지 않도록 합니다. 그리고, 다양한 보안 도구를 사용하여 클러스터와 컨테이너의 보안을 강화합니다.
    예시) Jenkins, GitLab CI, CircleCI 등의 파이프라인에서 Clair, Trivy와 같은 도구를 사용하여 이미지 스캔을 통합합니다. 그리고, Aqua Security, Twistlock, Sysdig Secure 등의 도구를 사용하여 런타임 보안, 이미지 스캔, 네트워크 보안 등을 강화합니다.

종합적으로 CI/CD 및 쿠버네티스 보안을 위해서는 네트워크 정책, 접근 제어, 이미지 서명 검증, 런타임 보안, 시크릿 관리, 모니터링 및 감사, 자동화된 보안 도구 등의 다양한 전략을 통합적으로 적용하는 것이 중요합니다. 이러한 방법들을 통해 쿠버네티스 환경의 보안을 전반적으로 강화할 수 있습니다.

필수적인 실습을 통한 이론 정리 

이번 포스팅에서는 CI/CD 및 Kubernetes에 대해 알아보았습니다. 두 기술을 활용하면 클라우드 환경에서의 애플리케이션 배포와 관리를 자동화할 수 있습니다. 실습을 통해 직접 경험해보시기 바랍니다.