책 소개
요약
내부 네트워크가 안전하다는 가정은 틀렸다는 사실은 오래전에 입증됐다. 모든 디바이스가 인터넷에 접속 가능한 시대에 내부 네트워크에 해커가 침입하지 못할 것이라는 가정은 헛된 희망일 뿐이다. 제로 트러스트 네트워크는 이미 해커가 네트워크에 숨어 있다는 가정에서 시작하는 네트워크 보안 모델이다. 이 책은 통신의 주체와 트래픽을 신뢰하지 못하는 환경에서 시스템을 운영하고 보호한다는 어려운 문제를 저자의 실전 경험을 바탕으로 풀어나간다.
추천의 글
“현대 네트워크 보안 모델의 이론을 소개하고, 이를 구현하는 데 필요한 실질적인 조언을 담은 책이다. 클라우드 시스템이나 다국적 네트워크에서 서비스를 구축하거나 운영한다면, 반드시 이 책을 읽고 조언에 따라야 한다.”
— 브라이언 버그(Bryan Berg), 스트라이프(Stripe)의 인프라 엔지니어
“제로 트러스트 네트워크에 관한 저자들의 풍부한 지식과 경험을 엿볼 수 있다. 소규모 네트워크부터 대규모 네트워크까지 현대 네트워크 보안 원칙을 구현하는데 있어서 반드시 참고해야 할 책이다.”
— 라이언 휴버(Ryan Huber), 슬랙(Slack)의 보안 운영 책임자
이 책에서 다루는 내용
◆ 보안 기능을 기본적으로 탑재한 제로 트러스트 모델 이해하기
◆ 네트워크 에이전트와 트러스트 엔진을 비롯한 제로 트러스트 네트워크의 핵심 개념
◆ 네트워크 주체 간 신뢰 구축에 기술 활용하기
◆ 경계형 모델을 채택한 네트워크를 제로 트러스트 모델로 변경하는 방법
◆ 구글(Google)과 페이지듀티(PagerDuty) 사례로 알아보는 제로 트러스트 모델 구축 방법
이 책의 대상 독자
중앙 집중식 방화벽 구축에 어려움을 겪었던 사람, 방화벽이 제대로 동작하지 않아 애먹은 적이 있는 엔지니어, 다양한 애플리케이션과 언어 때문에 VPN 구축과 TLS 설정에 골치가 아팠던 엔지니어, 보안 감사나 보안사항 준수에 어려움을 느꼈던 보안 엔지니어. 모두 이 책을 읽으면 도움을 받을 수 있을 것이다. 사실 방금 나열한 목록은 제로 트러스트 모델이 해결할 수 있는 많은 문제 중 일부분에 지나지 않는다. 더 나은 방법이 있지 않을까 한번이라도 고민해 본 적이 있는 독자라면 이 책을 읽을 것을 권한다.
네트워크 엔지니어와 보안 엔지니어부터 CTO에 이르기까지 제로 트러스트 개념을 익히면 많은 도움이 될 것이다. 이 책을 읽는데 특별한 기술을 요하는 것도 아니다. 이 책이 소개하는 다양한 원칙들은 모두 쉽게 이해할 수 있을 것으로 생각한다. 이 책을 읽은 후에는 독자 스스로 시스템의 보안을 업그레이드하는 것은 물론이고, 다른 사람들에게 제로 트러스트 모델을 가르칠 수도 있을 것이라 생각한다.
형상 관리 시스템을 사용하는 독자라면 이 책이 소개하는 개념들을 이용해 현재 네트워크 시스템의 보안을 향상시킬 수 있을 것이다. 보안이 더이상 네트워크의 추가 기능이 아닌 기본 기능으로 자리잡을 것이다. 형상 관리 시스템을 이용해 네트워크 설정을 자동으로 설정할 수 있는 상태라면, 관리 시스템에서 어떻게 네트워크 보안을 설정할 것인가하는 관점에서 책을 읽어도 좋다.
이미 제로 트러스트의 기본 개념을 알고 있는 독자에게는 보안 시스템을 향상시킬 수 있는 심화 학습의 기회를 제공할 것이다.
이 책의 구성
1장 ‘제로 트러스트 기초’와 2장 ‘신뢰도’는 제로 트러스트 네트워크의 기본 개념을 다룬다.
3장 ‘네트워크 에이전트’와 4장 ‘네트워크 접근 허가’는 잘 구현된 제로 트러스트 네트워크가 갖춘 네트워크 에이전트와 트러스트 엔진이라는 새로운 개념을 설명한다.
5장 ‘디바이스에 대한 신뢰’부터 8장 ‘네트워크 트래픽에 대한 신뢰’까지는 네트워크 구성요소가 서로를 어떻게 신뢰할 수 있는지를 다룬다. 여기서 다루는 내용은 대부분 현존 기술을 바탕으로 한다. 기존 네트워크에도 적용할 수 있는 내용들이다.
9장 ‘제로 트러스트 네트워크 구축’은 앞에서 다뤘던 내용을 바탕으로 어떻게 제로 트러스트 네트워크를 구축할 수 있는지 알려준다. 두 가지 실제 사례도 함께 소개한다.
10장 ‘공격자의 시각’에서는 공격자의 입장에서 제로 트러스트 모델을 분석한다. 잠재적 위험을 설명하고 어떻게 방어할 것인지도 함께 알려준다.
목차
목차
- 1장. 제로 트러스트 기초
- 제로 트러스트 네트워크란 무엇인가?
- 제로 트러스트 컨트롤 플레인
- 네트워크 경계 보안 모델의 진화
- 전세계 IP 주소 관리
- 사설 IP 주소 영역의 탄생
- 사설 네트워크와 공용 네트워크의 연결
- NAT의 등장
- 현대의 경계 모델
- 공격의 진화
- 경계 보안의 단점
- 네트워크 신뢰의 붕괴
- 제로 트러스트의 감초, 자동화
- 경계 모델 vs. 제로 트러스트 모델
- 클라우드와 제로 트러스트 네트워크
- 요약
- 제로 트러스트 네트워크란 무엇인가?
- 2장. 신뢰도
- 위험 모델
- 자주 사용하는 위험 모델
- 제로 트러스트의 위험 모델
- 견고한 인증
- 인증에 대한 신뢰
- 인증 기관
- 제로 트러스트에 있어서 PKI의 중요성
- 사설 PKI와 공개 PKI
- 아무 것도 없는 것 보다는 공개 PKI
- 최소 권한의 원칙
- 동적 신뢰도
- 컨트롤 플레인 vs. 데이터 플레인
- 요약
- 위험 모델
- 3장. 네트워크 에이전트
- 에이전트의 정의
- 에이전트의 변동성
- 에이전트에 포함되는 데이터
- 에이전트 활용
- 인증이 아니라 허가
- 에이전트 노출
- 표준화
- 견고하면서도 유연하게
- 표준화의 가능성
- 표준화 전까지
- 요약
- 에이전트의 정의
- 4장. 네트워크 접근 허가
- 허가 시스템의 구조
- 보안 정책 적용 지점
- 보안 정책 엔진
- 보안 정책 저장소
- 좋은 보안 정책의 조건
- 보안 정책 정의의 주체
- 트러스트 엔진
- 수치화의 대상
- 신뢰도 점수 노출의 위험성
- 데이터 저장소
- 요약
- 5장. 디바이스에 대한 신뢰
- 신뢰의 시작
- 디바이스 ID 생성과 보안
- 정적인 시스템과 동적인 시스템에서의 디바이스 ID 보안
- 컨트롤 플레인 상에서 디바이스 인증
- X.509
- TPM
- 기존 디바이스를 위한 TPM 대체재
- 디바이스 목록 관리
- 트래픽의 예상 가능성
- 시큐어 인트로덕션
- 디바이스 신뢰 갱신
- 로컬 보안 성능 평가
- 원격 보안 성능 평가
- 소프트웨어 형상 관리
- 형상 관리를 활용한 디바이스 목록
- 생략 디바이스 정보의 신뢰도
- 디바이스 데이터에 기반한 사용자 접근 허가
- 신뢰 지표
- 이미지 설치 시점
- 네트워크 접근 히스토리
- 위치
- 네트워크 통신 패턴
- 요약
- 신뢰의 시작
- 6장. 사용자에 대한 신뢰
- 비공식 ID와 공식 ID
- 최초 ID 발급
- 정부 발급 ID
- 실세계 우선주의
- 사용자에 대한 예상
- ID 저장
- 사용자 목록
- 사용자 목록 관리
- ID 인증 시점
- 인증으로 얻을 수 있는 신뢰도
- 신뢰도를 활용한 인증
- 다양한 채널의 활용
- ID과 신뢰도 캐시
- 사용자 ID 인증
- 사용자가 아는 것: 암호
- 사용자가 소유한 것: TOTP
- 사용자가 소유한 것: 인증서
- 사용자가 소유한 것: 보안 토큰
- 사용자 자신: 생체 인식
- 아웃오브밴드 채널을 사용한 인증
- 통합 인증
- 로컬 인증
- 그룹 인증과 허가
- 샤미르의 비밀 공유
- 붉은 10월
- 사용자의 신고의식
- 신뢰 지표
- 요약
- 7장. 애플리케이션에 대한 신뢰
- 애플리케이션 파이프라인
- 소스 코드에 대한 신뢰
- 코드 저장소 보안
- 진짜 코드와 모니터링
- 코드 리뷰
- 빌드에 대한 신뢰
- 위험
- 빌드 시스템의 입출력 보안
- 재생산 가능한 빌드
- 릴리즈와 버전의 분리
- 배포에 대한 신뢰
- 결과물 프로모션
- 배포 과정의 보안
- 무결성과 정품 인증
- 배포망에 대한 신뢰
- 인간의 개입
- 실행 중인 소프트웨어에 대한 신뢰
- 업그레이드만 허용하는 보안 정책
- 소프트웨어의 접근 허용
- 실행 환경 보안
- 보안 코딩 실무
- 애플리케이션 분리
- 능동적인 모니터링
- 요약
- 8장. 네트워크 트래픽에 대한 신뢰
- 암호화 vs. 인증
- 암호화 없는 메시지 보호
- 신뢰의 시작: 첫 번째 패킷
- fwknop
- 네트워크 모델
- 그림으로 보는 네트워크 계층
- OSI 네트워크 모델
- TCP/IP 네트워크 모델
- 제로 트러스트에 어울리는 네트워크 모델
- 클라이언트와 서버의 분리
- 프로토콜
- IKE/IPsec
- 상호 인증 TLS
- 필터링
- 호스트 필터링
- 북엔드 필터링
- 중간 필터링
- 요약
- 암호화 vs. 인증
- 9장. 제로 트러스트 네트워크 구축
- 범위 결정
- 필수 디자인 요소
- 시스템 다이어그램
- 네트워크 흐름에 대한 이해
- 컨트롤러가 없는 구조
- 형상 관리 시스템 “남용”
- 애플리케이션 인증과 접근 허가
- 로드 밸런서 인증과 프록시 인증
- 관계지향 보안 정책
- 보안 정책 배포
- 보안 정책 정의와 설치
- 제로 트러스트 프록시
- 클라이언트 마이그레이션과 서버 마이그레이션
- 케이스 스터디
- 케이스 스터디: 구글 BeyondCorp
- BeyondCorp의 구성 요소
- GFE 활용과 확장
- 멀티 플랫폼 환경에서 인증의 어려움
- BeyondCorp으로 전환
- 교훈
- 결론
- 케이스 스터디: 페이저듀티의 클라우드 독립형 네트워크
- 형상 관리를 통한 자동화 플랫폼
- 로컬 방화벽 동적 설정
- 분산된 트래픽 암호화
- 사용자 관리의 분산화
- 제로 트러스트 네트워크로의 진화
- 클라우드 독립형 시스템의 중요성
- 요약
- 범위 결정
- 10장. 공격자의 시각
- ID 훔치기
- 분산 서비스 거부 공격
- 서비스 지도
- 신뢰하지 않는 컴퓨팅 플랫폼
- 사회 공학
- 물리적 공격
- 무효화
- 컨트롤 플레인 보안