← 목록으로

ZTNA란?

ZTNA란?

서론

회사 내부 시스템에 접속할 때 우리는 보통 VPN을 떠올립니다.
하지만 최근 보안 트렌드에서는 "VPN만으로는 부족하다"는 얘기가 많이 나옵니다.
그 배경에 있는 개념이 바로 제로 트러스트(Zero Trust), 그리고 이를 네트워크 접속에 적용한 ZTNA(Zero Trust Network Access) 입니다.

이 글에서는 보안을 처음 접하는 개발자도 이해할 수 있도록,
전통적인 VPN 방식과 비교하면서 ZTNA의 개념을 정리해 보겠습니다.

1. ZTNA란 무엇인가?

1.1 개념 한 줄 정리

ZTNA(Zero Trust Network Access)
"네트워크 안에 있다고 해서 믿지 말고,
매 요청마다 사용자와 기기를 검증한 뒤 필요한 서비스에만 최소 권한으로 접근시키자"

라는 철학을 구현한 접근 제어 방식입니다.

조금 더 풀어서 말하면:

  • 예전: "VPN으로 사내망에만 들어오면, 내부 시스템은 다 믿는 분위기"
  • ZTNA: "사내망/외부망 구분보다, 누가/어디서/어떤 기기로/어떤 서비스에 접근하는지를 기준으로 매번 검증"

1.2 전통적인 VPN과의 차이

  • VPN:
    • 한 번 접속하면 사내망 전체에 거의 자유롭게 접근 가능
    • "네트워크 안에 들어왔으니 어느 정도는 믿자"는 모델
  • ZTNA:
    • 접속 후에도 각 서비스/애플리케이션 단위로 접근 허용 여부를 다시 판단
    • 사용자/기기/위치/시간대 등 여러 신호를 기반으로 지속적으로 검증

2. 제로 트러스트의 기본 원칙

ZTNA를 이해하려면 제로 트러스트의 몇 가지 핵심 원칙을 알아두면 좋습니다.

2.1 절대 신뢰 금지(Trust Nobody)

  • 네트워크 내부라고 해서 자동으로 신뢰하지 않음
  • 모든 접근은 "의심"에서 시작 → 검증 후 필요한 만큼만 허용

2.2 최소 권한 원칙(Least Privilege)

  • 사용자는 업무에 필요한 서비스/리소스에만 접근
  • "혹시 필요할지도"라는 이유로 과도한 권한을 주지 않음

2.3 지속적인 검증(Continuous Verification)

  • 로그인 시점에만 검증하고 끝이 아니라,
  • 접속 중에도 상태/위험도 변화에 따라 세션을 재평가

예를 들어:

  • 갑자기 다른 나라 IP에서 접속이 시도되면?
  • 디바이스가 오래된 OS/보안 패치를 사용 중이면?

이런 상황에서 ZTNA는:

  • 추가 인증을 요구하거나
  • 접근을 차단/제한할 수 있습니다.

3. ZTNA가 동작하는 방식 (개념적)

구현 방식은 벤더마다 조금씩 다르지만, 개념적인 흐름은 대략 이렇습니다.

  1. 사용자가 회사 서비스에 접근을 시도
  2. ZTNA 게이트웨이/프록시가 요청을 가로챔
  3. 사용자/기기/위치/네트워크 상태 등을 기반으로 정책 엔진이 평가
  4. 허용되면 특정 서비스에 대한 세션만 열어줌
  5. 세션 중에도 위험도 변화가 감지되면 접근을 축소/차단

중요한 점:

  • 사용자는 더 이상 "사내망 전체"가 아니라,
  • 정말 필요한 애플리케이션 단위로만 접근 권한을 얻습니다.

4. 개발자가 알아두면 좋은 포인트

4.1 ZTNA 환경에서의 내부 서비스 설계

ZTNA가 적용된 환경에서는:

  • 내부 서비스도 "외부에서 접근하는 것처럼" 취급되는 경우가 많습니다.
  • 즉, 모든 요청이 인증/인가 레이어를 거치도록 설계하는 것이 자연스러운 방향입니다.

예:

  • 내부용 대시보드라도 JWT/OIDC 기반 인증을 붙이기
  • 서비스 간 통신에도 mTLS, 서비스 계정 등을 활용하기

4.2 IP 기반 신뢰에서 벗어나기

과거에는 "이 IP 대역에서 오는 요청은 내부이니 믿자"는 식의 설계가 많았습니다.

ZTNA/제로 트러스트 환경에서는:

  • IP보다는 사용자/디바이스/토큰/클레임 등을 기준으로 권한을 판단하는 쪽이 어울립니다.

5. 언제 ZTNA가 특히 유용할까?

5.1 재택/하이브리드 근무가 많은 조직

  • 사람들이 집, 카페, 해외 등 다양한 곳에서 접속
  • 전통적인 VPN 하나로는 보안/사용성 모두 만족시키기 어려움
  • ZTNA는 위치에 상관없이, 사용자/기기 상태를 기준으로 접근을 제어할 수 있습니다.

5.2 SaaS와 내부 시스템이 섞여 있는 환경

  • 일부 서비스는 클라우드(SaaS), 일부는 온프레미스
  • ZTNA를 중앙 게이트처럼 두고:
    • 어떤 사용자가
    • 어떤 조건에서
    • 어떤 애플리케이션에 접근 가능한지
    • 한 곳에서 정책으로 관리할 수 있습니다.

마무리

이 글에서는 ZTNA를 "VPN 이후 세대를 위한 접근 제어 방식" 정도로 이해해 보았습니다.

정리하면:

  • ZTNA는 제로 트러스트 철학을 네트워크 접근에 적용한 것
  • "사내망 안에 있으면 신뢰"가 아니라,
    "매 요청마다 사용자/기기를 검증하고, 최소 권한만 부여" 하는 모델

앞으로 서비스 아키텍처를 설계할 때,

  • "이 서비스는 제로 트러스트/ZTNA 환경에서도 잘 어울릴까?"
    라는 질문을 한 번씩 떠올려 보면,
    보안과 확장성을 함께 고려하는 설계를 하는 데 큰 도움이 될 것입니다.