Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
Loading...
Searching...
No Matches
SECURITY.kr

autotoc_md2308

doc_id: "LOG-SECU-002" doc_title: "보안 가이드" doc_version: "1.0.0" doc_date: "2026-04-04" doc_status: "Released" project: "logger_system"

category: "SECU"

Language: English | 한국어

보안 가이드

SSOT: This document is the single source of truth for 보안 가이드.

이 문서는 logger_system의 현재 보안 상태를 설명하고 안전한 배포를 위한 지침을 제공합니다.

위협 모델 (범위)

  • 민감한 데이터가 실수로 로그에 입력될 수 있습니다 (PII, 자격 증명, API 키).
  • 로그는 공유 디스크에 저장되거나 네트워크를 통해 중앙 수집기로 전송될 수 있습니다.
  • 공격자는 적절히 보호되지 않은 경우 로그를 읽거나 변조하거나 재생할 수 있습니다.

현재 기능

  • 살균화: log_sanitizersanitizing_filter는 일반적인 민감 패턴(신용카드, SSN, 이메일, IP, API 키, 비밀번호)을 편집하고 사용자 정의 규칙을 지원할 수 있습니다.
  • 접근 제어 필터: 파일 패턴, 사용자 컨텍스트 및 로그 레벨을 기반으로 로깅을 제한합니다.
  • 암호화 작성기 (데모): encrypted_writer는 모든 작성기를 래핑하고 간단한 XOR 기반 변환을 적용합니다.

중요한 제한사항

  • 포함된 encrypted_writer는 데모용일 뿐이며 암호학적으로 안전하지 않습니다. 프로덕션에서 사용하지 마십시오.
  • network_writer/log_server에 대한 내장 TLS가 없습니다. 트래픽은 기본적으로 평문입니다.
  • log_server에 대한 인증/권한 부여가 구현되지 않았습니다.

권장사항 (프로덕션)

  1. 살균화 우선
    • 로깅 파이프라인 초기에 log_sanitizer를 활성화하거나 sanitizing_filter를 래핑하세요.
    • 조직별 규칙(예: JWT, 내부 토큰, 티켓 번호)을 추가하세요.
  2. 저장 데이터 암호화
    • 검증된 암호화 라이브러리(예: OpenSSL, libsodium)를 기반으로 한 안전한 솔루션으로 encrypted_writer를 교체하세요.
    • 인증 암호화(AES-GCM 또는 ChaCha20-Poly1305)를 사용하세요.
    • 키를 주기적으로 교체하고 안전한 볼트(OS keychain, KMS, HSM)에 저장하세요. 키를 커밋하지 마세요.
  3. 전송 중 데이터 암호화
    • 안전한 전송(mTLS, 프록시의 TLS 종료 또는 TLS를 사용하는 syslog/OTLP 내보내기)을 통해 로그를 전송하는 것을 선호하세요.
    • network_writer를 확장하는 경우 TLS 지원 및 가능한 경우 인증서 피닝을 추가하세요.
  4. 서버 강화
    • TLS 및 인증이 있는 리버스 프록시 뒤에 log_server를 배치하거나 서버에 인증/권한 부여를 내장하세요.
    • 속도 제한 및 입력 유효성 검사; 잘못된 프레임 삭제.
    • 파일 시스템 및 네트워크 권한에 대해 최소 권한을 적용하세요.
  5. 데이터 보존 및 규정 준수
    • 보존 기간을 정의하세요; 일정에 따라 로그를 교체하고 삭제하세요.
    • 가능한 경우 PII를 익명화하거나 가명화하세요.
    • 해당 규정(예: GDPR, HIPAA) 준수를 보장하세요.
  6. 관측성
    • logger_metrics를 사용하여 삭제율, 큐 사용률 및 작성기 실패를 모니터링하세요.
    • 오류 수준 로그 또는 살균화 히트의 비정상적인 급증에 대한 경고를 설정하세요.

안전한 구성 체크리스트

  • 살균화 규칙이 활성화되고 사용자 정의됨.
  • 로그 메시지 또는 형식에 비밀 또는 자격 증명이 없음.
  • 모든 원격 로그 전송에 대한 전송 암호화(TLS/mTLS).
  • 민감한 로그에 대한 저장 데이터 암호화, 인증 암호화 사용.
  • 키가 안전한 볼트에 저장됨; 교체 정책이 정의됨.
  • 민감한 소스 및 사용자에 대한 접근 제어 정책이 정의됨.
  • 보존 및 교체가 구성됨; 이전 로그가 안전하게 삭제됨.
  • 서버가 TLS/인증 및 속도 제한 뒤에 있음.

로드맵

  • network_writer/log_server에 대한 선택적 TLS 지원.
  • 저장 데이터 암호화를 위한 플러그형 암호화 제공자 인터페이스.
  • 정책 기반 살균화 구성(YAML/JSON).

Last Updated: 2025-10-20