외부 스토리지 및 아이덴티티
- 미리 생성된 고객 소유 외부 버킷 또는 컨테이너만 사용합니다.
- 공개 액세스와 계정 전역 관리를 거부합니다.
- 웹과 워커에 필요한 가장 좁은 버킷/컨테이너 및 접두사 권한으로 워크로드 아이덴티티/기본 자격 증명 체인을 사용합니다.
- 플랫폼이 허용하는 경우 관리, preflight 증명, 런타임 객체 작업, 마이그레이션, 보존 책임을 분리합니다.
- 시크릿은 플랫폼 시크릿 관리자에 저장합니다. 소스, ConfigMap, 이미지, 셸 인수/기록, 로그, 텔레메트리, 지원 번들, 인증 증거에 넣지 마세요.
- TLS 검증을 활성화한 상태로 유지합니다. 프라이빗 CA 파일을 읽기 전용으로 마운트하고 중첩 절차로 로테이션합니다.
세 가지 목적 프로필
quarantine: 사용자가 제어하는 모든 업로드가 여기에 들어갑니다.records: 스캐너가 승인한 사용자 업로드와 좁게 정의된 신뢰할 수 있는 서버 생성 내보내기만 여기에서 사용할 수 있습니다.ephemeral: 제한된 수명 주기를 가진 deep 카나리와 수명이 짧은 데이터입니다.
맬웨어 스캔은 fail closed
프로덕션은CLAMD_SOCKET_PATH 또는 CLAMD_HOST를 통한 외부
clamd를 요구합니다. 원격 스캐너 TLS는 CLAMD_TLS=true와
CLAMD_CA_FILE을 사용합니다. 평문 사설 네트워크 예외는 기본값이
아니라 명시적 위험 예외입니다.
CaseBender는 SHA-256을 계산하고, 업로드 의도를 기록하고, 정확한
객체를 다시 읽고, 검증을 큐에 넣습니다. 스캐너를 사용할 수 없거나,
시간 초과되거나, 잘못된 출력을 반환하거나, 구성된 크기를 스캔할 수
없으면 객체는 quarantine 상태로 남습니다. 재시도는 내구성이 있으며,
소진되면 데드 레터가 됩니다. 최종 CLEAN 판정만 records로의
복사를 허용합니다.
INFECTED 결과는 quarantine 상태로 남고 민감한 보안 감사 이벤트를
만듭니다. 문제 해결을 위해 실제 맬웨어 샘플을 다운로드하지 마세요.
의도적 맬웨어 샘플
승인된 테스트는 content trustMALWARE_SAMPLE과 quarantineOnly로
샘플을 저장할 수 있습니다. quarantine 상태로 남고, 승격되지 않으며,
스캔 상태는 SKIPPED입니다. 가능한 경우 비활성 EICAR 동등 픽스처를
사용하세요. 서면 승인, 격리된 취급, 승인된 보존/폐기, 지원 티켓
첨부 금지를 요구하세요. 테스트를 통과시키기 위해 스캔 정책을
약화하지 마세요.
무결성 및 정확한 버전
- 가능한 경우 애플리케이션 SHA-256, 크기, 제공자 체크섬, 제공자 버전/세대를 유지합니다.
- 업로드, 승격, 마이그레이션, 백업, 복원 후 다운로드한 바이트를 검증합니다.
- ETag는 불투명하게 취급하세요. 멀티파트/암호화된 ETag는 MD5가 아닐 수 있습니다.
- 덮어쓰기 경쟁을 방지하려면 조건부 생성을 사용합니다.
- 보존, 법적 홀드, 복원, 마이그레이션은 유동적인 최신 객체가 아니라 정확한 객체 버전으로 지정합니다.
storage.checksum_mismatch, 누락된 예상 객체, 확인된 orphan에 대해 알림을 보냅니다.
암호화, WORM, 법적 홀드
TLS와 제공자 관리 서버 측 암호화를 요구하세요. 의무화된 경우 고객 관리 키를 사용하고 키 로테이션/복구를 별도로 검증하세요. 규제 대상records에는 requireWorm: true와
STORAGE_REQUIRE_WORM=true를 설정한 다음, 제공자 버전 관리, 객체
보존/불변성, 법적 홀드를 자격 검증하세요. 이러한 제어가 없으면
준비 상태가 범주 capability로 실패합니다. CaseBender는 기본적으로
거버넌스 보존을 우회하지 않으며, 규정 준수 보존은 의도적으로
조기 삭제를 차단합니다.
SDK의 WORM 기능은 버킷/컨테이너가 필수 불변 설정으로 생성되었음을
증명하지 않습니다.
서명된 URL 없음
CaseBender 스토리지 어댑터는 presigned S3 URL, GCS 서명된 URL, Azure SAS URL을 생성하지 않습니다. 다운로드는 CaseBender 인증, 권한 부여, 테넌트 검사, 수명 주기 검사, 스캐너 승인, 감사 경계를 거쳐야 합니다.상태 확인
/api/health/live는 프로세스만 확인하며 외부 의존성이 없습니다./api/health/ready는 구성된 제공자를 확인하고ephemeral에서 최신 deep write/read/copy/delete 카나리를 요구합니다.- 응답은 정제한 범주만 노출합니다.
configuration,authentication,tls,storage,capability, 또는canary_stale.