> ## Documentation Index
> Fetch the complete documentation index at: https://manual.voiceping.net/llms.txt
> Use this file to discover all available pages before exploring further.

# 보안

> VoicePing의 보안, 데이터 보호, 가용성 및 접근 제어

export const ContactKo = () => <>
    <Tip>
      궁금한 점이 있으면 <a href="https://forms.gle/6AUho7oj3zBr79e96">문의 양식</a>을 작성해 주세요.
    </Tip>

    <h2>공식 링크</h2>

    <CardGroup cols={2}>
      <Card title="공식 웹사이트" icon="globe" href="https://voiceping.net/en/">
        VoicePing 공식 웹사이트 열기
      </Card>
      <Card title="X (Twitter)" icon="x-twitter" href="https://x.com/VoicePingMedia">
        X에서 VoicePing 팔로우하기
      </Card>
      <Card title="Facebook" icon="facebook" href="https://www.facebook.com/voiceping.inc">
        Facebook 페이지 열기
      </Card>
      <Card title="LinkedIn" icon="linkedin" href="https://www.linkedin.com/company/28684130/">
        LinkedIn 페이지 열기
      </Card>
    </CardGroup>
  </>;

정보 시스템 부서 및 보안 감사 담당자를 위해 VoicePing의 보안 대책에 대해 설명합니다.

## 보안 체크리스트

VoicePing의 보안 조치와 운영 현황은 다음과 같습니다.

| 구분     | 평가 항목       | 내용                            | 조치 현황                                                                                              |
| ------ | ----------- | ----------------------------- | -------------------------------------------------------------------------------------------------- |
| 보안     | 공적 인증 취득 현황 | ISMS 등 정보 보안 인증               | ISO/IEC 27001:2022 / JIS Q 27001:2023 인증 취득(인증 번호 IS 820960, BSI 발급, 유효 기간 2025-04-25\~2028-04-24) |
| 보안     | 제3자 평가      | 부정 침입, 조작, 데이터 취득 등에 대한 대책 평가 | BSI 정기 사후 심사                                                                                       |
| 보안     | 정보 취급 환경    | 이용자 데이터 접근 제한                 | AWS 보안 그룹을 통해 특정 IP 주소로 제한                                                                         |
| 보안     | 통신 암호화 수준   | 통신 암호화 강도                     | TLS 1.3만 사용                                                                                        |
| 보안     | 위협 탐지       | AWS 환경의 의심스러운 활동 탐지           | Amazon GuardDuty를 통한 지속적인 위협 탐지                                                                    |
| 데이터 보호 | 백업 데이터      | 암호화, 보관 장소                    | AWS 도쿄 리전                                                                                          |
| 데이터 보호 | 기업 간 데이터 분리 | 기업 간 정보 격리                    | 데이터베이스를 통한 논리적 격리                                                                                  |

## 데이터 보호

### 통신 암호화

* 애플리케이션과 영상·음성 데이터 통신에는 TLS 1.3을 사용합니다.
* AWS ELB에서 HTTPS 통신을 강제합니다.

### 백업

* 실시 주기: 데이터베이스를 매월 백업
* 로그 보관: 서버 접근 로그는 보안 모니터링과 사고 조사를 위해 S3에 저장합니다. 애플리케이션 로그에는 이름, 이메일 주소, 음성 인식 내용과 같은 직접적인 개인정보가 기록되지 않도록 설계되어 있습니다. IP 주소처럼 개인과 연결될 수 있는 식별자가 포함된 경우 유효한 삭제 요청을 받은 날부터 30일 이내에 삭제하거나 복원할 수 없도록 익명화합니다. 로그는 운영·보안에 필요한 최소 기간만 보관하며 장기 보관하지 않습니다.
* BCP 대책: 백업 데이터를 여러 리전에 원격 보관

### 데이터 접근 제한

* 데이터베이스와 서버 접근은 AWS 보안 그룹을 통해 특정 IP 주소로 제한합니다.
* 고객사별 데이터는 데이터베이스에서 논리적으로 분리합니다.

## 가용성

### 가동률

* 서비스는 원칙적으로 24시간 365일 이용할 수 있습니다.
* SLA는 99.9% 이상입니다.
* 가동률 실적은 99.99% 이상입니다(서비스 운영 이후 수십 분 이상 지속된 서버 중단 없음).

### 장애 시 대응

* 소스 코드 변경 이력과 데이터베이스 백업을 통해 24시간 언제든 롤백(복구)할 수 있습니다.
* AWS CloudWatch 또는 자체 알림 시스템으로 서버 프로세스와 시스템 상태를 모니터링합니다.
* 시스템 중단을 감지하면 알림을 보냅니다.

### 계획 정지

* 매주 금요일 21:00경에 업데이트하며, 몇 초 동안 연결이 끊길 수 있습니다.
* 영업 시간 중 업데이트가 필요하면 이메일 또는 앱 내 채팅(Intercom)으로 실시간 안내합니다.

## 지원 체계

### 장애 발생 시 통지

* 이메일과 앱 내 채팅(Intercom)으로 안내합니다.

### 긴급 연락처

* 앱 내 채팅(Intercom) 또는 [문의 양식](https://forms.gle/6AUho7oj3zBr79e96)으로 문의할 수 있습니다.
* 영업 시간(9:00\~18:00)에는 일반적으로 5분 이내에 답변합니다.

## 사용자 관리

### 계정 관리

* 사용자 1명당 계정 1개
* 퇴사·이동 시 고객이 계정을 삭제할 수 있습니다.

### 비밀번호 관리

* 사용자가 비밀번호를 변경할 수 있습니다.
* 이메일 토큰 방식의 2단계 인증을 지원합니다.

## 웹 애플리케이션 보안

VoicePing은 다음과 같은 보안 대책을 실시하고 있습니다.

### SQL 인젝션 대책

* ORM을 통해 데이터베이스 작업을 수행합니다.
* 모든 SQL 문은 플레이스홀더를 사용해 구성합니다.
* 데이터베이스 계정에는 필요한 읽기·쓰기 권한만 부여합니다.

### OS 커맨드 인젝션 대책

* 셸 실행은 기본적으로 수행하지 않음
* 셸에 가까운 레이어의 로직이 필요한 경우 안전성이 확인된 라이브러리를 통해서만 실행

### 경로명 파라미터/디렉토리 트래버설 대책

* 외부 호스팅 또는 DB에 데이터 저장
* 웹 서버 내 파일에 직접 접근하는 기능 없음
* 예측하기 어려운 무작위 파일명을 사용합니다.

### 세션 관리

* 세션 ID는 예측 불가능하고 충분한 길이의 랜덤 문자열 사용
* 세션 ID는 Cookie 사용 (URL 파라미터에 저장하지 않음)
* HTTPS 통신에 사용하는 Cookie에는 Secure 속성 사용
* 로그인이 필요 없는 페이지와 인증이 필요한 페이지를 분리합니다.

### 크로스 사이트 스크립팅 (XSS) 대책

* 대응하는 프론트엔드 라이브러리 사용
* AWS ELB에서 HTTPS 강제
* HTTP 응답 헤더의 Content-Type 필드에 문자 코드(charset) 지정
* Cookie에 HttpOnly 속성 부여

### CSRF 대책

* 백엔드에서 POST 요청의 접근 권한을 확인합니다.
* Referer 확인
* 중요한 작업을 수행하면 등록된 이메일 주소로 알림을 보냅니다.

### HTTP 헤더 인젝션 대책

* 백엔드 미들웨어에서 헤더 출력용 API 사용

### 클릭재킹 대책

* X-Frame-Options 헤더 필드 출력
* 유효한 세션이 없으면 실행 불가
* 중요한 처리는 마우스만으로 일련의 작업을 실행할 수 없도록 설계

### 버퍼 오버플로우 대책

* Node.js를 사용하여 직접 메모리에 접근 불가
* GitHub에서 종속 라이브러리를 정기적으로 검사하고, 취약점이 발견되면 업데이트 PR을 생성합니다.

### 접근 제어 및 인가 제어

* 매니저 권한에 대해서는 2단계 이메일 토큰 인증 이용 가능
* 인증과 별도로 권한 제어를 적용해 로그인 사용자의 사칭 접근을 방지합니다.

## 시스템 구성도

VoicePing의 시스템 구성 개요입니다. 모든 통신은 HTTPS 또는 암호화된 연결로 보호됩니다.

<Frame>
  <img src="https://mintcdn.com/test-cf63e467/FxKguSaiEW0tBXHP/ja/images/security/system-architecture.png?fit=max&auto=format&n=FxKguSaiEW0tBXHP&q=85&s=f5d2ddecbbfb7eec189f458a5799053c" alt="VoicePing 시스템 구성도" width="2952" height="2007" data-path="ja/images/security/system-architecture.png" />
</Frame>

**사용자 측**

* 데스크톱 앱 (Windows / Mac / Linux)
* 모바일 앱 (iOS / Android)
* 웹 앱 (브라우저 호환)

**CDN 및 호스팅**

* Cloudflare CDN (콘텐츠 전송 네트워크)
* Google Cloud Storage (정적 호스팅)

**VPN 보호 영역 내 서버 구성**

* 로드 밸런서 (AWS)
* 비즈니스 서버 (API 키 인증)
* 음성 번역 및 음성 인식 서버 (온프레미스 지원 가능, API 키 인증)
* 데이터베이스 (Google Cloud SQL / RDB)

**스토리지**

* JSON Storage(S3)를 통한 음성, 음성 인식, 이미지 데이터 저장

**외부 서비스 연동**

* 외부 API / 서드파티 서비스 (API 키 인증)

<ContactKo />
