vault-radar scan confluence 명령어

vault-radar scan confluence 명령어

scan confluence 명령어는 Confluence Data Server 또는 Atlassian Confluence Cloud 인스턴스를 스캔하는 데 사용해요.

출처: 문서

본문

메모: Vault Radar CLI 버전 0.20.0 이상이 설치되어 있어야 해요. 현재 CLI의 버전은 version 명령어로 확인할 수 있어요.

scan confluence 명령어는 Confluence Data Server 또는 Atlassian Confluence Cloud 인스턴스를 스캔하는 데 사용돼요.

인증(Authentication)

vault-radar가 Confluence 인스턴스에 요청을 보내려면 몇 가지 인증 자격 증명이 필요해요. 필요한 정보는 Confluence Cloud를 쓰는지, Server(자가 호스팅)를 쓰는지에 따라 달라져요.

Confluence Cloud

이 경우 인스턴스가 Atlassian에서 호스팅된다는 뜻이며, 인스턴스 URL에 .atlassian.net이 포함되어 있을 거예요.

Cloud에서는 지원되는 패턴이 하나뿐이고, Atlassian API 토큰과 그 토큰이 속한 계정의 이메일이 필요해요.

이 정보를 vault-radar에 제공하려면 다음 환경 변수 두 개에 각각 알맞은 값을 지정해 주세요:

  1. ATLASSIAN_API_TOKEN
  2. ATLASSIAN_ACCOUNT_EMAIL

Confluence Server

자가 호스팅 버전의 Confluence에서는 최대 2가지 패턴이 가능해요.

버전 7.9 이상은 사용자를 위한 Personal Access Token 생성(Personal Access Token)을 지원해요. 이 토큰은 생성한 사용자와 동일한 모든 접근 권한을 가져요. 토큰을 사용하려면 생성된 토큰을 다음 환경 변수에 설정하면 돼요: CONFLUENCE_PERSONAL_ACCESS_TOKEN

Personal Access Token을 사용하는 것이 더 안전하므로 선호되는 접근 패턴이에요. Personal Access Token은 폐기하고 재생성하기가 더 쉬우며, 일반적으로 비밀번호보다 폭발 반경(blast radius)이 더 작아요.

모든 버전의 Confluence Server는 사용자 이름(Username, 이메일 아님)과 비밀번호를 이용한 인증을 지원해요. 이 자격 증명으로 인증하려면 다음 환경 변수 두 개를 모두 설정해 주세요:

  1. CONFLUENCE_USERNAME
  2. CONFLUENCE_PASSWORD

사용법

Usage: vault-radar scan confluence [options]

명령 옵션

  • --url, -u: 스캔할 Confluence 서버의 URL 엔드포인트 (필수)
  • --page-id, -p: 스캔할 Confluence 페이지 지정
  • --space-key, -s: 스캔할 Confluence 스페이스 지정
  • --outfile, -o: 발견된 비밀 정보를 저장할 파일 지정 (오프라인 전용 필수)
  • --format, -f: 출력 형식 지정. csv와 json을 지원하며 기본값은 csv
  • --baseline, -b: 이전 스캔 결과가 있는 파일 지정. 새 비밀만 보고돼요.
  • --limit, -l: 보고할 최대 비밀 수 지정. 한도에 도달하면 스캔이 중지돼요.
  • --page-limit: 스캔할 최대 Confluence 페이지 수 지정
  • --index-file: 어떤 위험이 Vaulted인지 판단하는 데 사용할 인덱스 파일 경로 지정
  • --disable-ui: 스캔 요약이 stdout에 기록되지 않도록 지정
  • --skip-activeness: 지정하면 활성(activeness) 검사를 건너뜀

아래 예시들은 모두 이미 적절한 환경 변수를 설정했다고 가정하거나, 실행하는 명령에 환경 변수를 포함하려는 의도가 있다고 가정해요.

스페이스 스캔

스페이스를 스캔하고 결과를 HCP에 업로드해요.

$ vault-radar scan confluence -u <INSTANCE URL> -s <SPACE KEY>

페이지 스캔

페이지를 스캔하고 결과를 CSV 형식(기본 출력 형식)의 파일로 작성해요.

$ vault-radar scan confluence -u <INSTANCE URL> \
    -p <PAGE ID> \
    -o <PATH TO OUTPUT>.csv

페이지를 스캔하고 JSON으로 출력

페이지를 스캔하고 결과를 JSON 형식의 파일로 작성해요.

$ vault-radar scan confluence -u <INSTANCE URL> -p <PAGE ID> \
    -o <PATH TO OUTPUT>.json \
    -f json

베이스라인 파일을 사용한 스캔

이전 스캔의 결과를 사용해 스캔을 수행하고 새로 바뀐 내용을 출력 파일에 작성해요.

$ vault-radar scan confluence -u <INSTANCE URL> -s <SPACE KEY> \
    -b <PATH TO BASELINE> \
    -o <PATH TO OUTPUT>.csv

HCP 연결 시 스캔 동작

scan 명령어는 스캔 간 일관성을 유지하기 위해 클라우드의 공유 솔트로 해시를 생성하려면 HCP 클라우드 연결이 필요해요. 필요한 HCP 연결 정보를 채우려면 HCP 업로드 페이지를 참조해 주세요.

Vault 인덱스 파일을 사용한 스캔

생성된 vault 인덱스를 사용해 스캔을 수행하고 결과를 HCP에 업로드해요.

$ vault-radar scan confluence -u <INSTANCE URL> -s <SPACE KEY> \
    --index-file <PATH TO VAULT INDEX>.jsonl

Vault 인덱스를 생성하는 방법을 확인해 보세요.

스캔 시 페이지 수 제한

정의된 페이지 수가 스캔되면 스페이스 스캔을 중지해요.

$ vault-radar scan confluence -u <INSTANCE URL> -s <SPACE KEY> \
    --page-limit <NUM OF PAGES>

스캔 시 발견할 비밀 수 제한

정의된 비밀 수가 발견되면 스페이스 스캔을 중지해요.

$ vault-radar scan confluence -u <INSTANCE URL> -s <SPACE KEY> \
    -l <NUM OF SECRETS>

문제 해결 도움말

내 페이지의 PageID는 무엇인가요?

가끔 페이지 이름이 포함된 "Pretty" URL을 보게 될 거예요. 페이지의 ID를 얻으려면 페이지의 오른쪽 모서리에 옵션 메뉴가 있어요. 보통 ...처럼 3개의 점으로 보여요. 그것을 클릭한 다음 Page Information 같은 옵션을 찾아 선택하세요. 도착하는 페이지의 URL에 PageID가 사용되어 있을 거예요.

예시:

http://localhost:8090/pages/viewinfo.action?pageId=123456

여기서 123456이 예시 페이지의 ID예요.

내 스페이스나 페이지의 Space Key는 무엇인가요?

스페이스 키(space key)가 페이지 URL에 항상 포함되지는 않아요. 하지만 Confluence의 주요 툴바에서 관심 있는 스페이스를 선택할 때는 항상 존재해야 해요. 또한 스페이스의 요약 세부 정보로 이동하면 스페이스 키가 명시적으로 정의되어 있을 거예요.

예시:

http://localhost:8090/display/VSID/Some+Page

여기서 VSID가 스페이스 키예요.

더 알아보기 (Learn more)