아키텍처
경고 DoveRunner Mobile App Security 팀은 온프레미스 아키텍처를 재설계하고 있으며, 이 문서는 최신 상태가 아닙니다.
DoveRunner Mobile App Security 온프레미스 솔루션은 여러 핵심 구성 요소로 이루어진 마이크로서비스 아키텍처를 사용합니다. 모든 구성 요소는 Kubernetes 클러스터에서 컨테이너화되어 실행됩니다.
핵심 구성 요소
Section titled “핵심 구성 요소”1. 개발자 콘솔 (ADC - App Developer Console)
Section titled “1. 개발자 콘솔 (ADC - App Developer Console)”- 역할: 웹 기반 관리 인터페이스
- 기능:
- 프로젝트 관리
- 보안 설정 구성
- 대시보드 및 분석
- 사용자 관리
2. API 서버
Section titled “2. API 서버”- 역할: RESTful API 서비스 제공
- 기능:
- 인증 및 권한 관리
- 프로젝트 데이터 관리
- 실링 작업 처리
- 외부 시스템 통합
3. 실링 서버 (Sealing Server)
Section titled “3. 실링 서버 (Sealing Server)”- 역할: 모바일 애플리케이션 보호 엔진
- 기능:
- APK/IPA 파일 보안 처리
- 코드 난독화
- 암호화 적용
- 보안 검증
4. 로그 스케줄러 (Log Scheduler)
Section titled “4. 로그 스케줄러 (Log Scheduler)”- 역할: 런타임 보호 보고서 수집 및 처리
- 기능:
- 실시간 위협 데이터 수집
- 로그 데이터 정규화
- ElasticSearch로 데이터 전송
- 알림 처리
5. 데이터 스케줄러 (Data Schedulers)
Section titled “5. 데이터 스케줄러 (Data Schedulers)”- 역할: 분석 및 사용량 보고서 생성
- 기능:
- 통계 데이터 생성
- 월간/일간 보고서 작성
- 데이터 집계 및 요약
- 대시보드 데이터 제공
외부 의존성
Section titled “외부 의존성”MySQL 데이터베이스
Section titled “MySQL 데이터베이스”- 버전: 5.6.10 이상
- 용도:
- 사용자 계정 정보
- 프로젝트 설정
- 시스템 구성 데이터
- 구성: 마스터-슬레이브 복제 권장
ElasticSearch
Section titled “ElasticSearch”- 버전: 7.8.1 이상
- 용도:
- 로그 저장 및 검색
- 분석 데이터 처리
- 실시간 대시보드 지원
- 구성: 클러스터 모드 권장
영구 스토리지
Section titled “영구 스토리지”- 용도:
- 파일 저장 (APK/IPA)
- 백업 데이터
- 설정 파일
- 요구사항: ReadWriteMany 액세스 모드 지원
네트워크 아키텍처
Section titled “네트워크 아키텍처”내부 네트워크
Section titled “내부 네트워크”- 서비스 간 통신: Kubernetes 내부 DNS
- 포트 구성: 서비스별 전용 포트
- 보안: TLS 암호화 통신
외부 액세스
Section titled “외부 액세스”- 로드 밸런서: Ingress 컨트롤러 사용
- SSL/TLS: Let’s Encrypt 또는 자체 인증서
- 방화벽: 필요한 포트만 개방
데이터 흐름
Section titled “데이터 흐름”1. 애플리케이션 실링 프로세스
Section titled “1. 애플리케이션 실링 프로세스”클라이언트 요청 → API 서버 → 실링 서버 → 결과 반환
2. 런타임 로그 처리
Section titled “2. 런타임 로그 처리”모바일 앱 → 로그 수집기 → 로그 스케줄러 → ElasticSearch → 대시보드
3. 사용자 인터페이스
Section titled “3. 사용자 인터페이스”웹 브라우저 → 로드 밸런서 → ADC 서버 → API 서버 → 데이터베이스
확장성 고려사항
Section titled “확장성 고려사항”- 마이크로서비스: 각 구성 요소 독립적 확장
- 로드 밸런싱: 자동 트래픽 분산
- 자동 스케일링: Kubernetes HPA 사용
- 다중 노드: 최소 3노드 클러스터
- 데이터베이스 복제: 마스터-슬레이브 구성
- 백업 및 복구: 자동화된 백업 프로세스
보안 아키텍처
Section titled “보안 아키텍처”인증 및 권한
Section titled “인증 및 권한”- JWT 토큰: API 인증
- 역할 기반 액세스: RBAC 구현
- 다중 인증: 2FA 지원
데이터 보안
Section titled “데이터 보안”- 전송 중 암호화: TLS 1.3
- 저장 시 암호화: AES-256
- 키 관리: Kubernetes Secrets
네트워크 보안
Section titled “네트워크 보안”- 네트워크 정책: Pod 간 통신 제한
- 서비스 메시: Istio 또는 Linkerd 옵션
- 모니터링: 실시간 보안 감시
모니터링 및 로깅
Section titled “모니터링 및 로깅”시스템 모니터링
Section titled “시스템 모니터링”- 메트릭 수집: Prometheus
- 시각화: Grafana 대시보드
- 알림: AlertManager
애플리케이션 로깅
Section titled “애플리케이션 로깅”- 로그 수집: Fluentd 또는 Filebeat
- 중앙 집중식 로깅: ELK 스택
- 로그 분석: 실시간 분석 및 알림
이 아키텍처는 엔터프라이즈 요구사항을 충족하도록 설계되었으며, 확장성, 가용성, 보안을 모두 고려합니다.