Microsoft Security DevOps는 정적 분석 도구를 개발 수명 주기에 통합하는 명령줄 애플리케이션입니다. Microsoft Security DevOps는 최신 버전의 정적 분석 도구(SDL/보안 및 규정 준수 도구 포함)를 설치, 구성 및 실행합니다. Microsoft Security DevOps는 여러 환경에서 결정적 실행을 가능하게 하는 이식 가능한 구성으로 데이터 기반입니다.
Microsoft Security DevOps는 다음 오픈 소스 도구를 사용합니다.
이름 | 언어 | 라이선스 |
---|---|---|
AntiMalware | 맬웨어를 검사하고 맬웨어가 검색되면 빌드를 중단시키는 Windows의 엔드포인트용 Microsoft Defender의 Windows 맬웨어 방지 보호입니다. 이 도구는 기본적으로 Windows 최신 에이전트를 검사합니다. | 오픈 소스 아님 |
Bandit | Python | Apache License 2.0 |
BinSkim | Binary--Windows, ELF | MIT 라이선스 |
Checkov | Terraform, Terraform 계획, CloudFormation, AWS SAM, Kubernetes, Helm 차트, Kustomize, Dockerfile, 서버리스, Bicep, OpenAPI, ARM | Apache License 2.0 |
ESlint | JavaScript | MIT 라이선스 |
IaCFileScanner | Terraform용 템플릿 매핑 도구, CloudFormation, ARM 템플릿, Bicep | 오픈 소스 아님 |
템플릿 분석기 | ARM 템플릿, Bicep | MIT 라이선스 |
Terrascan | Terraform(HCL2), Kubernetes(JSON/YAML), Helm v3, Kustomize, Dockerfiles, Cloud Formation | Apache License 2.0 |
Trivy | 컨테이너 이미지, IaC(Infrastructure as Code) | Apache License 2.0 |
참고 항목
2023년 9월 20일부터 Azure DevOps용 MSDO(Microsoft 보안 DevOps) 확장 내의 비밀 검사(CredScan) 도구가 더 이상 사용되지 않습니다. MSDO 비밀 검사는 Azure DevOps용 GitHub 고급 보안으로 바뀝니다.
필수 조건
- 확장을 설치하려면 Azure DevOps 조직에 대한 프로젝트 컬렉션 관리자 권한이 필요합니다.
확장을 설치할 수 있는 액세스 권한이 없는 경우 설치 프로세스 중에 Azure DevOps 조직의 관리자로부터 액세스를 요청해야 합니다.
Microsoft Security DevOps Azure DevOps 확장 구성
Microsoft Security DevOps Azure DevOps 확장을 구성하려면 다음을 수행합니다.
Azure DevOps에 로그인합니다.
쇼핑백>확장 관리로 이동합니다.
공유됨을 선택합니다.
참고 항목
Microsoft Security DevOps 확장을 이미 설치한 경우 설치됨 탭에 나열됩니다.
Microsoft 보안 DevOps를 선택합니다.
설치를 선택합니다.
드롭다운 메뉴에서 적합한 조직을 선택합니다.
설치를 선택합니다.
조직으로 이동을 선택합니다.
YAML을 사용하여 파이프라인 구성
YAML을 사용하여 파이프라인을 구성하려면 다음을 수행합니다.
Azure DevOps에 로그인합니다.
프로젝트를 선택합니다.
파이프라인으로 이동합니다.
새 파이프라인을 선택합니다.
Azure Repos Git를 선택합니다.
관련 리포지토리를 선택합니다.
시작 파이프라인을 선택합니다.
다음 YAML을 파이프라인에 붙여넣습니다.
# Starter pipeline # Start with a minimal pipeline that you can customize to build and deploy your code. # Add steps that build, run tests, deploy, and more: # https://aka.ms/yaml trigger: none pool: # ubuntu-latest also supported. vmImage: 'windows-latest' steps: - task: MicrosoftSecurityDevOps@1 displayName: 'Microsoft Security DevOps' # inputs: # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig'). Vist the MSDO GitHub wiki linked below for additional configuration instructions # policy: 'azuredevops' | 'microsoft' | 'none'. Optional. The name of a well-known Microsoft policy to determine the tools/checks to run. If no configuration file or list of tools is provided, the policy may instruct MSDO which tools to run. Default: azuredevops. # categories: string. Optional. A comma-separated list of analyzer categories to run. Values: 'code', 'artifacts', 'IaC', 'containers'. Example: 'IaC, containers'. Defaults to all. # languages: string. Optional. A comma-separated list of languages to analyze. Example: 'javascript,typescript'. Defaults to all. # tools: string. Optional. A comma-separated list of analyzer tools to run. Values: 'bandit', 'binskim', 'checkov', 'eslint', 'templateanalyzer', 'terrascan', 'trivy'. Example 'templateanalyzer, trivy' # break: boolean. Optional. If true, will fail this build step if any high severity level results are found. Default: false. # publish: boolean. Optional. If true, will publish the output SARIF results file to the chosen pipeline artifact. Default: true. # artifactName: string. Optional. The name of the pipeline artifact to publish the SARIF result file to. Default: CodeAnalysisLogs*.
참고 항목
클라우드용 Defender와 통합하려면 아티팩트 이름 'CodeAnalyticLogs'가 필요합니다. 추가 도구 구성 옵션 및 환경 변수는 Microsoft 보안 DevOps wiki를 참조하세요.
파이프라인을 커밋하려면 저장 및 실행을 선택합니다.
파이프라인은 몇 분 동안 실행되고 결과를 저장합니다.
참고 항목
생성된 분석 결과가 검사 탭 아래에 자동으로 표시되도록 하려면 Azure DevOps 조직에 SARIF SAST 검사 탭 확장을 설치합니다.
타사 보안 도구의 결과를 클라우드용 Defender에 업로드
클라우드용 Defender는 오픈 소스 보안 분석기 세트에서 표준화된 기능 및 정책 제어를 위한 MSDO CLI를 제공하지만, 포괄적인 코드-클라우드 컨텍스트화를 위해 CI/CD 파이프라인에서 구성한 다른 타사 보안 도구의 결과를 클라우드용 Defender에 유연하게 업로드할 수 있습니다. 클라우드용 Defender에 업로드된 모든 결과는 표준 SARIF 형식이어야 합니다.
먼저 Azure DevOps 리포지토리가 클라우드용 Defender에 온보딩되었는지 확인합니다. 성공적으로 온보딩한 클라우드용 Defender는 SARIF 출력에 대한 'CodeAnalysisLogs' 아티팩트를 지속적으로 모니터링합니다.
'PublishBuildArtifacts@1' 작업을 사용하여 SARIF 출력이 올바른 아티팩트로 게시되도록 할 수 있습니다. 예를 들어, 보안 분석기가 results.sarif
를 출력하는 경우 결과가 클라우드용 Defender에 업로드되도록 다음 작업을 구성할 수 있습니다.
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: 'results.sarif'
ArtifactName: 'CodeAnalysisLogs'
Findings from third-party security tools will appear as 'Azure DevOps repositories should have code scanning findings resolved' assessments associated with the repository the security finding was identified in.