본문 바로가기
C.W.K.
Stream
Lesson 04 of 06 · published

제로 트러스트 보안 모델

~18 min · remote, security, encryption, audit

Level 0🌱 입문자
0 XP0/70 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

원격 세션은 네트워크 위치를 믿지 않고 연결마다 증명해

Remote의 보안 모델은 "안쪽 네트워크니까 괜찮다"는 묵시적 신뢰를 쓰지 않아. 모든 연결을 암호학적으로 인증하고, 세션 payload는 전송 계층에 닿기 전에 AES-256-GCM으로 암호화해. Anthropic의 조정 인프라는 암호문을 전달할 뿐 평문 소스 코드를 읽지 못해.

보호는 세 층이야. SSH 또는 TLS 1.3+가 전송 구간을 지키고, SSH 키와 Anthropic 인증이 기계를 확인하며, 대상·보호 경로·최대 payload·네트워크 허용 목록이 작업 범위를 제한해. 하나의 "보안" 옵션이 아니라 서로 다른 실패를 막는 겹친 장치지.

감사 기록에는 시각, 출발지와 도착지, payload 크기와 hash, 사용자가 JSONL로 남아 SIEM에 보낼 수 있어. 규정 준수가 필요하다면 로그를 켜는 데서 끝내지 말고 실제 감사 파이프라인에 전달하고 보존 기간까지 정해.

SOC 2 Type II가 필요한 조직이라면 기록을 켜는 것만으로 끝나지 않아. 감사 파이프라인 전송과 보존 정책까지 실제로 운영해야 해.

Code

운영 환경에 맞춘 remote-policy.json·json
{
  "remote": {
    "allowedDestinations": ["my-dev-server", "ci-runner-01"],
    "requireConfirmationForPaths": ["/etc", "/var", "/usr"],
    "maxPayloadSizeMB": 50,
    "allowNetworkAccessOnRemote": false,
    "remoteNetworkAllowlist": [
      "api.anthropic.com",
      "registry.npmjs.org",
      "github.com"
    ],
    "sessionTimeout": 3600,
    "auditLog": {
      "enabled": true,
      "path": "~/.claude/remote-audit.jsonl",
      "includePayloadHashes": true,
      "retentionDays": 90
    }
  }
}
암호화 기술 구성 확인하기·bash
claude remote status --verbose

# Output:
# Transport:    SSH (OpenSSH 9.x)
# Encryption:   AES-256-GCM (payload) + SSH protocol (transport)
# Key exchange: ECDH curve25519
# Integrity:    HMAC-SHA2-512

# Lock down key permissions (SSH refuses wrong perms)
chmod 600 ~/.ssh/claude_remote
chmod 644 ~/.ssh/claude_remote.pub

External links

Exercise

원격 환경을 제한하는 remote-policy.json을 작성해. 허용할 대상과 네트워크 허용 목록, 최대 페이로드 크기, 감사 기록 경로를 지정해. 승인되지 않은 대상이 거부되는지 시험하고, 실제로 세션을 넘기는 동안 감사 기록을 tail로 지켜봐.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.