파일 배포 v2
참고
파일 배포 플러그인은 CC 평가 항목에 포함되지 않으므로 CC 인증이 필요한 공공 기관에서는 이 플러그인을 사용할 수 없습니다.
파일 배포 플러그인은 파일을 실행하거나 특정 위치로 다운로드합니다. 정책 서버는 에이전트와 통신하여 단말에 파일을 배포, 실행 및 설치합니다.
단말에 필요한 파일 배포
단말에 설치되지 않은 소프트웨어 설치
기존 파일 배포 플러그인에서 보안을 강화하는 데 중점을 둔 파일 배포 v2 플러그인이 추가되었습니다.
파일 배포 v2 플러그인은 안전한 파일 배포를 위해 파일 무결성 검증 및 배포자 신원 확인을 제공합니다.
3단계 무결성 검증 수행
최종 사용자에 의한 배포자 식별 및 승인
파일 배포 v2 플러그인은 배포되는 파일에 대해 디지털 서명을 의무적으로 요구하며, 디지털 서명 및 서명 검증을 위해 공급망 보안을 위해 설계된 Sigstore 서명 방식을 사용합니다. 파일 배포 v2 플러그인은 Sigstore 서명의 두 가지 방식인 Sigstore Keyless Signing과 Public Key Signing을 선택적으로 사용할 수 있습니다.
검증 방법 |
Sigstore Keyless Signing (Keyless) |
Public Key Signing (self-managed-key) |
|---|---|---|
검증 내용 |
|
|
환경 설정 |
|
|
키 관리 |
|
|
준비 사항 |
|
|
제약 사항 |
|
|
Sigstore Keyless Signing 방식
OIDC는 로그인 인증을 사용하여 사용자에게 리소스 액세스를 제공하는 프레임워크인 OAuth 2.0의 확장입니다. OIDC는 사용자 비밀번호 없이 인증서를 생성할 수 있기 때문에 Sigstore에서 단기 인증서를 생성하는 데 사용됩니다.
Sigstore Keyless Signing 사용 방법
1단계. 배포 파일 디지털 서명
cosign을 다운로드하여 배포 파일의 디지털 서명에 사용할 디렉터리에 저장합니다.
파일 이름을 cosign으로 변경합니다.
디지털 서명할 파일을 해당 디렉터리에 복사합니다.
터미널을 열고 cosign 파일이 있는 디렉터리로 이동합니다.
아래 명령어를 입력하여 디지털 서명을 수행합니다:
> cosign sign-blob {배포_파일_이름} --output-certificate {생성된_인증서_파일_이름.cert} --output-signature {생성된_서명_파일_이름.sig}
터미널에 표시된 URL 정보를 복사하여 브라우저를 사용하여 웹 페이지에 접속합니다.
터미널에 표시된 8자리 값이 웹 페이지에 표시된 8자리 값과 동일한지 확인하고
Submit버튼을 클릭합니다.세 가지 OIDC 중 하나를 선택합니다:
Git, Google, Microsoft그리고 인증을 수행합니다.잠시 후 터미널에
y를 입력하여 서비스 약관에 동의합니다.디렉터리에
Cert, Sig파일이 성공적으로 생성되었는지 확인합니다.
2단계. 디지털 서명 검증
터미널에서 아래 명령어를 입력합니다:
> cosign verify-blob {배포_파일_이름} --certificate {생성된_인증서_파일_이름.cert} --signature {생성된_서명_파일_이름.sig} --certificate-identity={인증에_사용된_ID} --certificate-oidc-issuer={OIDC_발급자} 예시> cosign verify-blob agent.zip --certificate agent.cert --signature agent.sig --certificate-identity=genian@genians.com --certificate-oidc-issuer=https://accounts.google.com
디지털 서명이 성공적으로 수행되면 Verified OK 가 표시됩니다.
3단계. 노드 액션 생성
정책 서버 웹 콘솔에 접속하여 상단 메뉴의 정책 으로 이동합니다.
왼쪽 메뉴에서 노드 정책 > 노드 액션 으로 이동합니다.
상단 메뉴에서 작업선택 > 생성 을 클릭합니다.
아래는 기본 설정 입니다.
액션 이름 은 향후 운영 중 노드 액션을 쉽게 구분하기 위해 목적에 따라 "(목적)액션 이름" 형식을 사용합니다.
설명 은 목적에 따라 다르게 사용되는 경우 노드 액션의 목적을 구분하는 데 사용할 수 있습니다.
라벨 을 추가하면 "설명" 입력 필드에 표시되는 사용자 정의 라벨로 플러그인을 분류할 수 있습니다.
아래 액션 수행 설정 을 구성합니다.
OS 종류 는 macOS, Linux, Windows 대상 중 적절한 OS를 선택합니다.