const-tommy.dev
기록을 불러오는 중입니다
TL;DR — "사내망 안에 있으니 안전하다"는 믿음(경계 모델)은 NAT라는 기술적 우연에서 시작됐다. 하지만 피싱·내부자 위협·클라우드 확산으로 이 믿음이 깨지면서, "위치가 아니라 매 순간을 증명하라"는 제로 트러스트가 등장했다.
"우리 회사는 VPN 켜야 사내 시스템에 접속할 수 있어요." 많은 조직이 여전히 이렇게 답한다. 방화벽 안쪽은 안전하고, 바깥쪽은 위험하다는 이 오래된 믿음이 바로 경계 보안 모델(Perimeter Security Model) 이다. 하지만 이 믿음은 이제 더 이상 유효하지 않다. 왜 우리가 "안쪽에 있어도 믿지 말라"는 제로 트러스트로 넘어가야만 했는지, 그 근원부터 파헤쳐 보자.
경계 보안 모델을 흔히 성과 해자(Castle-and-Moat) 모델이라 부른다.
성벽(방화벽) 하나만 튼튼하면, 성 안(사내망)에 있는 모든 것은 안전하다.
이 가정은 어디서 왔을까? 사실은 아주 실용적인 기술 문제에서 우연히 파생된 개념이다.
인터넷 초창기에는 모든 기기가 전 세계에서 유일한 공인 IP를 하나씩 할당받았다. 하지만 연결되는 기기 수가 폭발적으로 늘면서 한정된 IPv4 주소 공간(약 43억 개)이 금방 고갈될 위기에 처했다.
이를 해결하기 위해 등장한 것이 사설 IP 대역이다.
| 대역 | 범위 |
|---|---|
| Class A | 10.0.0.0 ~ 10.255.255.255 |
| Class B | 172.16.0.0 ~ 172.31.255.255 |
| Class C | 192.168.0.0 ~ 192.168.255.255 |
사설망 안에서는 이 주소를 자유롭게 재사용할 수 있지만, 그 자체로는 외부 인터넷과 통신할 수 없다는 게 문제였다. 이를 해결한 게 NAT(Network Address Translation) 다.
💡 핵심 포인트
NAT 라우터는 내부 → 외부 연결은 허용하지만, 외부 → 내부로 먼저 들어오는 연결은 원칙적으로 막아야 한다. 어느 내부 기기로 돌려줘야 할지 알 수 없기 때문이다.
이 성질이 자연스럽게 "안쪽은 보호받고, 바깥은 위험하다" 는 경계의 원형이 됐고, 조직들은 이 위에 의도적으로 방화벽을 세워 경계 보안 모델을 정교하게 발전시켰다.
경계만 뚫지 못하면 안쪽은 상호 간에 거의 무제한으로 신뢰하며 통신한다. 이 단순함이 오랫동안 경계 모델이 표준으로 자리 잡은 이유였다.
문제는 공격자들이 이 "성벽만 지키면 안전하다"는 가정을 정확히 노리기 시작했다는 것이다.
피싱 메일 하나로 직원의 자격 증명을 탈취하거나, 관리가 소홀한 사내 기기 하나만 감염시키면, 공격자는 성벽을 굳이 부술 필요 없이 이미 성 안에 들어와 있는 것처럼 행동할 수 있다. 한 번 내부에 침투한 공격자가 내부망을 자유롭게 옆으로 이동(Lateral Movement)하며 확산할 수 있다는 것 — 이게 경계 모델의 가장 치명적인 약점이다.
📖 책이 짚는 핵심
"내부망 안에 있다"는 사실 자체가 더 이상 신뢰의 근거가 될 수 없다.
이유는 크게 세 가지다.
제로 트러스트(Zero Trust) 는 이름 그대로 "아무것도 기본적으로 신뢰하지 않는다"는 원칙에서 출발한다. 네트워크상의 위치를 신뢰의 근거로 삼지 않고, 모든 접근 요청을 매번 검증한다는 것이 핵심이다.
📖 책이 정리하는 다섯 가지 원칙
- 네트워크는 항상 적대적인 환경으로 간주한다.
- 네트워크에는 항상 외부와 내부의 위협이 존재한다.
- 네트워크의 위치만으로는 신뢰를 결정하기에 충분하지 않다.
- 모든 기기, 사용자, 네트워크 흐름은 인증되고 인가되어야 한다.
- 정책은 동적이어야 하며, 가능한 한 다양한 데이터 소스로 계산되어야 한다.
즉 "이 요청이 사내망 안에서 왔는가"가 아니라 "이 요청을 보낸 사용자, 이 요청이 실린 기기, 이 요청이 향하는 애플리케이션이 지금 이 순간 신뢰할 만한가" 를 매번 다시 판단하는 것이다.
이 판단을 매번 내리려면 정책을 결정하는 두뇌 역할을 하는 시스템이 필요하다. 책은 이를 컨트롤 플레인(Control Plane) 이라 부른다.
실제 트래픽이 오가는 통로(데이터 플레인)와, 그 통로를 열지 말지 결정하는 두뇌(컨트롤 플레인)를 분리해서 생각하는 것이 제로 트러스트 아키텍처를 이해하는 첫걸음이다.
❓ 그런데 궁금한 점 — "모든 요청을 매번 검증한다"는 게 정말 실현 가능할까? 사람이 매 요청마다 수동으로 확인한다면 업무가 마비될 것이다.
책은 이 지점에서 자동화(Automation) 가 제로 트러스트를 실제로 굴러가게 하는 "감초" 같은 존재라고 강조한다. 기기 상태·사용자 인증 정보·애플리케이션 정책이 실시간으로 자동 수집되고, 그 결과에 따라 접근 허용 여부가 사람 개입 없이 즉시 결정되어야 한다.
| 구분 | 🏰 경계 모델 (Castle-and-Moat) | 🔐 제로 트러스트 모델 |
|---|---|---|
| 신뢰의 근거 | 네트워크 위치 (내부망 여부) | 매 요청에 대한 개별 검증 |
| 검증 시점 | 경계 진입 시 1회 | 모든 접근마다 지속적으로 |
| 내부 통신 | 대체로 자유롭게 신뢰 | 내부에서도 재인증·재인가 필요 |
| 침투 시 파급력 | 한 곳이 뚫리면 전체 위험 | 개별 요청 단위로 통제되어 확산 제한 |
| 원격/클라우드 대응 | 경계 정의 자체가 모호해짐 | 위치와 무관하게 동일한 원칙 적용 |
경계 모델이 흔들리게 된 결정적 계기 중 하나가 바로 클라우드로의 이동이다.
사내 데이터센터 안에만 자산이 있던 시절에는 "경계"를 물리적으로 정의하기 쉬웠다. 하지만 업무 시스템이 SaaS로, 인프라가 AWS·GCP 같은 퍼블릭 클라우드로 흩어지면서 "이 선 안쪽이 우리 것"이라고 그을 수 있는 단일한 경계 자체가 사라졌다.
클라우드 환경에서는 "어디에서 접속했는가" 보다 "누가, 어떤 기기로, 무엇에 접근하려는가" 를 기준으로 삼는 제로 트러스트 원칙이 훨씬 자연스럽게 들어맞는다. 자산이 물리적 경계 없이 흩어져 있는 클라우드 시대야말로 제로 트러스트가 선택이 아니라 필수가 되는 배경이다.
한 줄 요약
"어디에 있는가"가 아니라 "지금 이 순간 증명할 수 있는가" 가 신뢰의 기준이 되어야 한다.
돌아보면 "성 안은 안전하다"는 믿음은 애초에 보안을 위해 설계된 게 아니었다. NAT가 IPv4 고갈이라는 순전히 기술적인 문제를 풀다가, "내부→외부는 열고, 외부→내부는 막는다" 는 우연한 부산물로 남긴 경계였을 뿐이다. 그 위에 방화벽을 세우고 "안쪽은 믿고 바깥쪽은 의심한다"는 룰을 얹으면서, 위치가 곧 신뢰라는 등식이 자연스럽게 굳어졌다.
문제는 이 등식이 애초에 보안 논리가 아니라 네트워크 배선의 결과물이었다는 데 있다. 피싱 한 번으로 자격증명이 뚫리고, 내부자가 위협의 근원이 되고, 업무 자산이 클라우드로 흩어지면서 "안쪽"이라는 개념 자체가 흐려지자, 이 등식은 더 이상 버티지 못했다. 한 곳만 뚫려도 내부 전체가 무방비로 노출되는 all-or-nothing 구조가 경계 모델의 가장 근본적인 결함이었던 셈이다.
결국 제로 트러스트가 하는 일은 이 잘못 놓인 등식을 바로잡는 것이다. "위치"라는, 애초에 신뢰의 근거가 될 자격이 없었던 기준을 걷어내고, 그 자리에 "매 순간의 검증" 을 세우는 것. 이게 1장이 말하고자 한 전환의 핵심이다.