새발블로그

[견고한 데이터 엔지니어링] CH10 보안과 개인정보보호 본문

Data Engineering/BOOK

[견고한 데이터 엔지니어링] CH10 보안과 개인정보보호

EUG 2026. 2. 8. 15:29

 

1) 사람(People)

1-1. 부정적인 사고의 힘

  • 부정적인 사고는 재앙적 시나리오를 먼저 고려하게 하고, 예방 행동을 유도한다.
  • 핵심 실천: 다운스트림에서 실제로 필요한 경우에만 민감한 데이터 수집

→ “일단 다 모으자”가 사고의 시작.

1-2. 항상 편집증적인 자세 유지

  • 항상 주의를 기울인다.
  • 특히 자격 증명(credential)을 요청받을 때는 의심부터 한다.

→ “왜 지금 이걸 요청하지?”를 자동으로 떠올리는 습관.

2) 프로세스(Process)

2-1. 보여주기식 보안 vs 습관화된 보안

  • 기업 고객은 대개 규정준수(내부 규정, 법률, 표준 기관 권고사항)를 요구한다.
  • 하지만 진짜 강한 보안은 “체크리스트”가 아니라 습관화다.
  • 보안은 간단하고 효과적이어야 습관이 된다.
    • 예: 한 달에 1번 이상 보안 교육 + 정책 검토 같은 루틴

2-2. 능동 보안(Active Security)

  • 능동 보안 = 변화하는 세상에서 보안 위협을 계속 연구/학습하는 태도
    • 성공적인 피싱 공격 사례 분석
    • 보안 취약점 파악
  • “표준 규정 체크리스트 채택”만으로는 부족
  • → 조직 내부의 취약성, 개인정보 유출, 오용 인센티브까지 같이 봐야 함

2-3. 최소 권한 원칙(Principle of Least Privilege)

  • 개인/시스템에 작업 완료에 필요한 권한·데이터만 부여
  • 필요할 때 해당 IAM 역할 제공하고, 필요 없으면 제거
  • 열/행/셀 단위 접근 제어 구현

2-4. 클라우드에서의 책임 공유(Shared Responsibility)

  • 클라우드 제공자는 데이터센터/하드웨어 같은 물리적 보안을 책임진다.
  • 그러나 보안 침해의 많은 원인은:
    • 의도하지 않은 잘못된 구성
    • 실수, 감독 소홀, 부주의
    • → 즉 “내가 만든 설정”이 사고의 핵심일 때가 많다.

2-5. 항상 데이터를 백업하라

  • 정기적으로 데이터 백업
  • 복원 테스트까지 해야 의미가 있다.
  • 재해 방지(Disaster Recovery) 범주에 포함되는 기본기

2-6. 보안 정책 예시

(1) 자격증명 보호

  • 모든 작업에 통합 인증 사용, 가능하면 비밀번호 대신 SSO 기본
  • SSO + 다단계 인증(MFA) 사용
  • 비밀번호/자격 증명 공유 금지(클라이언트 비밀번호/자격 증명 포함)
  • 피싱/사기전화 주의, 비밀번호 절대 알려주지 않기
  • 이전 자격 증명 비활성화/삭제
  • 자격 증명을 코드에 포함하지 않기
  • 최소 권한 원칙 실천

(2) 장치 보호

  • 모든 장치에 장치 관리 사용
  • 모든 장치에 MFA 사용
  • 회사 이메일 자격 증명으로 장치 로그인
  • 자격 증명/행동 정책을 장치에도 동일 적용
  • 장치는 “본인의 연장선”
  • 화면 공유 시 공유 대상 명확히(문서/탭/창 단위만)
  • 영상 통화 시 방해금지 모드 사용

(3) 소프트웨어 갱신 정책

  • 갱신 알림 뜨면 웹 브라우저 재시작
  • 마이너 OS 갱신 실행
  • 중요 OS 식별 및 안내 제공
  • 베타 OS 사용하지 않음
  • 새 메이저 OS 릴리즈 직후가 아니라 안정화될 때까지 기다림

3) 기술(Technology)

3-1. 패치와 시스템 갱신

  • 소프트웨어 보안 취약점은 계속 발견된다.
  • 운영체제/소프트웨어를 항상 패치해야 한다.

3-2. 암호화(Encryption)

  • 주의: 자격 증명 탈취 같은 “인적 보안 침해”가 발생하면 암호화가 만능은 아니다.
  • 하지만 암호화는 네트워크 트래픽 가로채기 같은 기본 공격을 막는다.

(1) 미사용(At rest) 암호화

  • 저장 장치가 유휴 상태일 때 암호화 여부 확인
  • 전체 디스크 암호화 활성화
  • 서버측 암호화도 포함

(2) 이동 중(In transit) 암호화

  • HTTPS 필요
  • FTP는 공용 네트워크에서 안전하지 않음(중간자 공격 취약)
  • 레거시 프로토콜을 쓰더라도 “전송 구간 암호화”가 되는지 확인

3-3. 로깅, 모니터링, 알람

보안에서 “기록/탐지/대응”은 필수.

  • 접근: 누가 언제, 어디서, 무엇에 접근했는지
    • 새로운 접근권한 부여 같은 이벤트
  • 리소스: 디스크/CPU/메모리/I/O 패턴 이상 징후 탐지
  • 청구: SaaS/클라우드 관리형 서비스 비용 감독
  • 초과권한: 사용하지 않는 권한 모니터링 → 제거해서 보안 허점 차단

3-4. 네트워크 접근

  • 데이터 엔지니어는 DB/객체 스토리지/서버를 자주 다루므로 네트워크 보안 관행 준수 필요
  • 항상 답할 수 있어야 하는 질문:
    • 어떤 IP와 포트가
    • 누구에게
    • 왜 개방되었는가
  • 접근 시스템 측면:
    • 사용자 수신 IP 허용(allowlist) 같은 통제
  • 클라우드 특성:
    • 제로 트러스트 보안에 가까운 방향성

3-5. 로우 레벨 데이터 엔지니어링 관점

  • 보안은 상위 레이어만이 아니라,
    • 소프트웨어 라이브러리
    • 스토리지 시스템
    • 컴퓨팅 노드
    • 로깅 라이브러리
    • CPU 아키텍처/마이크로코드
    • 메모리, CPI 등
    • 아주 하단까지 영향을 받는다.
  • 내부 보안 연구(능동 보안 접근)를 채택하는 이유도 여기에 있다.