보안 체크리스트
VoicePing은 정보 보안에 관한 상세한 체크리스트를 공개하고 있습니다. VoicePing 보안 시트.pdf| 종별 | 평가 항목 | 내용 | 대응 상황 |
|---|---|---|---|
| 보안 | 공적 인증 취득 현황 | ISMS, P마크 등 취득 | ISMS 취득 예정 (준비 중) |
| 보안 | 제3자 평가 | 부정 침입, 조작, 데이터 취득 등에 대한 대책 평가 | - |
| 보안 | 정보 취급 환경 | 이용자 데이터 접근 제한 | AWS 보안 그룹을 통해 특정 IP 주소로 제한 |
| 보안 | 통신 암호화 수준 | 통신 암호화 강도 | TLS 1.3만 사용 |
| 보안 | 바이러스 대책 | 바이러스 스캔 | AWS GuardDuty를 통한 상시 부정 행위 감지 |
| 데이터 보호 | 백업 데이터 | 암호화, 보관 장소 | AWS 도쿄 리전 |
| 데이터 보호 | 기업 간 데이터 분리 | 기업 간 정보 격리 | 데이터베이스를 통한 논리적 격리 |
데이터 보호
통신 암호화
- 애플리케이션 및 영상/음성 데이터는 TLS 1.3만 사용
- HTTPS 통신 강제 (AWS ELB에서 설정)
백업
- 실시 주기: AWS Database를 통해 1개월 단위 백업
- 보관 기간: 서버 접근 로그는 S3에 영구 저장
- BCP 대책: AWS Database에서 멀티 리전으로 클라우드에 원격 저장
데이터 접근 제한
- 데이터베이스 및 서버 접근은 AWS 보안 그룹을 통해 특정 IP 주소로 제한
- 기업 간 데이터는 데이터베이스를 통한 논리적 격리
가용성
가동률
- 서비스 이용 시간: 원칙적으로 24시간 365일
- SLA: 99.9% 이상
- 실적: 99.99% 이상 (서비스 운용 이래 수십 분 이상의 서버 다운 등 발생 없음)
장애 시 대응
- 소스 코드 차분 백업, DB 백업이 있어 24시간 언제든 즉시 롤백(복구) 가능
- 모든 서버 프로세스 및 시스템 상태는 AWS CloudWatch 또는 자체 알림 시스템으로 전체 상태 가시화
- 만약 다운이 발생할 경우 알림 통지
계획 정지
- 매주 금요일 21:00경을 업데이트 시간으로 정하고 있으며, 몇 초 정도 접속이 끊길 수 있음
- 영업 시간 중 업데이트가 필요한 경우 이메일 또는 텍스트 채팅 지원(Intercom)을 통한 실시간 통지
지원 체계
장애 발생 시 통지
- 연락 방법: 이메일 및 앱 내 텍스트 채팅 서비스(Intercom)를 통해 통지
긴급 연락처
- 텍스트 채팅 서비스(Intercom) 또는 문의 양식을 통해 대응
- 영업 시간 9:00~18:00 중 통상 5분 이내 답변
사용자 관리
계정 관리
- 1 사용자 1 계정
- 퇴사, 이동 시 삭제 관리는 사용자 측에서 물리적 삭제 가능
비밀번호 관리
- 사용자 측에서 변경 가능
- 이메일 토큰을 통한 2단계 인증도 탑재
웹 애플리케이션 보안
VoicePing은 다음과 같은 보안 대책을 실시하고 있습니다.SQL 인젝션 대책
- 백엔드에서 미들웨어 ORM으로 DB 조작 실시
- SQL문 조립은 모두 플레이스홀더로 구현
- 데이터베이스 계정에 적절한 권한 부여 (READ, WRITE가 필요한 권한 계정 생성)
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단계 이메일 토큰 인증 이용 가능
- 인증 기능에 더해 인가 제어 처리를 구현하여 로그인 중인 이용자가 다른 사람으로 가장하여 접근할 수 없도록 대책
