API 보안 인 액션

API 보안 기술과 모범 사례
$53.58
SKU
9791161758299
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Fri 05/10 - Thu 05/16 (주문일로부 10-14 영업일)

Express Shipping estimated by Tue 05/7 - Thu 05/9 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2024/03/29
Pages/Weight/Size 188*235*33mm
ISBN 9791161758299
Categories IT 모바일 > 네트워크/해킹/보안
Description
API는 IT 서비스의 핵심이다. 이제는 서비스를 하나의 시스템에 통합해 구현하기보다는 마이크로서비스와 각 서비스를 연결하기 위한 API를 제공하는 형태로 변화하고 있다. 이런 환경에서 API 보안은 무엇보다 중요하다. 이 책을 읽고 나면 기본적인 API 보안이란 무엇인지에 대한 기본적인 것부터 API 인증과 권한, 쿠버네티스, 사물인터넷 환경에서의 실제 적용 방법까지 다양한 사례를 경험할 수 있을 것이다.
Contents
1부. 기초

1장. API 보안의 정의
1.1 비유: 운전면허 시험 응시
1.2 API 정의
1.2.1 API 방식
1.3 상황상의 API 보안.
1.3.1 일반적인 API 배포
1.4 API 보안 요소.
1.4.1 자산
1.4.2 보안 목표
1.4.3 환경 및 위협 모델
1.5 보안 메커니즘.
1.5.1 암호화
1.5.2 식별 및 인증
1.5.3 접근 통제 및 권한
1.5.4 감사 로깅
1.5.5 속도 제한
연습 문제 정답
요약

2장. 보안 API 개발
2.1 Natter API
2.1.1 Natter API 개요
2.1.2 구현 개요
2.1.3 프로젝트 준비
2.1.4 데이터베이스 초기화
2.2 REST API 개발
2.2.1 신규 공간 생성
2.3 REST 엔드포인트 연결
2.3.1 사용
2.4 주입 공격.
2.4.1 주입 공격 방지
2.4.2 권한을 통한 SQL 주입 완화
2.5 입력 유효성 검증
2.6 안전한 출력 생성
2.6.1 크로스 사이트 스크립팅 공격 악용
2.6.2 크로스 사이트 스크립팅 방지
2.6.3 보안 기능 구현
연습 문제 정답
요약

3장. Natter API 보안
3.1 보안 통제를 통한 위협 해결
3.2 가용성을 위한 속도 제한
3.2.1 구아바로 속도 제한
3.3 위조 방지를 위한 인증
3.3.1 HTTP Basic 인증
3.3.2 스크립트로 안전한 비밀번호 저장
3.3.3 비밀번호 데이터베이스 생성
3.3.4 Natter API에 사용자 등록
3.3.5 사용자 인증
3.4 암호화를 통한 데이터 비공개 유지
3.4.1 HTTPS 활성화
3.4.2 엄격한 전송 보안
3.5 책임 추적성을 위한 감사 로깅
3.6 접근 통제
3.6.1 인증 적용
3.6.2 접근 통제 목록
3.6.3 Natter에서 접근 통제 적용
3.6.4 Natter 공간에 신규 멤버 추가
3.6.5 권한 상승 공격 방지
연습 문제 정답
요약

2부. 토큰 기반 인증

4장. 세션 쿠키 인증
4.1 웹 브라우저에서 인증
4.1.1 자바스크립트에서 Natter API 호출
4.1.2 양식 제출 가로채기
4.1.3 동일한 출처에서 HTML 제공
4.1.4 HTTP 인증의 문제점
4.2 토큰 기반 인증
4.2.1 토큰 저장소 추상화
4.2.2 토큰 기반 로그인 구현
4.3 세션 쿠키
4.3.1 세션 고정 공격 방지
4.3.2 쿠키 보안 속성
4.3.3 세션 쿠키 유효성 검증
4.4 사이트 간 요청 위조 공격 방지
4.4.1 SameSite 쿠키
4.4.2 해시 기반 이중 제출 쿠키
4.4.3 Natter API용 이중 제출 쿠키
4.5 Natter 로그인 UI 구축
4.5.1 자바스크립트에서 로그인 API 호출
4.6 로그아웃 구현
연습 문제 정답
요약

5장. 최신 토큰 기반 인증
5.1 CORS를 통한 도메인 간 요청 허용
5.1.1 사전 요청
5.1.2 CORS 헤더
5.1.3 Natter API에 CORS 헤더 추가
5.2 쿠키를 사용하지 않는 토큰
5.2.1 데이터베이스에 토큰 상태 저장
5.2.2 베어러 인증 스키마
5.2.3 만료된 토큰 삭제
5.2.4 웹 저장소에 토큰 저장
5.2.5 CORS 필터 업데이트
5.2.6 웹 저장소에 대한 크로스 사이트 스크립팅 공격
5.3 데이터베이스 토큰 저장소 강화
5.3.1 데이터베이스 토큰 해싱
5.3.2 HMAC으로 토큰 인증하기
5.3.3 민감한 속성 보호
연습 문제 정답
요약

6장. 자체 포함 토큰 및 JSON 웹 토큰
6.1 클라이언트에 토큰 상태 저장
6.1.1 HMAC를 통한 JSON 토큰 보호
6.2 JSON 웹 토큰
6.2.1 표준 JWT 클레임
6.2.2 JOSE 헤더
6.2.3 표준 JWT 생성
6.2.4 서명된 JWT 유효성 검증
6.3 민감한 속성 암호화
6.3.1 인증된 암호화
6.3.2 NaCl로 인증된 암호화
6.3.3 암호화된 JWT
6.3.4 JWT 라이브러리 사용
6.4 안전한 API 설계를 위한 유형 사용
6.5 토큰 폐기 처리
6.5.1 하이브리드 토큰 구현
연습 문제 정답
요약

3부. 권한

7장. OAuth2 및 OpenID 연결
7.1 범위 토큰
7.1.1 Natter에 범위 토큰 추가
7.1.2 범위와 허가의 차이
7.2 OAuth2 소개
7.2.1 클라이언트 유형
7.2.2 권한 부여
7.2.3 OAuth2 엔드포인트 검출
7.3. 권한 코드 부여
7.3.1 다른 유형의 클라이언트에 대한 URI 리다이렉트
7.3.2 증명 키 코드 교환으로 코드 교환 강화
7.3.3 새로 고침 토큰
7.4 접근 토큰 유효성 검증
7.4.1 토큰 자체 검사
7.4.2 HTTPS 클라이언트 구성 보안
7.4.3 토큰 폐기
7.4.4 JWT 접근 토큰
7.4.5 암호화된 JWT 접근 토큰
7.4.6 권한 서버의 토큰 복호화 허용
7.5 통합 인증.
7.6 OpenID 연결.
7.6.1 ID 토큰
7.6.2 OIDC 강화
7.6.3 API에 ID 토큰 전달
연습 문제 정답
요약

8장. 신원 기반 접근 통제
8.1 사용자 및 그룹
8.1.1 LDAP 그룹
8.2 역할 기반 접근 통제
8.2.1 허가에 역할 매핑
8.2.2 고정 역할
8.2.3 사용자 역할 결정
8.2.4 동적 역할
8.3 속성 기반 접근 통제
8.3.1 결정 결합
8.3.2 ABAC 결정 구현
8.3.3 정책 에이전트 및 API 게이트웨이
8.3.4 분산 정책 시행 및 XACML
8.3.5 ABAC의 모범 사례
연습 문제 정답
요약

9장. 기능 기반 보안 및 마카롱
9.1 기능 기반 보안
9.2 기능 및 REST
9.2.1 URI로서의 기능
9.2.2 Natter API에서 기능 URI 사용
9.2.3 HATEOAS
9.2.4 브라우저 기반 클라이언트의 기능 URI
9.2.5 기능과 신원 결합
9.2.6 기능 URI 강화
9.3 마카롱: 주의 사항이 있는 토큰.
9.3.1 상황별 주의 사항
9.3.2 마카롱 토큰 저장소
9.3.3 자사 주의 사항
9.3.4 타사 주의 사항
연습 문제 정답
요약

4부. 쿠버네티스의 마이크로서비스 API

10장. 쿠버네티스의 마이크로서비스 API
10.1 쿠버네티스의 마이크로서비스 API
10.2 쿠버네티스에 Natter 배포
10.2.1 도커 컨테이너로 H2 데이터베이스 빌드
10.2.2 쿠버네티스에 데이터베이스 배포
10.2.3 Natter API를 도커 컨테이너로 빌드
10.2.4 링크 미리보기 마이크로서비스
10.2.5 신규 마이크로서비스 배포
10.2.6 링크 미리보기 마이크로서비스 호출
10.2.7 SSRF 공격 방지
10.2.8 DNS 리바인딩 공격
10.3 마이크로서비스 통신 보안
10.3.1 TLS로 통신 보안
10.3.2 TLS에 서비스 메시 사용
10.3.3 네트워크 연결 잠금
10.4 들어오는 요청 보안
연습 문제 정답
요약

11장. 서비스 간 API 보안
11.1 API 키 및 JWT 베어러 인증
11.2 OAuth2 클라이언트 자격 증명 부여
11.2.1 서비스 계정
11.3 OAuth2에 JWT 베어러 부여
11.3.1 클라이언트 인증
11.3.2 JWT 생성
11.3.3 서비스 계정 인증
11.4 상호 TLS 인증
11.4.1 TLS 인증서 인증 작동 방식
11.4.2 클라이언트 인증서 인증
11.4.3 클라이언트 신원 유효성 검증
11.4.4 서비스 메시 사용
11.4.5 OAuth2를 통한 상호 TLS
11.4.6 인증서 바인딩 접근 토큰
11.5 서비스 자격 증명 관리
11.5.1 쿠버네티스 비밀
11.5.2 키 및 비밀 관리 서비스
11.5.3 디스크에 수명이 긴 비밀 방지
11.5.4 키 파생
11.6 사용자 요청에 대한 서비스 API 호출
11.6.1 팬텀 토큰 양식
11.6.2 OAuth2 토큰 교환
연습 문제 정답
요약

5부. IoT용 API

12장. IoT 통신 보안
12.1 전송 계층 보안
12.1.1 데이터그램 TLS
12.1.2 제한된 장치를 위한 암호 제품군
12.2 사전 공유 키
12.2.1 PSK 서버 구현
12.2.2 PSK 클라이언트
12.2.3 원시 PSK 암호 제품군 지원
12.2.4 순방향 비밀성을 가진 PSK
12.3 종단 간 보안
12.3.1 COSE
12.3.2 COSE의 대체 방안
12.3.3 오용 방지 인증 암호화
12.4 키 배포 및 관리
12.4.1 일회성 키 프로비저닝
12.4.2 키 분배 서버
12.4.3 전방 비밀 유지에 대한 래칫
12.4.4 침해 후 보안
연습 문제 정답
요약

13장. IoT API 보안
13.1 장치 인증
13.1.1 장치 식별
13.1.2 장치 인증서
13.1.3 전송 계층에서 인증
13.2 종단 간 인증
13.2.1 OSCORE
13.2.2 REST API에서 재생 방지
13.3 제한된 환경을 위한 OAuth2
13.3.1 장치 권한 부여
13.3.2 ACE-OAuth
13.4 오프라인 접근 통제
13.4.1 오프라인 사용자 인증
13.4.2 오프라인 권한

연습 문제 정답
요약
Author
닐 매든,허용건
포지락의 보안 책임자로 응용 암호화, 애플리케이션 보안, 최신 API 보안 기술에 대한 심층적인 지식을 보유하고 있다. 20년 동안 프로그래머로 일했으며 컴퓨터 과학 박사 학위를 취득했다.
포지락의 보안 책임자로 응용 암호화, 애플리케이션 보안, 최신 API 보안 기술에 대한 심층적인 지식을 보유하고 있다. 20년 동안 프로그래머로 일했으며 컴퓨터 과학 박사 학위를 취득했다.