인프라 & 클라우드 · 중급
CI/CD 파이프라인 구축 시 고려해야 할 보안 취약점과 이를 방지하기 위한 주요 보안 실천 방안에는 어떤 것들이 있는지 설명해주세요.
힌트 · 소스 코드 보안, 의존성 스캔, 시크릿 관리, 접근 제어, 이미지 스캔 등 다양한 보안 요소를 언급합니다.
SAST/DASTSecret 관리Artifact 무결성RBAC환경 분리
모범답안
CI/CD 파이프라인 구축 시 보안 취약점을 고려할 때 가장 중요한 것은 파이프라인 전체에 걸쳐 보안을 내재화하는 것입니다.
먼저, 소스 코드 자체의 취약점을 방지하기 위해 SAST(정적 분석) 도구를 활용하여 코드를 분석하고, DAST(동적 분석) 도구를 통해 런타임 환경에서 취약점을 검사합니다. 또한, 사용하는 외부 라이브러리나 의존성에 알려진 취약점이 있는지 주기적으로 스캔해야 합니다.
두 번째로, API 키, 비밀번호와 같은 민감한 정보(Secret)를 코드나 설정 파일에 직접 저장하지 않고, Vault와 같은 Secret 관리 도구를 사용하여 안전하게 관리해야 합니다.
세 번째로, 빌드된 Artifact의 무결성을 보장해야 합니다. 빌드 과정에서 변조되지 않았는지 검증하고, 서명 등을 통해 신뢰성을 확보해야 합니다.
마지막으로, 파이프라인 접근 제어를 철저히 해야 합니다. RBAC(역할 기반 접근 제어)를 통해 필요한 사람에게만 필요한 권한을 부여하고, 개발, 테스트, 운영 환경을 분리하여 보안 사고 발생 시 영향을 최소화해야 합니다. 이미지 스캔 도구를 활용하여 컨테이너 이미지 내의 취약점을 점검하는 것도 중요합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 CI/CD 파이프라인 면접 질문
- 무중단 서비스를 위한 대표적인 배포 전략인 롤링 배포(Rolling Deployment), 블루/그린 배포(Blue/Green Deployment), 카나리 배포(Canary Deployment)의 차이점과 각각의 장단점을 설명하고, 어떤 상황에서 어떤 전략이 적합한지 비교하여 설명해주세요.
- Docker와 Kubernetes 같은 컨테이너 기술이 CI/CD 파이프라인과 어떻게 연동되어 애플리케이션의 빌드, 테스트, 배포 과정을 효율화할 수 있는지 설명해주세요.
- Infrastructure as Code(IaC)가 CI/CD 파이프라인에서 어떤 역할을 수행하며, IaC를 CI/CD에 통합했을 때 얻을 수 있는 이점은 무엇인지 설명해주세요.
- 프로덕션 환경에서 무중단 배포 및 위험 최소화를 위해 Blue/Green 또는 Canary 배포 전략을 CI/CD 파이프라인에 통합할 때 고려해야 할 설계 원칙과 기술적 과제는 무엇이며, 이를 어떻게 해결할 수 있습니까?
- CI/CD 파이프라인에 DevSecOps 원칙을 적용하여 보안을 강화하고자 할 때, 빌드, 테스트, 배포 단계별로 어떤 유형의 보안 검사를 통합할 수 있으며, 이 과정에서 발생할 수 있는 파이프라인 성능 저하 문제와 오탐(false positive) 문제를 어떻게 관리할 수 있을까요?
- 대규모 서비스 환경에서 Pipeline as Code를 구현할 때, 파이프라인 정의의 재사용성, 유지보수성, 확장성을 높이기 위한 전략은 무엇이며, Monorepo 또는 Polyrepo 구조 각각에서 발생하는 CI/CD 파이프라인 설계 및 관리의 복잡성을 어떻게 효율적으로 다룰 수 있습니까?