다음을 통해 공유


42Crunch 기술 온보딩 가이드

42Crunch는 분산된 개발 및 보안 팀 전반에 걸쳐 API 보안 규정 준수 적용을 자동화하는 API 보안에 대한 표준화된 방식을 지원합니다. 42Crunch API 보안 플랫폼은 개발자가 IDE(통합 개발 환경)에서 CI/CD 파이프라인으로 보안을 빌드할 수 있도록 지원합니다. API 보안에 대한 이러한 원활한 DevSecOps 방식은 거버넌스 비용을 줄이고 보안 API 제공을 가속화합니다.

보안 테스트 방식

웹 및 모바일 애플리케이션을 검사하는 데 사용되는 기존 DAST 도구와 달리 42Crunch는 특정 디자인을 기반으로 각 API를 대상으로 정밀하게 작성되고 대상 지정되는 일련의 테스트를 실행합니다. 42Crunch 검사 엔진은 OpenAPI 정의(즉, Swagger) 파일을 기본 출처로 사용하여 API가 의도한 디자인과 얼마나 일치하는지 유효성을 검사하는 테스트 배터리를 실행합니다. 이 적합성 검사는 OWASP 상위 10개 취약성, 부적절한 응답 코드, 스키마 위반 등 다양한 보안 문제를 식별합니다. 이러한 문제는 가능한 익스플로잇 시나리오 및 수정 지침을 포함하여 풍부한 컨텍스트와 함께 보고됩니다.

검사는 CI/CD 파이프라인의 일부로 자동으로 실행되거나 IDE 또는 42Crunch 클라우드 플랫폼을 통해 수동으로 실행될 수 있습니다.

API 사양의 품질이 검사 범위와 효율성을 크게 결정하므로 OpenAPI 사양이 잘 정의되어 있는지 확인해야 합니다. 42Crunch 감사는 개발자가 사양의 보안과 품질을 개선할 수 있도록 돕기 위해 OpenAPI 사양 파일의 정적 분석을 수행합니다. 감사에서는 각 사양 파일에 대해 0~100의 종합 보안 점수를 결정합니다. 개발자가 감사를 통해 식별된 보안 및 의미 체계 문제를 수정하면 점수가 개선됩니다. 42Crunch는 적합성 검사를 실행하기 전에 최소 70점의 감사 점수를 권장합니다.

사용 여부

참고 항목

다음 단계는 42Crunch의 무료 버전을 설정하는 과정을 안내합니다. 42Crunch 무료 버전과 유료 버전의 차이점 및 Azure Marketplace에서 42Crunch를 구입하는 방법에 대해 알아보려면 FAQ 섹션을 참조하세요.

42Crunch 감사검사 서비스를 통해 개발자는 주요 OWASP API 위험 및 Open API 사양 모범 사례에 대한 API의 정적 및 동적 테스트를 통해 CI/CD 파이프라인 내에서 API를 사전에 테스트하고 강화할 수 있습니다. 이제 42Crunch의 보안 검사 결과를 클라우드용 Defender 내에서 사용할 수 있으므로 중앙 보안 팀은 클라우드용 Defender 권장 사항 환경 내에서 API 상태에 대한 표시 여부를 확보하고 클라우드용 Defender 권장 사항을 통해 기본적으로 사용할 수 있는 거버넌스 단계를 수행할 수 있습니다.

DevOps 환경을 클라우드용 Microsoft Defender에 연결합니다.

이 기능을 사용하려면 DevOps 환경을 클라우드용 Defender에 연결해야 합니다.

GitHub 조직을 온보딩하는 방법을 참조하세요.

Azure DevOps 조직을 온보딩하는 방법을 참조하세요.

42Crunch 감사 서비스 구성

REST API 정적 보안 테스트 작업은 OpenAPI 사양(OAS, 이전에는 Swagger라고 함)을 따르는 REST API 계약을 찾아 철저한 보안 검사를 실행합니다. OAS v2와 v3 모두 JSON 및 YAML 형식으로 지원됩니다.

이 작업은 42Crunch API 보안 감사에 의해 구동됩니다. 보안 감사는 API가 인증, 권한 부여, 전송 및 요청/응답 스키마를 정의하는 방법에 대한 모범 사례와 잠재적인 취약성에 대한 300개 이상의 검사를 포함하는 API 정의의 정적 분석을 수행합니다.

GitHub 환경의 경우

다음 단계를 완료하여 CI/CD 파이프라인 내에 42Crunch API 보안 감사 플러그 인을 설치합니다.

  1. GitHub에 로그인합니다.

  2. GitHub 작업을 구성하려는 리포지토리를 선택합니다.

  3. 작업을 선택합니다.

  4. 새 워크플로를 선택합니다.

    새 워크플로 선택을 보여 주는 스크린샷.

새로운 기본 워크플로를 만들려면 다음을 수행합니다.

  1. 직접 워크플로 설정을 선택합니다.

  2. 워크플로 이름을 main.yaml에서 42crunch-audit.yml로 바꿉니다.

  3. https://github.com/marketplace/actions/42crunch-rest-api-static-security-testing-freemium#full-workflow-example(으)로 이동합니다.

  4. 전체 샘플 워크플로를 복사하여 워크플로 편집기에 붙여넣습니다.

    참고 항목

    이 워크플로에서는 보안 검사 결과가 클라우드용 Defender에 표시되는 데 필요한 GitHub 코드 검사가 사용하도록 설정되어 있다고 가정합니다. 코드 검사로 업로드 옵션이 true로 설정되어 있는지 확인합니다.

    GitHub 워크플로 편집기를 보여 주는 스크린샷.

  5. 변경 내용 커밋을 선택합니다. 기본 분기에 직접 커밋하거나 끌어오기 요청을 만들 수 있습니다. PR이 기본 분기에 대해 열릴 때 기본 워크플로가 시작되므로 PR을 만들어 GitHub 모범 사례를 따르는 것이 좋습니다.

  6. 작업을 선택하고 새 작업이 실행 중인지 확인합니다.

    실행 중인 새 작업을 보여 주는 스크린샷.

  7. 워크플로가 완료된 후 보안을 선택한 다음 코드 검사를 선택하여 결과를 확인합니다.

  8. 42Crunch REST API 정적 보안 테스트에서 검색된 코드 검사 경고를 선택합니다. 코드 검사 탭에서 도구별로 필터링할 수도 있습니다. 42Crunch REST API 정적 보안 테스트를 필터링합니다.

    코드 검사 경고를 보여 주는 스크린샷.

이제 GitHub 코드 검사에 감사 결과가 표시되는지 확인했습니다. 다음으로 이러한 감사 결과가 클라우드용 Defender 내에서 사용 가능한지 확인합니다. 클라우드용 Defender에 결과가 표시되는 데 최대 30분이 걸릴 수 있습니다.

클라우드용 Defender로 이동:

  1. 권장을 선택합니다.
  2. 모든 권장 사항을 선택합니다.
  3. API 보안 테스트를 검색하여 필터링합니다.
  4. GitHub 리포지토리에서 API 보안 테스트 결과를 해결해야 함 권장 사항을 선택합니다.

선택한 권장 사항에는 42Crunch 감사 결과가 모두 표시됩니다. 42Crunch 감사 단계에 대한 온보딩을 완료했습니다.

API 요약을 보여 주는 스크린샷.

Azure DevOps 환경의 경우

  1. 조직에 42Crunch Azure DevOps 확장을 설치합니다.

  2. Azure DevOps 프로젝트에 새 파이프라인을 만듭니다. 첫 번째 파이프라인 만들기에 대한 자습서는 첫 번째 파이프라인 만들기을 참조하세요.

  3. 다음 워크플로를 복사하여 만들어진 파이프라인을 편집합니다.

    trigger:
    branches:
       include:
          - main
    
    jobs:
    - job: run_42crunch_audit
       displayName: 'Run Audit'
       pool:
          vmImage: 'ubuntu-latest'
       steps:
          - task: UsePythonVersion@0
          inputs:
             versionSpec: '3.11'
             addToPath: true
             architecture:  x64
          - task: APISecurityAuditFreemium@1
          inputs:
             enforceSQG: false
             sarifReport: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif'
             exportAsPDF: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.pdf'
          - task: PublishBuildArtifacts@1
          displayName: publishAuditSarif
          inputs:
             PathtoPublish: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif '
             ArtifactName: 'CodeAnalysisLogs'
             publishLocation: 'Container'
    
  4. 파이프라인을 실행합니다.

  5. 결과가 Azure DevOps에 올바르게 게시되고 있는지 검증하려면 42Crunch-AuditReport.sarifCodeAnalyticLogs 폴더 아래의 빌드 Artifacts에 업로드되고 있는지 유효성을 검사합니다.

  6. 온보딩 프로세스를 완료했습니다. 다음으로 결과가 클라우드용 Defender에 표시되는지 확인합니다.

클라우드용 Defender로 이동:

  1. 권장을 선택합니다.
  2. 모든 권장 사항을 선택합니다.
  3. API 보안 테스트를 검색하여 필터링합니다.
  4. AzureDevOps 리포지토리에서 API 보안 테스트 결과를 해결해야 합니다 권장 사항을 선택합니다.

선택한 권장 사항에는 42Crunch 감사 결과가 모두 표시됩니다. 42Crunch 감사 단계에 대한 온보딩을 완료했습니다.

Azure DevOps 권장 사항을 보여 주는 스크린샷.

42Crunch 검사 서비스 구성

API 검사는 API를 지속적으로 검사하여 OpenAPI 계약 준수를 확인하고 테스트 시 취약성을 검색합니다. API 수명 주기 초기에 OWASP API 보안 상위 10가지 문제를 검색하고 API가 예기치 못한 요청을 처리할 수 있는지 유효성을 검사합니다.

검사에는 비프로덕션 라이브 API 엔드포인트와 필수 자격 증명(API 키/액세스 토큰)이 필요합니다. 42Crunch 검사를 구성하려면 다음 단계를 따릅니다.

ADO 관련 작업에 대한 자습서의 azure-pipelines-scan.yaml을 참조하세요.

FAQ

42Crunch는 개발자가 API 보안 문제를 식별하고 수정하는 데 어떻게 도움이 되나요?

42Crunch 보안 감사 및 적합성 검사는 개발 수명 주기 초기에 API에 존재하는 잠재적인 취약성을 식별합니다. 검사 결과에는 취약성 및 관련 익스플로잇에 대한 설명과 자세한 수정 지침을 포함한 풍부한 컨텍스트가 포함됩니다. 검사는 CI/CD 플랫폼에서 자동으로 실행되거나 개발자가 42Crunch IDE 확장 중 하나를 통해 IDE 내에서 점진적으로 실행할 수 있습니다.

42Crunch를 사용하여 개발자를 위한 최소 품질 및 보안 표준을 준수하도록 할 수 있나요?

예. 42Crunch에는 SQG(보안 품질 게이트)를 사용하여 준수를 적용하는 기능이 포함되어 있습니다. SQG는 감사 또는 검사를 성공적으로 통과하기 위해 충족해야 하는 특정 기준으로 구성됩니다. 예를 들어, SQG는 하나 이상의 심각한 심각도 문제가 있는 감사 또는 검사가 통과되지 않도록 보장할 수 있습니다. CI/CD에서 42Crunch 감사 또는 검사는 SQG를 통과하지 못할 경우 빌드가 실패하도록 구성할 수 있으므로 개발자는 코드를 푸시하기 전에 기본 문제를 해결해야 합니다.

42Crunch의 무료 버전은 감사 및 검사 모두에 기본 SQG를 사용하는 반면, 유료 엔터프라이즈 버전에서는 SQG 및 태그를 사용자 지정할 수 있으므로 SQG를 API 그룹화에 선택적으로 적용할 수 있습니다.

42Crunch의 SaaS 서비스에는 어떤 데이터가 저장되나요?

42Crunch 보안 감사 및 적합성 검사의 제한된 평가판 버전은 42Crunch SaaS 연결 없이 로컬로 보고서를 생성하는 CI/CD에 배포될 수 있습니다. 이 버전에서는 42Crunch 플랫폼과 공유되는 데이터가 없습니다.

42Crunch 플랫폼의 전체 엔터프라이즈 버전의 경우 다음 데이터가 SaaS 플랫폼에 저장됩니다.

  • 42Crunch 플랫폼 사용자의 이름, 성, 이메일 주소.
  • OpenAPI/Swagger 파일(고객 API 설명)
  • 42Crunch에서 수행하는 보안 감사 및 적합성 검사 작업 중에 생성되는 보고서입니다.

42Crunch의 라이선스는 어떻게 되나요?

42Crunch는 플랫폼에 프로비전된 API 수와 개발자 수의 조합을 기반으로 라이선스가 부여됩니다. 가격 책정 번들의 예는 이 마켓플레이스 목록을 참조하세요. 사용자 지정 가격 책정은 Azure 상업용 Marketplace의 프라이빗 제품을 통해 제공됩니다. 사용자 지정 견적을 받으려면 mailto:sales@42crunch.com에 문의하세요.

42Crunch의 무료 버전과 유료 버전의 차이점은 무엇인가요?

42Crunch는 보안 감사 및 적합성 검사의 무료 제한 버전과 유료 엔터프라이즈 버전을 모두 제공합니다.

42Crunch 무료 버전의 경우 42Crunch CI/CD 플러그 인은 42Crunch 플랫폼에 로그인할 필요 없이 독립형으로 작동합니다. 그런 다음 감사 및 검사 결과는 CI/CD 플랫폼 내뿐만 아니라 클라우드용 Microsoft Defender에서도 사용할 수 있습니다. 감사 및 검사는 리포지토리당 최대 3개의 리포지토리를 사용하여 매월 최대 25회 실행으로 제한됩니다.

42Crunch 유료 엔터프라이즈 버전의 경우 감사 및 검사는 여전히 CI/CD에서 로컬로 실행되지만 42Crunch 플랫폼 서비스와 동기화할 수 있습니다. 여기서 사용자 지정 가능한 보안 품질 게이트, 데이터 사전 및 태그 지정을 포함한 여러 유용한 기능을 사용할 수 있습니다. 엔터프라이즈 버전에는 특정 수의 API에 대한 라이선스가 부여되어 있지만 월 단위로 실행할 수 있는 감사 및 검사 수에는 제한이 없습니다.

42Crunch는 Azure 상업용 Marketplace에서 사용할 수 있나요?

예, 42Crunch는 여기 Microsoft 상업용 Marketplace에서 구매할 수 있습니다.

Azure 상업용 Marketplace를 통해 구매한 42Crunch는 MACC(최소 Azure Consumption 약정)에 포함됩니다.

다음 단계

API용 Microsoft Defender 개요