피드로 돌아가기
Applying a SAST Tool to Infrastructure as Code: Scanning a Terraform Stack with Checkov
Dev.toDev.to
Infrastructure

Checkov 도입을 통한 IaC 취약점 36건 식별 및 83% 제거

Applying a SAST Tool to Infrastructure as Code: Scanning a Terraform Stack with Checkov

DIEGO FABRIZIO ANDIA NAVARRO2026년 6월 30일6intermediate

Context

Terraform 기반 인프라 정의가 애플리케이션 코드와 동일한 런타임 위험을 내포함에도 terraform validate 수준의 구문 검사만으로는 설정 오류를 감지하지 못하는 한계 발생. 리소스 구성의 보안 결함이 프로덕션 환경으로 직접 배포되어 심각한 보안 노출 가능성이 존재함.

Technical Solution

  • IaC 전용 SAST 도구인 Checkov를 도입하여 의도된 인프라 상태(Intended State)를 분석하는 검증 레이어 구축
  • S3 Public Access Block, RDS Encryption, IAM Least Privilege 원칙을 적용한 설정 리팩토링 수행
  • 하드코딩된 비밀번호를 제거하고 AWS Secrets Manager 기반의 관리형 암호 체계로 전환
  • CIDR Block 범위를 특정 VPN 및 서브넷으로 제한하여 네트워크 공격 표면 최소화
  • GitHub Actions Workflow에 --soft-fail-on LOW 옵션을 적용하여 위험도 기반의 CI 파이프라인 필터링 구현
  • 단순 툴링 적용을 넘어 비즈니스 결정(Replication, Lifecycle)과 실제 취약점을 구분하는 엔지니어링 판단 프로세스 정립

1. `terraform validate`로 확인 안 되는 리소스 설정 위험을 감지하기 위해 Checkov/Terrascan 도입 검토

2. CI 파이프라인에 IaC 스캔을 통합하여 `terraform apply` 전 보안 게이트 구축

3. 모든 경고를 수정하기보다 비즈니스 요구사항(비용, DR 전략)에 따른 허용 리스트(Allow-list) 관리

4. IAM Policy의 `Action: *` 및 `Resource: *` 사용을 엄격히 금지하고 최소 권한 원칙 적용

원문 읽기