Snyk IaC 시작하기

Snyk 웹 UI에서 Snyk IaC(Infrastructure as Code)를 사용하여 구성 파일의 문제를 찾고, 보고, 수정할 수 있습니다. Snyk CLI에서도 Snyk IaC를 사용할 수 있습니다. 자세한 내용은 코드형 인프라(Infrastructure as Code)용 Snyk CLI를 참조하십시오.

이 페이지에서는 지원되는 환경(Terraform, AWS CloudFormation, Kubernetes (Helm 포함), Azure Resource Manager (ARM))에 대해 구성 파일의 문제를 찾고, 보고, 수정하는 단계를 찾을 수 있습니다. 이 단계는 현재 IaC에만 해당됩니다.

Snyk IaC를 위한 전제 조건

Snyk IaC를 사용하기 전에 다음과 같은 전제 조건이 있는지 확인하십시오.

  • Snyk 계정. 자세한 내용은 시작하기를 참조하십시오.

  • 작업할 기존 Terraform, CloudFormation, Kubernetes 또는 ARM 환경.

  • 다른 Snyk 제품과 동일한 방식으로 Snyk과 통합한 Git 리포지토리. 자세한 내용은 Git 리포지토리(SCM)를 참조하십시오.

IaC 및 지원되는 환경에 대한 자세한 내용은 다음 페이지를 참조하십시오.

circle-info

ARM 구성 파일을 스캔하려면 Snyk CLI를 사용해야 합니다. ARM 구성 파일 스캔을 참조하십시오.

IaC 프로젝트 가져오기

Snyk으로 스캔할 프로젝트를 가져오는 것으로 시작합니다. 이 단계에서는 Snyk이 테스트하고 다시 테스트할 리포지토리를 선택합니다.

  1. Snyk에 로그인하고 대시보드의 탐색에서 Projects를 선택합니다.

  2. Projects 페이지의 Add projects 드롭다운에서 스캔하려는 리포지토리와 프로젝트가 있는 SCM을 선택합니다. 예를 들어 GitHub를 선택합니다.

  3. 개인 및 조직 리포지토리(Personal and Organization repositories) 목록에서 스캔을 위해 가져올 Git 리포지토리와 프로젝트를 선택합니다. 리포지토리 또는 리포지토리 내의 프로젝트를 하나 이상 선택할 수 있습니다.

  4. **선택한 리포지토리 추가(Add selected repositories)**를 클릭하여 선택한 SCM 프로젝트와 리포지토리를 Snyk으로 가져옵니다.

  5. **가져오기 로그 보기(View import Log)**를 선택하여 가져오기 로그에서 결과를 확인합니다. 여러 유형의 구성 파일을 동시에 스캔할 수 있습니다. 가져오기가 완료되고 Projects 페이지에 가져온 Snyk 프로젝트가 표시됩니다.

circle-info

IaC 프로젝트를 가져온 후 Snyk은 기본적으로 일주일에 한 번 프로젝트를 다시 테스트합니다. Projects 페이지의 설정(Settings) 탭에서 반복 테스트를 비활성화할 수 있습니다. **테스트 및 자동 풀 리퀘스트 빈도(Test & Automated Pull Request Frequency)**를 **테스트 안 함(Test never)**으로 설정하십시오.

IaC에서 구성 파일 문제 보기

Projects 페이지에서 가져온 프로젝트의 구성 파일에 대한 결과를 볼 수 있습니다.

  • **대상별 그룹화(Group by targets)**가 선택된 경우 대상(Targets) 목록이 표시됩니다. 이는 가져온 프로젝트가 있는 리포지토리입니다. 대상(Target)을 선택하여 프로젝트 목록을 확장합니다.

  • **그룹화 없음(Group by none)**이 선택된 경우: 모든 프로젝트(Projects) 목록이 표시됩니다.

프로젝트(Projects) 목록에서 열 프로젝트를 선택하여 해당 프로젝트에 대한 자세한 정보를 표시합니다.

Snyk IaC 프로젝트 목록
Snyk 프로젝트 목록

각 프로젝트 세부 정보 페이지에는 프로젝트가 마지막으로 테스트된 시기, 프로젝트를 가져온 사용자 이름, 이슈(Issues) 탭에서 발견된 심각도(Critical, High, Medium, Low)별 문제 수 및 각 스캔된 구성 파일에 대한 문제 카드를 보여주는 스냅샷이 있습니다. 개요(Overview), 기록(History)설정(Settings) 옵션을 선택할 수도 있습니다. **기록(History)**을 선택하여 프로젝트의 이전 스냅샷을 확인하십시오.

Snyk 프로젝트 문제 카드
Snyk 프로젝트 문제 카드

Snyk IaC에 대한 문제 카드 세부 정보

각 문제 카드는 리소스에 대한 정보와 도입된 경로를 보여줍니다.

문제 카드 세부 정보
문제 카드 세부 정보

문제 카드의 정보에는 다음이 포함됩니다.

  • 심각도 수준(예: High의 경우 H) 및 문제 이름(예: Non-encrypted S3 Bucket)

  • 보안 규칙의 ID(예: SNYK-CC-TF-99arrow-up-right). 링크를 클릭하여 Snyk 보안 규칙arrow-up-right에 대한 자세한 정보를 확인하십시오.

  • 취약한 정확한 영역을 보여주는 코드 조각

  • 문제의 정확한 경로

  • 다음과 같은 추가 세부 정보:

    • 문제에 대한 간략한 설명

    • 문제의 영향

    • 문제를 해결하기 위한 수정 조언

전체 코드의 미리 보기를 보려면 Full details를 클릭하십시오.

전체 코드 미리 보기
전체 코드 미리 보기

이 취약점을 무시하려면 Ignore를 클릭하십시오. 자세한 내용은 문제 무시를 참조하십시오.

IaC에서 구성 파일 수정

Snyk IaC에서 생성된 권장 사항에 따라 조치를 취하는 단계는 다음과 같습니다.

  1. 프로젝트 세부 정보 페이지에서 문제를 선택하여 해당 문제에 대한 세부 정보와 Snyk IaC의 특정 권장 사항을 확인합니다.

  2. 권장 사항에 따라 구성 파일을 편집하여 식별된 문제를 수정한 다음 변경 사항을 커밋합니다. Snyk은 변경된 파일을 자동으로 다시 스캔합니다.

  3. 문제 표시에 반영된 변경 사항을 확인합니다.

수정된 IaC 문제의 예
수정된 IaC 문제의 예

IaC 결과 예시

다음은 현재 IaC에 대해 표시된 결과의 예입니다.

Terraform Cloud 및 Helm 예시

Terraform Cloud 및 Helm은 코드 조각을 표시하지 않고 경로 세부 정보만 표시합니다. 전체 코드의 미리 보기를 표시하는 Full details 버튼이 없습니다.

Helm에 대한 세부 정보
Helm에 대한 세부 정보
Terraform Cloud에 대한 세부 정보
Terraform Cloud에 대한 세부 정보

코드 미리 보기를 사용할 수 없음을 보여주는 예시

Snyk이 파일에서 취약한 경로의 정확한 줄을 식별할 수 없는 경우, Snyk은 코드 조각을 표시하지 않고 메시지와 경로 세부 정보만 표시합니다. 가능한 경우 Snyk은 Full details 버튼을 표시하여 전체 코드의 미리 보기를 볼 수 있도록 합니다.

코드 조각이 없는 문제 카드
코드 조각이 없는 문제 카드
전체 코드 표시
전체 코드 표시

Last updated