Security Automation Framework CLI
MITRE Security Automation Framework (SAF) 명령줄 인터페이스(CLI)는 MITRE와 보안 커뮤니티가 개발한 애플리케이션, 기법, 라이브러리 및 도구들을 통합하여 시스템 및 DevOps 파이프라인의 보안 자동화를 간소화합니다.
SAF CLI는 Heimdall Tools와 InSpec Tools의 후속작입니다.
용어 정의 (Terminology)
[!NOTE]
본 문서에서 HDF를 언급하는 모든 내용은 OHDF를 지칭합니다.
설치 (Installation)
개발자 (Developers)
개발, 테스트 및 SAF 프로젝트 기여에 대한 자세한 정보는 MITRE SAF Development를 참조하십시오.
사용법 (Usage)
HDF 데이터 증명 (Attest HDF Data)
다른 형식들을 HDF로 변환
eMASSer 클라이언트
HDF 요약 및 데이터 보기
HDF 임계값 검증
데이터 보고서 생성 및 기타
HDF 데이터 향상 및 보완 (Enhance and Supplement HDF Data)
라이선스 및 저자 (License and Authors)
설치 (Installation)
NPM을 통한 설치 (Installation via NPM)
SAF CLI는 대부분의 버전에서 포함된 npm을 사용하여 설치하고 최신 상태로 유지할 수 있습니다. NodeJS를 사용합니다.
npm install -g @mitre/saf
NPM을 통한 업데이트 (Update via NPM)
SAF CLI를 npm으로 업데이트하려면 다음 명령어를 사용합니다:
npx를 이용한 사용 (Use via npx)
대안적으로, NPM의 npx 유틸리티를 통해 SAF CLI를 즉석에서 설치하고 사용할 수 있습니다:
npx @mitre/saf <arguments>
top
Brew를 통한 설치 (Installation via Brew)
SAF CLI는 brew를 사용하여 설치하고 최신 상태로 유지할 수 있습니다.
brew install mitre/saf/saf-cli
Brew를 통한 업데이트 (Update via Brew)
SAF CLI를 brew로 업데이트하려면 다음 명령어를 사용합니다:
brew upgrade mitre/saf/saf-cli
top
Docker를 통한 설치 (Installation via Docker)
Linux 및 Mac의 경우:
아래 docker 명령어는 arguments에 실행하려는 명령과 플래그가 포함되어 있으며, SAF CLI를 한 번 실행하는 데 사용될 수 있습니다. 예시: --version 또는 view summary -i hdf-results.json.
docker run -it -v$(pwd):/share mitre/saf <arguments>
하나 이상의 명령을 위해 지속적인 셸(shell)로 SAF CLI를 실행하려면 다음을 사용한 후 각 전체 명령을 실행합니다. 예를 들어, saf --version 또는 saf view summary -i hdf-results.json과 같습니다. 사용하려는 진입점(entrypoint)은 변경할 수 있습니다. 예를 들어, 셸 터미널에서 열려면 --entrypoint sh로 실행하십시오. 지정된 진입점을 찾을 수 없는 경우, --entrypoint /bin/bash와 같은 경로를 시도해 보십시오.
docker run --rm -it --entrypoint bash -v$(pwd):/share mitre/saf
Windows의 경우:
아래 Docker 명령어는 arguments에 실행하려는 명령과 플래그가 포함된 상태로 SAF CLI를 한 번 실행하는 데 사용될 수 있습니다. 예를 들어, --version 또는 view summary -i hdf-results.json과 같습니다.
docker run -it -v%cd%:/share mitre/saf <arguments>
하나 이상의 명령을 위해 지속적인 셸(shell)로 SAF CLI를 실행하려면 다음을 사용한 후 각 전체 명령을 실행합니다. 예를 들어, saf --version 또는 saf view summary -i hdf-results.json과 같습니다. 사용하려는 진입점(entrypoint)은 변경할 수 있습니다. 예를 들어, 셸 터미널에서 열려면 --entrypoint sh로 실행하십시오. 지정된 진입점을 찾을 수 없는 경우, --entrypoint /bin/bash와 같은 경로를 시도해 보십시오.
docker run --rm -it --entrypoint sh -v%cd%:/share mitre/saf
참고:
다양한 서브커맨드(subcommands)를 실행하는 데 필요한 Docker CLI 플래그를 반드시 사용해야 합니다.
예를 들어, emasser configure 서브커맨드를 실행하려면 인증서가 포함되어 있고 결과물인 .env 파일을 저장할 수 있는 볼륨을 전달해야 합니다. 또한, pseudo-TTY 및 상호작용성(interactivity) 활성화 플래그도 전달해야 합니다.
docker run -it -v "$(pwd)":/share mitre/saf emasser configure
다른 명령어들은 -i 또는 -t 플래그가 필요하지 않을 수 있으며, 대신 파일 기반의 convert와 같이 바인드 마운트된 볼륨만 필요할 수 있습니다.
docker run --rm -v "$(pwd)":/share mitre/saf convert -i test/sample_data/trivy/sample_input_report/trivy-image_golang-1.12-alpine_sample.json -o test.json
네트워크 포트를 열거나 환경 변수를 전달하는 데 사용되는 다른 플래그들이 존재하므로, 명령을 성공적으로 실행하는 데 필요한 모든 플래그를 사용하는지 확인하십시오.
Docker를 이용한 업데이트
docker를 사용하여 SAF CLI를 업데이트하려면:
docker pull mitre/saf:latest
top
Windows 설치 관리자를 통한 설치
최신 버전의 SAF CLI를 Windows에 설치하려면, Releases 🌬️ 페이지에서 시스템 아키텍처에 맞는 최신 설치 프로그램을 다운로드하여 실행하십시오.
Windows 설치 관리자를 통한 업데이트
SAF CLI를 Windows에서 업데이트하려면, 시스템에 이미 존재하는 버전을 제거한 다음, Releases 🌬️ 페이지에서 시스템 아키텍처에 맞는 최신 설치 프로그램을 다운로드하여 실행하십시오.
top
사용법
예상 파일 인코딩
SAF CLI는 별도로 명시되지 않는 한 대부분의 입력 파일이 UTF-8로 인코딩되기를 기대합니다. UTF-16 및 기타 인코딩은 지원되지 않습니다.
Mac 및 Linux 사용자는 file 커맨드라인 유틸리티를 사용하여 주어진 파일의 인코딩을 쉽게 확인할 수 있습니다. 예를 들어, file input.json과 같이 실행하면 올바른 경우 input.json: JSON data와 유사한 내용이 반환됩니다. 만약 UTF-8이 아니라면 UTF-16과 같은 다른 인코딩 방식을 언급할 것입니다. 안타깝게도 Windows 사용자는 기기에 사전에 설치된 간단한 커맨드라인 유틸리티를 통해 파일 인코딩을 테스트하는 것이 일반적이지 않습니다. 하지만 VSCode와 같은 대부분의 텍스트 편집기로 이동하여 보고되는 인코딩을 확인할 수 있습니다. VS Code에서는 일반적으로 상태 표시줄(대개 창 하단 근처) 및 오른쪽 측면에서 확인 가능합니다.
UTF-8로 파일을 저장하는 방법은 다양하지만, VS Code를 예시로 다시 설명하면, 상태 표시줄에 있는 인코딩 버튼을 클릭하고 프롬프트가 나타나서 다른 인코딩으로 파일을 열거나 저장할지 묻습니다. '인코딩으로 저장(Save with Encoding)'을 클릭한 다음 UTF-8을 선택합니다. 이 시점에서 파일이 적절한 형식으로 저장되어야 합니다.
Attest (증명)
Attest 컨트롤: 때로는 요구사항을 보안 도구가 자동으로 테스트할 수 없어 수동 검토가 필요하며, 이 경우 누군가가 사람들을 인터뷰하거나 시스템을 검사하여(즉, 증명함으로써) 해당 컨트롤 요구사항이 충족되었는지 확인합니다.
Attestations 생성 (Create Attestations)
attest create `saf attest apply`와 함께 사용할 증명 파일 생성
사용법
...
[top](#usage]
Attestations 적용 (Apply Attestations)
attest apply 하나 이상의 증명 파일을 하나 이상의 HDF 결과 세트에 적용
사용법
...
[top](#usage]
Convert 명령어
데이터를 Heimdall Data Format (HDF)으로 변환하거나 HDF에서 가져오는 작업은 saf convert 명령어를 사용합니다.
컨버터를 추천하거나 개발하는 데 도움을 주고 싶으신가요? 시작하기(how to get started) 📰를 참조하세요.
top
HDF에서 변환 (Convert From HDF)
top
Anchore Grype을 HDF로
convert anchoregrype2hdf Anchore Grype 출력 파일을 HDF 결과 세트로 변환
사용법
...
top
HDF를 ASFF로
참고: AWS Security Hub에 결과를 업로드하려면 AWS CLI 구성이 필요합니다. 👉 AWS 문서 또는 Docker를 통한 환경 변수 구성을 참조하세요.
convert hdf2asff
하임달 데이터 형식(Heimdall Data Format) JSON 파일을 AWS 보안 발견 형식(AWS Security Findings Format) JSON 파일 및/또는으로 변환하거나
AWS Security Hub에 업로드합니다.
...
top
HDF를 Splunk로 변환
참고: HDF를 Splunk로 변환하려면 Splunk 서버에 구성이 필요합니다. 👉 Splunk 설정을 참조하세요.
convert hdf2splunk 하임달 데이터 형식(Heimdall Data Format) JSON 파일을 변환하여 Splunk 서버에 업로드합니다.
USAGE
...
HDF Splunk 스키마 문서는 👉 Heimdall 컨버터 스키마를 방문하세요.
Splunk 내에서 HDF 데이터 미리보기: