Top

Microservices Security in Action [마이크로서비스 아키텍처 보안 설계와 구현]

  • 원서명Microservices Security in Action: Design secure network and API endpoint security for Microservices applications, with examples using Java, Kubernetes, and Istio (ISBN 9781617295959)
  • 지은이프라바스 시리와데나(Prabath Siriwardena), 누완 디아스(Nuwan Dias)
  • 옮긴이박상영
  • ISBN : 9791161755670
  • 48,000원
  • 2021년 09월 29일 펴냄
  • 페이퍼백 | 788쪽 | 188*235mm
  • 시리즈 : 해킹과 보안

책 소개

요약

마이크로서비스 아키텍처에서 발생할 수 있는 다양한 보안 이슈를 살펴보고 예제 코드와 실습을 활용해 해당 이슈를 해결하는 데 필요한 지식을 전달한다. 책을 다 읽을 때쯤이면 마이크로서비스 보안을 이해하고 안전한 설계와 구현에 필요한 지식까지 습득할 수 있을 것이다.

추천의 글

"마이크로서비스 아키텍처 보안 과제와 해결 방안에 대한 완벽한 가이드를 제공한다."

- 마시모 시아니(Massimo Siani), FinDynamic

“이해하기 쉬운 내용은 아니지만, 적절한 주제를 순서에 맞게 다루는 필수적인 지침이다.”

- 앤드루 보빌(Andrew Bovill), Next Century

“인터넷에 연결된 서비스를 보호하는데 도움을 줄 수 있는 보안 관련 예제 코드와 상세한 설명이 가득하다.”

- 구스타보 고메스(Gustavo Gomes), Brightcove

“마이크로서비스 아키텍처 패턴을 사용해 소프트웨어를 개발하는 모든 개발자와 설계자의 책상에 있어야 할 책이다.”

- 스리하리 스리드하란(Srihari Sridharan), athenahealth

이 책에서 다루는 내용

◆ 마이크로서비스 보안 개념
◆ API 게이트웨이로 경계 지점 보호
◆ 도커, 쿠버네티스, 이스티오 사용과 배포
◆ 코드 수준의 보안 점검
◆ HTTP, gRPC, 카프카 통신

이 책의 대상 독자

마이크로서비스 설계 원칙에 정통하고 자바에 대한 기본 지식이 있는 개발자를 위한 책이다. 자바 개발자가 아니더라도 C++나 C# 같은 객체지향 프로그래밍 언어에 익숙하고 기본적인 프로그래밍 구조를 이해하고 있다면 이 책에서 많은 것을 얻을 수 있다. 온라인상에 일부 관련 문서와 블로그 게시물이 존재하지만 이 책은 모든 걸 명확하고 따르기 쉬운 형식으로 모아뒀기 때문에 마이크로서비스 보안을 이해하려는 모든 사람에게 도움을 줄 수 있다.

이 책의 구성

이 책은 5부 13장으로 구성돼 있다. 1부는 마이크로서비스 보안의 기본사항을 설명한다.
◆ 1장은 마이크로서비스 보안이 어려운 이유와 마이크로서비스 환경을 보호하기 위한 핵심 원칙을 설명한다.
◆ 2장은 스프링 부트로 첫 번째 마이크로서비스를 빌드하고 OAuth 2.0으로 보호하는 방법을 설명하며 OAuth 2.0 토큰 발급자를 설정하는 방법까지 다룬다.

2부는 일반적인 마이크로서비스 환경의 경계 지점이나 진입점에서 마이크로서비스를 보호하는 방법을 설명한다.
◆ 3장은 마이크로서비스 소비자 환경을 살펴보고 Zuul API 게이트웨이 뒷단의 스프링 부트 마이크로서비스를 배포하는 방법을 설명하며 Zuul API 게이트웨이에 OAuth 2.0 기반 보안을 적용하는 방법까지 다룬다.
◆ 4장은 앵귤러(Angular)로 단일 페이지 애플리케이션(SPA)를 개발하는 방법을 설명하며 OIDC(OpenID Connect)로 단일 페이지 애플리케이션을 보호하는 방법까지 다룬다.
◆ 5장은 Zuul API 게이트웨이에 트래픽 제한, 모니터링 및 접근 제어를 적용해 4장에서 구축한 사례를 확장하는 방법을 설명한다.

3부는 클라이언트 애플리케이션의 요청이 경계 지점의 보안 정책을 통과해 마이크로서비스 그룹 내부로 들어간 다음 마이크로서비스 간의 상호작용을 보호하는 프로세스를 설명한다.
◆ 6장은 mTLS(상호 TLS)로 HTTP 프로토콜 기반 마이크로서비스 간 통신을 보호하는 방법을 설명한다.
◆ 7장은 JWT(JSON Web Token)를 사용해 마이크로서비스 간 컨텍스트 데이터(예: 최종 사용자 컨텍스트)를 공유하는 방법을 설명한다.
◆ 8장은 mTLS와 JWT를 사용하는 gRPC 프레임워크 기반 마이크로서비스 간 통신을 보호하는 방법을 설명한다.
◆ 9장은 반응형 마이크로서비스를 보호하는 방법을 설명하며 카프카를 메시지 브로커로 설치하는 방법과 카프카 토픽에 접근 제어 정책을 적용하는 방법까지 다룬다.

4부는 컨테이너화한 환경에서 마이크로서비스를 배포하고 보호하는 방법을 설명한다.
◆ 10장은 도커에 마이크로서비스를 배포하고 mTLS와 JWT로 마이크로서비스 간 상호작용을 보호하는 방법을 설명하며 도커가 내장하고 있는 몇 가지 보안 기능을 다룬다.
◆ 11장은 쿠버네티스에서 도커 컨테이너로 마이크로서비스를 배포하고 mTLS와 JWT로 서비스 간 통신을 보호하는 방법을 설명한다.
◆ 12장은 이스티오 서비스 메시로 마이크로서비스의 보안 처리 부담을 전가하는 방법을 설명한다.
5부는 개발 프로세스에서 보안 점검을 수행하는 방법을 설명한다.
◆ 13장은 소나큐브, 젠킨스 및 OWASP ZAP으로 마이크로서비스를 대상으로 한 보안 점검을 자동화하는 방법을 설명한다.

저자/역자 소개

지은이의 말

이 책은 마이크로서비스 애플리케이션 코드와 인프라를 보호하는 방법을 다룬다. 마이크로서비스 보안 문제를 간단하게 소개하고 애플리케이션 경계와 서비스 간 통신을 보호하는 데 필요한 기본적인 지식을 배울 수 있다. 예제를 실습하면서 단일 페이지 애플리케이션(SPA, Single-Page Application)을 통해 마이크로서비스에 접근하는 방법뿐만 아니라 API 게이트웨이 뒷단의 마이크로서비스를 배포하고 보호하는 방법을 살펴본다.
실습 과정에서 API 게이트웨이의 트래픽 제한, 분석, 수집 및 접근 제어와 마이크로서비스 간 통신을 포함한 중요한 개념들을 강조하며 쿠버네티스, 도커, 이스티오 서비스 메시 등을 포함한 최신 기술을 사용해 마이크로서비스를 안전하게 배포하는 방법까지 다룬다.
다양한 실습을 통해 실습 과정에서 배울 환경들을 보호할 수 있으며 보안 프로세스 검토 및 모범 사례 등을 간략히 안내하고 책을 마무리한다. 책을 다 읽을 때쯤이면 마이크로서비스 애플리케이션이 안전하다는 사실에 대한 귀중한 확신이 생길 것이며 더불어 계획, 설계 및 구현까지 할 수 있을 것이다.

지은이 소개

프라바스 시리와데나(Prabath Siriwardena)

WSO2에서 보안 아키텍처 부사장을 맡고 있으며 2007년부터 ID 관리 및 보안 분야에서 종사하고 있다.

누완 디아스(Nuwan Dias)

WSO2의 API 아키텍처 임원으로 2012년부터 소프트웨어 업계에 종사하고 있으며 현재까지 API 관리 분야에 관한 업무를 주로 해오고 있다.

옮긴이의 말

마이크로서비스 아키텍처(MSA, Microservices Architecture)는 단일 애플리케이션을 작고 독립적으로 배포할 수 있는 작은 서비스 집합으로 개발하는 방법이다. MSA는 일체형을 의미하는 모놀리식 아키텍처와 달리 보안을 위한 새로운 접근 방식이 필요하다. 이 책은 다양한 예제 코드와 쿠버네티스, 도커, 이스티오 서비스 메시와 같은 최신 기술을 사용해 마이크로서비스를 안전하게 보호하는 방법을 설명하고 배경지식이 부족한 독자를 위한 부록을 제공함으로써 마이크로서비스 보안 이슈 해결에 필요한 지침을 알려준다. 먼저 1부의 마이크로서비스 보안 기본 원칙으로 시작해, 2부에서 마이크로서비스 경계 지점과 진입점에서 마이크로서비스를 보호하는 방법을 설명하고, 3부에서 클라이언트 요청으로 발생한 마이크로서비스 간 통신을 보호하는 방법을 알아본다. 이어서 4부에서는 컨테이너 환경으로 구성한 마이크로서비스를 보호하는 방법을 다루며 마지막 5부에서 보안 점검 자동화 방안을 개발 프로세스에 적용하는 방법을 살펴본다. 이를 통해 마이크로서비스 아키텍처로 전환을 고려하고 있지만 보안 이슈를 간과하거나, 어떤 보안 이슈가 있을 수 있는지와 보안 이슈를 어떻게 해결해야 할지 고민하는 개발자와 보안 담당자에게 지식을 전달한다. 마이크로서비스를 전반적으로 다루는 책은 시중에 많고 해당 책의 세부 주제 중 하나로 보안을 언급하는 경우 또한 많다. 하지만 보안을 메인 주제로 마이크로서비스를 다룬 책은 국내에 아직 없어서 번역하면 많은 분에게 도움이 될 것이란 기대감에 시작한 번역이라 필요한 분들에게 의미 있는 책이 됐으면 하는 바람이다.

옮긴이 소개

박상영

‘미래 유망직종 1위’라는 달콤한 말에 현혹돼 보안 분야에 입문한, 여전히 자기계발의 끈을 놓지 않고 있는 이커머스 기업의 개인정보보호 담당자다. 좋아하는 분야의 전문가가 되고 싶다는 뚜렷한 목표와 해외에서 일하며 가족들에게 글로벌 경험을 쌓게 해주고 싶단 포부를 갖고 오늘도 하루를 살아간다.

목차

목차
  • 1부. 개요
  • 1장. 마이크로서비스 보안의 특징
  • 1.1 모놀리식 애플리케이션의 보안 동작 원리
  • 1.2 마이크로서비스 보안의 어려움
  • 1.2.1 공격 노출 지점이 넓어질수록 공격받을 위험도 증가
  • 1.2.2 보안 검증 지점 분리는 성능 저하를 초래
  • 1.2.3 배포 복잡성으로 인한 마이크로서비스 간 초기 신뢰 설정 어려움
  • 1.2.4 다양한 마이크로서비스 간 통신 추적의 어려움
  • 1.2.5 컨테이너의 불변성으로 인한 자격증명과 접근 제어 정책 유지의 어려움
  • 1.2.6 마이크로서비스의 분산된 특성으로 인한 사용자 컨텍스트 공유의 어려움
  • 1.2.7 다중 개발 언어 지원 아키텍처는 개발 팀에 더 많은 보안 전문지식을 요구
  • 1.3 핵심 보안 원칙
  • 1.3.1 인증은 스푸핑으로부터 시스템을 보호
  • 1.3.2 무결성 검증으로 데이터 변조에서 시스템을 보호
  • 1.3.3 부인방지: 한 번의 서명으로 영구적으로 기록하자
  • 1.3.4 기밀성은 의도하지 않은 정보 노출에서 시스템을 보호
  • 1.3.5 가용성: 어떠한 상황에서도 시스템을 가동 중인 상태로 유지
  • 1.3.6 인가: 권한 범위를 넘어선 행위 차단
  • 1.4 외부 경계 보안
  • 1.4.1 마이크로서비스 그룹에서 API 게이트웨이의 역할
  • 1.4.2 경계 지점에서의 인증
  • 1.4.3 경계 지점 인가 절차
  • 1.4.4 클라이언트 애플리케이션/사용자 컨텍스트를 상위 마이크로서비스로 전달
  • 1.5 서비스 간 통신 보안
  • 1.5.1 서비스 간 인증
  • 1.5.2 서비스 수준 인가
  • 1.5.3 마이크로서비스 간 사용자 컨텍스트 전파
  • 1.5.4 신뢰 경계 간 연결
  • 요약

  • 2장. 마이크로서비스 보안을 위한 첫 단계
  • 2.1 첫 번째 마이크로서비스 제작
  • 2.1.1 필요 소프트웨어 다운로드 및 설치
  • 2.1.2 예제 코드 저장소 복사본 생성
  • 2.1.3 주문 처리 마이크로서비스 컴파일
  • 2.1.4 주문 처리 마이크로서비스 접근
  • 2.1.5 소스 코드 디렉토리에는 어떤 것이 있는가?
  • 2.1.6 마이크로서비스의 소스 코드 이해
  • 2.2 OAuth 2.0 서버 준비
  • 2.2.1 인가 서버와의 통신
  • 2.2.2 OAuth 20 인가 서버 실행
  • 2.2.3 OAuth 20 인가 서버에서 액세스 토큰 획득
  • 2.2.4 액세스 토큰 응답 이해하기
  • 2.3 OAuth 2.0을 사용한 마이크로서비스 보안
  • 2.3.1 OAuth 20 기반 보안
  • 2.3.2 예제 코드 실행
  • 2.4 클라이언트 애플리케이션에서 보안이 적용된 마이크로서비스 호출
  • 2.5 OAuth 2.0 권한 범위를 사용한 서비스 수준 인가 수행
  • 2.5.1 인가 서버에서 범위가 지정된 액세스 토큰 획득
  • 2.5.2 OAuth 20 범위를 사용한 마이크로서비스 접근 보호
  • 요약

  • 2부. 외부 경계 보안
  • 3장. API 게이트웨이를 사용한 클라이언트와 내부 시스템 사이의 트래픽 보안
  • 3.1 마이크로서비스 그룹에서 API 게이트웨이의 필요성
  • 3.1.1 마이크로서비스에서 보안 영역 분리
  • 3.1.2 소비를 더 어렵게 하는 마이크로서비스 그룹의 고유한 복잡성
  • 3.1.3 외부에 노출하지 않는 게 바람직한 마이크로서비스의 특성
  • 3.2 외부 경계 보안
  • 3.2.1 마이크로서비스 소비자 환경 이해
  • 3.2.2 접근 위임
  • 3.2.3 API 보호를 위해 Basic 인증을 사용해선 안 되는 이유
  • 3.2.4 API 보호를 위해 공통 전송 계층 보안을 사용해선 안 되는 이유
  • 3.2.5 OAuth 20을 사용해야 하는 이유
  • 3.3 Zuul API 게이트웨이 설치
  • 3.3.1 주문 처리 마이크로서비스 컴파일 및 실행
  • 3.3.2 Zuul 프록시 컴파일 및 실행
  • 3.3.3 Zuul 게이트웨이에 OAuth 20 기반 보안 적용
  • 3.4 Zuul과 마이크로서비스 간의 통신 보안
  • 3.4.1 방화벽으로 접근 방지
  • 3.4.2 mTLS를 사용한 API 게이트웨이와 마이크로서비스 간의 통신 보안
  • 요약

  • 4장. 단일 페이지 애플리케이션으로 보안을 강화한 마이크로서비스 접근
  • 4.1 앵귤러를 사용해 단일 페이지 애플리케이션 실행
  • 4.1.1 앵귤러 애플리케이션 빌드 및 실행
  • 4.1.2 단일 페이지 애플리케이션의 동작원리 살펴보기
  • 4.2 CORS 구축
  • 4.2.1 동일 출처 정책 사용
  • 4.2.2 CORS 사용
  • 4.2.3 교차 출처 요청을 허용하는 출발지 검사
  • 4.2.4 API 게이트웨이를 리소스 서버 프록시로 운영
  • 4.3 OIDC를 사용한 단일 페이지 애플리케이션 보안
  • 4.3.1 OIDC 로그인 흐름 이해
  • 4.3.2 애플리케이션 코드 분석
  • 4.4 연합 인증 사용
  • 4.4.1 다수의 신뢰 도메인들
  • 4.4.2 도메인 간의 신뢰 형성
  • 요약

  • 5장. 요청 제한, 모니터링 및 접근 제어 수행
  • 5.1 Zuul을 사용해 API 게이트웨이로 보내지는 요청 관리
  • 5.1.1 할당량 기반 애플리케이션 요청 제한
  • 5.1.2 사용자를 위한 공평한 사용 정책
  • 5.1.3 주문 처리 마이크로서비스에 할당량 기반 요청 제한 적용
  • 5.1.4 마이크로서비스의 최대 처리 용량
  • 5.1.5 운영 관점에서의 요청 제한
  • 5.1.6 OAuth 20 토큰 및 인가 처리 지점을 향한 요청 제한
  • 5.1.7 권한 기반 요청 제한
  • 5.2 프로메테우스와 그라파나를 사용한 모니터링 및 분석
  • 5.2.1 주문 처리 마이크로서비스 모니터링
  • 5.2.2 프로메테우스 메트릭 모니터링의 동작원리
  • 5.3 OPA를 사용해 API 게이트웨이에 접근 제어 정책 적용
  • 5.3.1 도커 컨테이너로 OPA 실행
  • 5.3.2 OPA 엔진에 데이터 제공
  • 5.3.3 OPA 엔진에 접근 제어 정책 제공
  • 5.3.4 OPA 정책 평가
  • 5.3.5 OPA 사용 시 참고사항
  • 요약

  • 3부. 서비스 간 통신
  • 6장. 인증서를 사용해 내부 시스템(서비스) 간의 트래픽 보호
  • 6.1 mTLS를 사용하는 이유
  • 6.1.1 인증기관을 이용해 클라이언트와 서버 간에 신뢰 구축
  • 6.1.2 mTLS는 클라이언트와 서버가 서로를 식별하도록 지원
  • 6.1.3 HTTPS는 TLS 기반으로 동작하는 HTTP 프로토콜
  • 6.2 마이크로서비스 접근을 보호하기 위해 인증서 생성
  • 6.2.1 인증기관 생성
  • 6.2.2 주문 처리 마이크로서비스에서 사용할 키 생성
  • 6.2.3 재고 마이크로서비스에서 사용할 키 생성
  • 6.2.4 한 번의 스크립트 실행으로 필요한 모든 키 생성
  • 6.3 TLS를 사용해 마이크로서비스 보호
  • 6.3.1 TLS를 적용한 주문 처리 마이크로서비스 실행
  • 6.3.2 TLS를 적용한 재고 마이크로서비스 실행
  • 6.3.3 TLS를 사용해 2개의 마이크로서비스 간 통신 보호
  • 6.4 매력적인 mTLS
  • 6.5 키 관리의 어려움
  • 6.5.1 키 프로비저닝과 부트스트래핑 신뢰
  • 6.5.2 인증서 해지
  • 6.6 키 순환
  • 6.7 키 사용 모니터링
  • 요약

  • 7장 JWT를 사용한 내부 시스템(서비스) 간의 트래픽 보호
  • 7.1 마이크로서비스 보호를 위한 JWT 사용 사례
  • 7.1.1 공유 JWT를 사용해 마이크로서비스 간 사용자 컨텍스트 공유
  • 7.1.2 서비스 간 상호작용을 위해 새로 발급한 JWT를 사용해 사용자 컨텍스트 공유
  • 7.1.3 다른 신뢰 도메인에 속한 마이크로서비스와 사용자 컨텍스트 공유
  • 7.1.4 자체발급 JWT
  • 7.1.5 네스티드 JWT
  • 7.2 JWT를 발급하는 STS 구축
  • 7.3 JWT를 사용해 마이크로서비스 보호
  • 7.4 접근 제어에 사용할 권한 범위 출처로 JWT 사용
  • 7.5 JWT를 사용해 서비스 간 통신 보호
  • 7.6 다른 aud 속성을 가진 새로운 JWT로 JWT 교환
  • 요약

  • 8장. gRPC를 사용한 내부 시스템(서비스) 간의 트래픽 보호
  • 8.1 gRPC를 사용한 서비스 간 통신
  • 8.2 mTLS를 사용해 서비스 간 gRPC 통신 보호
  • 8.3 JWT를 사용해 서비스 간 gRPC 통신 보호
  • 요약

  • 9장. 반응형 마이크로서비스 보호
  • 9.1 반응형 마이크로서비스를 사용하는 이유
  • 9.2 카프카를 메시지 브로커로 구축
  • 9.3 이벤트를 카프카 토픽에 푸시하는 마이크로서비스 개발
  • 9.4 카프카 토픽에서 이벤트를 읽는 마이크로서비스 개발
  • 9.5 TLS를 사용해 전송 데이터 보호
  • 9.5.1 TLS 키와 카프카 인증서 생성 및 서명
  • 9.5.2 카프카 서버에 TLS 설정
  • 9.5.3 마이크로서비스에 TLS 설정
  • 9.6 mTLS를 사용한 인증
  • 9.7 접근 제어 목록을 사용해 카프카 토픽에 대한 접근 제어
  • 9.7.1 카프카 접근 제어 목록 활성화 및 클라이언트 식별
  • 9.7.2 카프카에서 접근 제어 목록 정의
  • 9.8 NATS를 메시지 브로커로 설정
  • 요약

  • 4부. 안전한 배포
  • 10장. 도커로 컨테이너 보안 정복
  • 10.1 도커에서 STS 실행
  • 10.2 도커 컨테이너에서 시크릿 관리
  • 10.2.1 도커 이미지에 포함한 시크릿 외부화
  • 10.2.2 환경 변수로 시크릿 전달
  • 10.2.3 도커로 배포하는 운영 환경의 시크릿 관리 방안
  • 10.3 도커 이미지 서명 및 검증을 위해 도커 컨텐트 트러스트 사용
  • 10.3.1 TUF
  • 10.3.2 도커 컨텐트 트러스트
  • 10.3.3 키 생성
  • 10.3.4 DCT로 서명
  • 10.3.5 DCT로 서명 검증
  • 10.3.6 DCT가 사용하는 키 유형
  • 10.3.7 DCT가 클라이언트 애플리케이션을 리플레이 공격으로부터 보호하는 방법
  • 10.4 주문 처리 마이크로서비스를 도커에서 실행
  • 10.5 제한된 권한으로 컨테이너 실행
  • 10.5.1 컨테이너를 root 외의 사용자로 실행
  • 10.5.2 root 사용자의 권한 삭제
  • 10.6 Docker Bench for Security 실행
  • 10.7 도커 호스트에 대한 접근 보호
  • 10.7.1 도커 데몬에 원격 접근 활성화
  • 10.7.2 도커 API 접근을 보호하기 위해 엔진엑스 서버에서 mTLS 활성화
  • 10.8 컨테이너 이상의 보안 고려
  • 요약

  • 11장 쿠버네티스상의 마이크로서비스 보안
  • 11.1 쿠버네티스상에서 STS 실행
  • 11.1.1 STS로 사용할 쿠버네티스 디플로이먼트를 YAML 형식으로 정의
  • 11.1.2 쿠버네티스에서 STS 디플로이먼트 생성
  • 11.1.3 디플로이먼트 트러블슈팅
  • 11.1.4 쿠버네티스 클러스터 외부에 STS 노출
  • 11.2 쿠버네티스 환경에서 시크릿 관리
  • 11.2.1 컨피그맵을 사용한 쿠버네티스 설정 외부화
  • 11.2.2 applicationproperties 파일을 위한 컨피그맵 정의
  • 11.2.3 keystorejks와 jwtjks 파일을 위한 컨피그맵 정의
  • 11.2.4 키 저장소 자격증명을 위한 컨피그맵 정의
  • 11.2.5 kubectl 클라이언트로 컨피그맵 생성
  • 11.2.6 쿠버네티스 디플로이먼트에서 컨피그맵 소비
  • 11.2.7 초기화 컨테이너를 사용한 키 저장소 로딩
  • 11.3 쿠버네티스 시크릿 사용
  • 11.3.1 모든 컨테이너의 디폴트 토큰 시크릿
  • 11.3.2 시크릿 사용을 위해 STS 업데이트
  • 11.3.3 쿠버네티스가 시크릿을 저장하는 방법에 대한 이해
  • 11.4 쿠버네티스에서 주문 처리 마이크로서비스 실행
  • 11.4.1 주문 처리 마이크로서비스의 컨피그맵/시크릿 생성
  • 11.4.2 주문 처리 마이크로서비스의 디플로이먼트 생성
  • 11.4.3 주문 처리 마이크로서비스의 서비스 생성
  • 11.4.4 종단 간 흐름 테스트
  • 11.5 쿠버네티스에서 재고 마이크로서비스 실행
  • 11.6 쿠버네티스 서비스 계정 사용
  • 11.6.1 서비스 계정 생성 및 파드와 계정 연결
  • 11.6.2 사용자 지정 서비스 계정으로 파드 실행 시 이점
  • 11.7 쿠버네티스에서 역할 기반 접근 제어 사용
  • 11.7.1 STS에서 쿠버네티스 API 서버와 통신
  • 11.7.2 서비스 계정을 클러스터롤과 연결
  • 요약

  • 12장 이스티오 서비스 메시로 마이크로서비스 보호
  • 12.1 쿠버네티스 디플로이먼트 설정
  • 12.1.1 이스티오 자동삽입 활성화
  • 12.1.2 기존 작업 정리
  • 12.1.3 마이크로서비스 배포
  • 12.1.4 주문 처리와 STS를 노드포트 서비스 유형으로 재배포
  • 12.1.5 종단 간 흐름 테스트
  • 12.2 이스티오 인그레스 게이트웨이에서 TLS 터미네이션 활성화
  • 12.2.1 이스티오 인그레스 게이트웨이에 TLS 인증서 배포
  • 12.2.2 가상 서비스 배포
  • 12.2.3 PERMISSIVE 인증 정책 정의
  • 12.2.4 종단 간 흐름 테스트
  • 12.3 mTLS로 서비스 간 통신 보호
  • 12.4 JWT로 서비스 간 통신 보호
  • 12.4.1 JWT 인증 적용
  • 12.4.2 JWT 인증으로 종단 간 흐름 테스트
  • 12.4.3 PeerAuthentication과 RequestAuthentication
  • 12.4.4 서비스 간 통신에서 JWT를 사용하는 방법
  • 12.4.5 JWK 상세히 살펴보기
  • 12.5 인가 적용
  • 12.5.1 JWT 상세히 살펴보기
  • 12.5.2 역할 기반 접근 제어 적용
  • 12.5.3 역할 기반 접근 제어를 사용한 종단 간 흐름 테스트
  • 12.5.4 이스티오 14.0 버전 이후 역할 기반 접근 제어 개선사항
  • 12.6 이스티오에서 키 관리
  • 12.6.1 볼륨 마운트를 통한 키 프로비저닝과 교체
  • 12.6.2 볼륨 마운트를 통한 키 프로비저닝 및 키 교체 제한
  • 12.6.3 SDS로 키 프로비저닝 및 교체
  • 요약

  • 5부. 안전한 개발
  • 13장. 시큐어 코딩 관행 및 자동화
  • 13.1 OWASP API 보안 TOP 10
  • 13.1.1 취약한 객체 수준 인가
  • 13.1.2 취약한 인증
  • 13.1.3 과도한 데이터 노출
  • 13.1.4 리소스 부족 및 속도 제한
  • 13.1.5 취약한 함수 수준 인가
  • 13.1.6 대량 할당
  • 13.1.7 잘못된 보안 설정
  • 13.1.8 인젝션
  • 13.1.9 부적절한 자산 관리
  • 13.1.10 불충분한 로깅 및 모니터링
  • 13.2 정적 코드 분석 실행
  • 13.3 젠킨스와 보안 점검 통합
  • 13.3.1 젠킨스 설정 및 실행
  • 13.3.2 젠킨스로 빌드 파이프라인 설정
  • 13.4 OWASP ZAP으로 동적 분석 실행
  • 13.4.1 패시브 스캐닝과 액티브 스캐닝 비교
  • 13.4.2 ZAP으로 모의해킹 수행
  • 요약

  • 부록 A. OAuth 2.0과 OIDC
  • 부록 B. JWT
  • 부록 C. 단일 페이지 애플리케이션 아키텍처
  • 부록 D. 마이크로서비스 환경의 모니터링 가능성
  • 부록 E. 도커의 원리
  • 부록 F. OPA
  • 부록 G. OpenSSL을 사용한 인증기관 및 관련 키 생성
  • 부록 H. SPIFFE
  • 부록 I. gRPC 원리
  • 부록 J. 쿠버네티스의 원리
  • 부록 K. 서비스 메시와 이스티오의 원리

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안