terraform-iac-scanning-tools-비교

소개

많은 곳에서 클라우드인프라 관리를 IaC(Infra as Code) 통하여 관리하고 있습니다. IaC 는 인프라를 코드화 하여 관리한다는 의미인데요. 이를 통해 코드화 하면서 가질수 있는 이점들을 모두 가질 수 있게 되었습니다.

IaC 를 위한 툴들은 몇가지가 있습니다. Pulumi, AWS 의 cloudformation, Google cloud deployment manager 등이 있을텐데요. 각각의 클라우드 플랫폼에 특화된 툴들도 있고 크로스 클라우드 플랫폼을 지원하는 툴도 있습니다만 가장 대중적으로 많이 사용되는 IaC 툴은 테라폼입니다.

그래서 이번에는 Infrastructure 를 IaC 화 하면서 가질수 있는 이점들을 한번 살펴보고, 특히 보안적으로 가지고 올 수 있는 이점을 살펴보고자 합니다.

그리고 인프라의 IaC 화로 인해 보안적으로 가지고 갈 수 있는 이점인 IaC Scanning 을 위한 Open Source 툴들에 대한 비교 리뷰를 간단히 해보고자 합니다.

IaC 이점

  • IaC 를 통해 코드로 인프라를 관리하면서 일관적인 인프라 구성이 가능해집니다.
  • 코드로 관리하게 되면서 재사용이 용이해 집니다.
  • 코드로 관리하면서 자연스럽게 형상관리 시스템과 사용하게 되고, 이로 인해 책임 추적성이 크게 개선 됩니다.

IaC 보안적 이점

  • 코드 기반으로 인프라를 구성하게 되면서 정적 코드 분석(IaC Scanning)을 통한 보안 점검이 가능해집니다.
  • 인프라가 프로비저닝 되기전에 인프라의 보안적 misconfiguration 을 선별할 수 있으며, 정책적으로 강제화도 가능해 집니다.
  • 인프라적 Compliance as code 도 가능해집니다.

Terraform Open Source IaC Scanning 툴 비교

Terraform 의 보안적인 Scanning 도구로 많은 툴들이 존재합니다. 각 툴들은 Free plan 모든 기능을 사용할 수 있는 툴들도 있고, plan 을 올려 적절한 비용을 지불해야지 advanced 기능을 사용할 수 있는 툴들도 있습니다.

각각의 툴들은 스캐닝을 하기위한 기준으로 어떤 benchmark 를 기준으로 사용하는지에 대해 차이가 있으며, 결과를 리포팅할때 분석가가 진정으로 필요로 하는 필드들을 포함해주는지도 각각의 차이가 있습니다.

개인적으로는 리포팅에서 Severity 가 꼭 필요하였고, 테라폼 스캐닝 과정에서 planfile 스캔을 꼭 지원해줘야지만 쓸모가 있을 것이라고 생각을 하여, 각각의 툴들에 대한 비교표를 한번 만들어 보았습니다.

terraform planfile 스캔 지원해야하는 것이 왜 중요한지에 대해 궁금하실 수도 있을듯한데요.
terraform 을 이용하여 IaC 를 하다보면 사이즈가 커지면서 module 화를 많이 하게 되는데요. planfile 스캔을 지원하지 않게 되면 기본적으로 module 을 import 하지 않은… 순수한 tf 코드들 기준으로 스캐닝을 하게 됩니다.

그러나 planfile 스캔을 지원하게 되면 module 을 모두 import 하고 최종적으로 만들어질 infra 의 statefile 기준을 스캐닝을 하게 되기 때문에 보다 더 정확한 스캐닝을 할 수 있게 되는 것이지요.

ToolPolicy listsSeverity 지원Plan file 스캔CI 연동
checkov약 1500추가 비용 발생OO
tfsec약 100OXO
terrascan약 100Oterraform v0.1, v0.2 버전만 지원O
terraform-complianceOXOO
regula약 113OOO

개인적으로 사용중인 Tool

저는 개인적으로 Free Plan 으로 planfile 스캐닝을 지원하면서 severity 도 지원하는 Regula 를 사용하고 있습니다. 리포팅으로 json 으로도 출력을 해주어 CI 연동 후 스캔 결과 로그수집에도 유용한 편인데요.

어느 툴을 쓰던 IaC 를 적극적으로 사용하고 있는 환경이라면 IaC Scanning 도구를 이용하여 보안적으로 취약한 인프라를 배포하는 것을 사전에 예방할 수 있도록 파이프라인을 구성하고 모니터링 할 수 있는 환경을 만들어 놓는다면, 보다 안전 인프라 구성을 할 수 있지 않을까 합니다.

Refs

Series Navigation테라폼 Terraform secrets 보안적 관리 방법 >>

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Back To Top