목차12개 섹션
본 성명서에 대하여
본 보안 성명서는 Kapsule Group Limited(Kapsule Cloud)가 당사 플랫폼에서 호스팅되는 데이터를 보호하기 위해 구현하는 기술적 및 조직적 조치에 대해 설명합니다. 본 성명서는 데이터 처리 계약서에서 참조되며, 당사의 보안 태세 개선를 반영하기 위해 수시로 업데이트됩니다.
당사의 핵심 원칙은 심층 방어(defence in depth)입니다. 우리는 단일 장애로 인해 고객 데이터가 노출되지 않도록 여러 독립적인 제어 기능을 계층화하여 구현합니다.
1. 정보 보안 거버넌스
당사는 문서화된 정보 보안 및 개인정보보호 정책을 유지하며, 최소한 연 1회 검토하고 플랫폼의 중요한 변경 사항 또는 위협 환경의 변화가 있을 때 이를 갱신합니다.
지정된 개인정보보호책임자(Privacy Officer)가 데이터 보호 준수에 대한 책임을 담당합니다. 보안 책임은 인프라 팀의 지정된 개인에게 할당됩니다.
모든 직원은 입사 시 및 그 이후 연 1회 개인정보보호 및 보안 교육을 받습니다. 프로덕션 시스템에 접근하는 권한을 가진 직원은 법률에서 허용하는 범위 내에서 신원 조회의 대상이 됩니다.
보안 사고 및 잠재적 사고는 기록되고 검토되며, 지속적으로 통제를 개선하는 데 활용됩니다.
2. 접근 제어
프로덕션 시스템 및 고객 데이터에 대한 접근은 최소 권한 원칙에 기반한 엄격한 역할 기반 접근 제어에 의해 관리되며, 인사는 자신의 특정 역할을 수행하는 데 필요한 접근 권한만 부여받습니다.
프로덕션 인프라, 호스팅 제어판, 소스 코드 및 클라우드 제공자 콘솔에 접근할 수 있는 모든 인사에 대해 필수 2단계 인증(2FA)이 적용됩니다.
접근 권한은 주기적으로 검토되며 역할 변경 또는 퇴사 시 즉시 회수됩니다. 접근 이벤트 및 권한 상승은 기록됩니다.
프로덕션 및 비프로덕션 환경은 엄격하게 분리됩니다. 고객 환경은 호스팅 플랫폼 내에서 서로 논리적으로 격리됩니다.
프로덕션 서버에 대한 모든 관리자 접근은 SSH 키 쌍을 통해 인증되며, 비밀번호 기반 SSH 인증은 비활성화됩니다.
3. 암호화 및 데이터 보호
고객과 당사 플랫폼 간의 모든 전송 데이터는 TLS 1.2 이상을 사용하여 암호화됩니다. TLS 인증서는 자동으로 발급되며 만료 전에 갱신됩니다.
오프사이트 백업은 restic을 사용한 AES-256으로 암호화됩니다. 암호화 키는 백업 데이터와 별도로 저장되며 오프라인으로 백업됩니다. 키 손실로 인해 백업 데이터를 복구할 수 없게 되므로, 키는 여러 개의 안전한 오프라인 위치에 보관됩니다.
암호화된 백업은 Cloudflare R2 객체 저장소 오세아니아 지역에 저장되어 당사의 주요 Hetzner 인프라와 지리적 분리를 제공합니다.
민감한 플랫폼 데이터(비밀, API 키 및 자격 증명 포함)는 전용 비밀 관리 시스템에 저장되며 버전 관리로 체크인된 소스 코드나 구성 파일에 포함되지 않습니다.
4. 네트워크 및 시스템 보안
고객 대면 서비스는 Cloudflare의 웹 애플리케이션 방화벽(WAF) 및 DDoS 완화 기능으로 보호되며, 이는 대용량 공격 및 애플리케이션 계층 공격을 당사 인프라에 도달하기 전에 차단합니다.
고객 호스팅 환경은 네트워크로 분할됩니다. 각 사이트는 격리된 환경에서 실행되며 네트워크 계층에서 다른 고객의 데이터에 접근할 수 없습니다.
운영 체제, 플랫폼 소프트웨어 및 애플리케이션 종속성은 정기적인 일정에 따라 패치됩니다. 중요 보안 패치는 출시 후 24~72시간 내에 적용됩니다. 인터넷 연결 인프라는 알려진 취약점에 대해 정기적으로 스캔됩니다.
방화벽 규칙은 인바운드 접근을 필요한 최소 포트 및 서비스로 제한합니다. 불필요한 서비스는 기본적으로 비활성화됩니다.
정기적인 침투 테스트는 독립적인 공인 테스터에 의해 수행됩니다. 중요한 발견 사항은 해결되고 재테스트됩니다.
5. 로깅, 모니터링 및 사건 대응
접근 이벤트, 구성 변경, 인증 시도 및 보안 관련 시스템 이벤트는 중앙화된 로깅 시스템에 기록됩니다. 로그는 최소 90일 동안 보관됩니다.
플랫폼 상태 및 보안 신호는 24시간 7일 모니터링됩니다. 알림은 즉시 조사를 위해 당직 담당자에게 전달됩니다.
당사는 정의된 심각도 수준, 에스컬레이션 경로 및 통신 절차가 포함된 문서화된 사건 대응 계획을 유지하고 있습니다. 해당 계획은 최소 1년에 1회 이상 검토 및 테스트됩니다.
고객 개인정보에 영향을 미치는 확인된 통지 가능한 개인정보보호 침해 발생 시, 당사는 Privacy Act 2020 및 데이터 처리 계약에서 요구하는 대로 인지 후 72시간 이내에 영향을 받는 고객에게 알릴 것입니다.
Sentry는 플랫폼 스택 전반에 걸쳐 실시간 오류 추적 및 애플리케이션 성능 모니터링을 위해 사용됩니다.
6. 백업 및 재해복구
고객 사이트 파일, 데이터베이스 및 이메일 데이터는 restic을 사용하여 매일 Cloudflare R2(오세아니아 지역)로 백업됩니다. 백업은 AES-256으로 암호화되어 저장됩니다.
백업 보관 기간은 모든 유료 플랜에서 최소 30일입니다. 상위 플랜에는 추가 주간 및 월간 스냅샷이 포함됩니다. 플랜별 보관 기간 세부사항은 서비스 수준 계약을 참조하십시오.
복원 절차는 당사의 내부 런북에 기록되어 있으며 정기적으로 테스트됩니다. 플랫폼 팀은 백업 무결성을 검증하기 위해 복원 훈련을 수행합니다.
Kapsule Cloud 플랫폼 코드베이스(구성 및 프로비저닝 스크립트 포함)는 매일 kapsulenz 조직의 개인 GitHub 저장소로 백업되어 플랫폼 자체에 대한 독립적인 복구 경로를 제공합니다.
각 인프라 구성 요소(호스팅 서버, 메일 서버, 포털)에 대한 재해복구 절차는 구성 요소 및 데이터 크기에 따라 2~4시간의 목표 복구 시간으로 기록됩니다.
7. 인원 및 하위 프로세서
고객 데이터에 접근할 수 있는 모든 인원은 계약 또는 법률에 의해 비밀유지 의무로 구속됩니다.
당사는 모든 하위 프로세서와 서면 데이터 처리 계약을 유지합니다. 이러한 계약은 하위 프로세서가 당사의 데이터 처리 계약의 것과 동등하거나 더 강력한 보호를 이행하도록 요구하며, 여기에는 비밀유지, 보안 및 제한된 목적 처리 의무가 포함됩니다.
당사의 하위 프로세서 목록은 지속적인 적합성을 위해 최소 연 1회 검토됩니다. 하위 프로세서는 계약 체결 전에 당사의 최소 보안 요구사항에 대해 평가됩니다.
현재 하위 프로세서 목록은 kapsulecloud.com/legal/sub-processors에 공개되어 있습니다.
8. 물리적 보안
운영 서버는 독일의 Hetzner 데이터 센터에서 운영됩니다. Hetzner의 시설은 Tier III 이상의 등급으로 다음을 제공합니다: 진입 지점에서의 다중 인증을 포함한 통제된 물리적 접근; 24시간 상주 보안 인원; 중복 전원(UPS 및 디젤 발전기); 중복 냉각 시스템; 화재 감지 및 진압 시스템.
서버 하드웨어에 대한 물리적 접근은 Hetzner의 승인된 인원으로만 제한됩니다. Kapsule Cloud 인원은 운영 하드웨어에 대한 일상적 물리적 접근 권한이 없으며, 모든 관리 접근은 암호화된 채널을 통해 원격으로 수행됩니다.
폐기 대상 저장 매체는 Hetzner 데이터 센터 절차에 따라 재사용 또는 폐기 전에 안전하게 삭제되거나 파기됩니다.
9. 애플리케이션 보안
당사는 안전한 소프트웨어 개발 생명주기를 따릅니다. 모든 프로덕션 코드 변경사항은 배포 전에 필수적인 동료 코드 검토가 필요합니다. 자동화된 종속성 스캐닝은 모든 빌드마다 실행되어 써드파티 패키지의 알려진 취약점을 식별합니다.
비밀정보는 전용 비밀정보 관리 시스템을 사용하여 관리됩니다. 자격증명, API 키 또는 민감한 구성 값은 소스 코드 저장소에 커밋되지 않습니다.
출시 전 테스트에는 기능, 회귀 및 보안 중심 테스트 실행이 포함됩니다. 인증, 결제 또는 데이터 처리 흐름의 변경사항은 추가적인 검토를 받습니다.
고객 대면 입력은 모든 애플리케이션 경계에서 검증되고 새니타이제이션됩니다. 당사는 SQL 주입, 크로스 사이트 스크립팅 및 크로스 사이트 요청 위조를 포함한 OWASP Top 10 위험에 대한 표준 방어를 적용합니다.
KPanel 인증: 비밀번호는 Argon2id로 해싱됩니다(메모리 집약적, GPU 크래킹에 강함). 새 비밀번호는 k-익명성 접두사 조회를 통해 Have I Been Pwned 데이터베이스에 대해 확인됩니다. 로그인은 TOTP 기반 2단계 인증, SMS 일회용 코드 및 하드웨어 패스키(WebAuthn/FIDO2)를 지원합니다. OAuth 로그인은 Google, GitHub 및 Apple Sign In을 통해 지원되며, 각각 제공자의 JWKS 엔드포인트에 대해 검증됩니다. 매직 링크 이메일 로그인은 주소당 시간당 3개 요청으로 속도 제한되며 복구 방법으로 사용 가능합니다. 세션 토큰은 암호학적으로 무작위이며, 데이터베이스에 해싱된 상태로 저장되고, 30일의 비활성 후에 만료됩니다.
10. 데이터 분리 및 삭제
고객 데이터는 호스팅, 데이터베이스 및 애플리케이션 계층에서 논리적으로 분리됩니다. 각 고객의 파일, 데이터베이스 및 이메일 계정은 고객 간 액세스가 없도록 별도의 시스템 계정으로 격리됩니다.
고객이 서비스를 종료할 때, 고객 개인정보는 30일 동안 내보내기가 가능하며, 그 후 라이브 시스템에서 영구적으로 삭제됩니다. 암호화된 백업 사본은 라이브 시스템에서 삭제된 후 30일 이내에 다음 예약된 백업 순환 주기에서 제거됩니다.
문서화된 데이터 삭제 절차는 주요 데이터스토어뿐 아니라 라이브 데이터베이스, 캐시 및 애플리케이션 스토리지를 포함한 모든 관련 시스템에서 데이터가 제거되도록 보장합니다.
데이터 주체 요청(액세스, 수정, 삭제)을 처리하기 위한 절차는 문서화되어 있으며 테스트되었습니다. KPanel 내보내기 도구는 고객이 서비스 기간 동안 언제든지 자신의 데이터를 검색할 수 있도록 합니다.
질문 및 신고
당사의 보안 관행에 관한 질문이 있거나 의심되는 취약점을 신고하고자 하시는 경우, [email protected]으로 문의하시기 바랍니다.
Kapsule Group Limited, Christchurch, New Zealand.