보안 및 개인정보 보호 · Clash 기술 블로그

Clash 구성 파일을 바로 공유해도 되나요? 구독, 노드 비밀번호 및 secret에서 민감 정보 제거하기

전체 구성에는 구독 token, 노드 비밀번호 및 컨트롤러 secret이 들어 있을 수 있으므로 일반적으로 다른 사람에게 바로 보내면 안 됩니다. 문제 해결에는 읽기 쉽고 민감 정보를 제거한 최소 사본을 별도로 만드세요.

  • 구성 민감 정보 제거
  • YAML
  • secret
  • 개인정보 보호
이 글의 목차

Clash 원본 구성을 그대로 공유하지 말고 문제 해결용 사본부터 만들기

전체 YAML, 로그와 화면에는 구독 token, 노드 비밀번호, 컨트롤러 secret과 내부망 주소가 함께 포함되는 경우가 많습니다. 복구용 원본 백업은 자신이 관리하는 암호화 저장소에 보관하세요. 다른 사람에게 문제 해결을 요청할 때는 원본 파일에서 필드 몇 개를 대충 가리지 말고 빈 파일에서 최소 사본을 만들어야 합니다.

공유 전에 항목별로 찾기

위치 또는 필드노출될 수 있는 내용처리 방법
구독 URL 쿼리 매개변수전체 구성을 직접 가져올 수 있는 token전체 URL을 삭제하고 도메인과 상태 코드만 남김
proxies 노드server、UUID、password、PSK、private-keyexample.com과 REDACTED로 대체
external-controller / secret로컬 제어 주소와 API 키필드 구조는 유지하고 실제 값은 교체
로그와 화면Authorization, Cookie, 사용자 이름과 QR 코드관련 없는 화면을 잘라내고 다시 전체 확인
LAN과 회사 도메인내부망 주소, 호스트 이름과 토폴로지문제에 반드시 필요한 최소 범위만 유지

전체 백업과 도움 요청용 첨부 파일은 처음부터 분리

전체 백업은 복구용이므로 실제 구독, 노드와 로컬 덮어쓰기를 보존해야 하며 자신이 관리하는 암호화 저장소에만 둘 수 있습니다. 다른 사람이 읽을 문제 해결용 사본은 새 파일에서 시작하고 문제를 재현하는 데 필요한 필드만 추가하세요. 원본 파일에서 계속 삭제하는 방식은 긴 URL, Provider header와 스크립트 매개변수를 빠뜨리기 쉽습니다.

백업 파일 이름에 클라이언트, 코어와 날짜를 포함할 수 있습니다. 예를 들면 verge-macos-2026-07-16-private.zip입니다. 압축 파일 자체는 암호화되지 않습니다. 클라우드 저장소에 보관하려면 플랫폼의 종단 간 암호화 또는 암호화 아카이브를 사용하고 공유 권한을 제한하세요.

자리표시자 값으로 구조를 이해할 수 있는 최소 구성 만들기

공개 가능한 구조 예시
mixed-port: 7890
external-controller: 127.0.0.1:9090
secret: REDACTED

proxies:
  - name: test-node
    type: socks5
    server: example.com
    port: 1080
    username: REDACTED
    password: REDACTED

proxy-groups:
  - name: Test
    type: select
    proxies: [test-node, DIRECT]

rules:
  - DOMAIN,example.org,Test
  - MATCH,DIRECT

DNS 문제라면 DNS, 테스트 정책 그룹 하나와 관련 규칙만 남기세요. YAML 파싱 문제라면 오류 줄 앞뒤의 계층을 보존합니다. 값을 대체한 뒤에도 로컬에서 같은 오류를 유발하는지 확인해야 합니다. 그렇지 않으면 다른 사람이 보는 것은 이미 원래 문제가 아닙니다.

보내기 전에 텍스트 검색으로 수동 검사 한 번 더 수행

사본 디렉터리에서 일반적인 민감 필드 검색
rg -n -i 'token|secret|password|passwd|uuid|private-key|authorization|cookie' .
git diff --staged
git log --all -- path/to/config.yaml

검색은 일반적인 필드만 알려 줄 뿐 사용자 header, QR 코드와 이름을 바꾼 인증 정보는 식별하지 못합니다. 검색 결과를 확인한 뒤에도 공유할 파일을 줄마다 읽고 터미널 프롬프트, 브라우저 탭과 화면 알림을 검사해야 합니다.

실제 구성을 이미 보냈다면 계속 가리지 말고 인증 정보 교체

원본 파일이 이미 그룹 채팅, 지원 요청 또는 공개 저장소에 들어갔다면 민감 정보를 제거한 버전을 다시 보내는 것만으로 이후 오용을 줄일 수 있을 뿐 기존 인증 정보를 무효화할 수는 없습니다. 이미 유출된 파일을 계속 편집하지 말고 인증 정보를 교체해야 합니다.

유출 후 조치

유출된 내용즉시 처리
전체 구독 URL서비스 관리 페이지에서 token/구독 주소를 재설정하고 모든 기기 업데이트
external-controller secret새 secret을 만들고 제어 포트가 신뢰할 수 없는 네트워크에 열려 있지 않은지 확인
노드 인증 정보서버 관리자가 비밀번호, UUID, PSK 또는 개인 키를 교체
Git 기록기록을 다시 작성하고 모든 인증 정보를 교체하세요. 최신 파일만 삭제해서는 부족합니다.
공개 로그 또는 화면확산을 줄이기 위해 철회하고 그 안에 노출된 실제 인증 정보를 하나씩 교체

교체 후 로그인하지 않은 창에서 기존 구독 주소에 접근하거나 기존 secret으로 제어 인터페이스에 요청해 실제로 무효화되었는지 확인합니다. 클라이언트 표시 이름을 바꾸거나 공개 게시물을 삭제하는 것으로 이 검증을 대신할 수 없습니다.

첨부 파일 전송 전 마지막 화면 검사

문제 해결용 첨부 파일이 작을수록 다른 사람이 이해하기 쉽고 인증 정보를 빠뜨릴 가능성도 낮아집니다. 보내기 전 마지막으로 전체를 읽고 이 파일이 현재 문제에만 필요한 내용인지 확인하세요.

전송 가능한 조건

  • 최소 사본으로도 로컬에서 같은 오류를 재현할 수 있음
  • 모든 URL 쿼리 매개변수, 노드 인증과 secret을 교체함
  • 로그에 Authorization, Cookie, 로컬 사용자 이름과 절대 경로가 없음
  • 화면에 QR 코드, 계정, 알림과 관련 없는 탭이 없음
  • 원본 전체 백업이 공개 저장소 또는 공유 링크에 들어간 적이 없음

참고 자료