본문 바로가기

추천 검색어

실시간 인기 검색어

스프링 시큐리티 인 액션

위키북스 오픈소스 & 웹 시리즈 102
위키북스

2022년 10월 10일 출간

종이책 : 2022년 08월 31일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (9.07MB)
ISBN 9791158393731
듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3.0.26, iOS v3.0.09,PC v1.2 버전 이상)
소득공제
소장
정가 : 25,000원

쿠폰적용가 22,500

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

보안은 타협할 수 없는 중요한 요소다. 스프링 시큐리티로 안전하게 데이터를 전송하고 자격 증명을 검증하며 공격을 방지하는 애플리케이션을 개발할 수 있다. ‘설계에 의한 보안’ 원칙을 따르면 데이터 도난과 무단 침입으로부터 네트워크를 보호할 수 있다.

《스프링 시큐리티 인 액션》에서는 피해가 발생하기 전에 사이트 간 스크립팅과 요청 위조 공격을 방지하는 방법을 배운다. 암호 업그레이드 시뮬레이션과 여러 유형의 권한 부여를 추가하는 것과 같은 기본적인 내용으로 시작해, 스프링 시큐리티를 새 아키텍처에 적용하고 고급 OAuth2 구성을 작성하는 방법과 같은 심화된 내용으로 마무리한다. 이 책을 모두 공부하면 일반적인 위협은 물론 심각한 위협에도 대비하는 맞춤 구성된 스프링 시큐리티 구성을 만들 수 있게 된다.

★ 이 책에서 다루는 내용 ★

◎ 암호 인코딩 및 사용자 인증
◎ 엔드포인트 보호
◎ 보안 테스트 자동화
◎ 독립 실행형 권한 부여 서버 설정
[01부] 첫 단계

▣ 01장: 오늘날의 보안
1.1 스프링 시큐리티: 개념과 장점
1.2 소프트웨어 보안이란?
1.3 보안이 중요한 이유는 무엇인가?
1.4 웹 애플리케이션의 일반적인 보안 취약성
__1.4.1 인증과 권한 부여의 취약성
__1.4.2 세션 고정이란?
__1.4.3 XSS(교차 사이트 스크립팅)란?
__1.4.4 CSRF(사이트 간 요청 위조)란?
__1.4.5 웹 애플리케이션의 주입 취약성 이해
__1.4.6 민감한 데이터의 노출 처리하기
__1.4.7 메서드 접근 제어 부족이란?
__1.4.8 알려진 취약성이 있는 종속성 이용
1.5 다양한 아키텍처에 적용된 보안
__1.5.1 일체형 웹 애플리케이션 설계
__1.5.2 백엔드/프런트엔드 분리를 위한 보안 설계
__1.5.3 OAuth 2 흐름 이해
__1.5.4 API 키, 암호화 서명, IP 검증을 이용해 요청 보안
1.6 이 책에서 배울 내용
요약

▣ 02장: 안녕! 스프링 시큐리티
2.1 첫 번째 프로젝트 시작
2.2 기본 구성이란?
2.3 기본 구성 재정의
__2.3.1 UserDetailsService 구성 요소 재정의
__2.3.2 엔드포인트 권한 부여 구성 재정의
__2.3.3 다른 방법으로 구성 설정
__2.3.4 AuthenticationProvider 구현 재정의
__2.3.5 프로젝트에 여러 구성 클래스 이용
요약

[02부] 구현

▣ 03장: 사용자 관리
3.1 스프링 시큐리티의 인증 구현
3.2 사용자 기술하기
__3.2.1 UserDetails 계약의 정의 이해하기
__3.2.2 GrantedAuthority 계약 살펴보기
__3.2.3 최소한의 UserDetails 구현 작성
__3.2.4 빌더를 이용해 UserDetails 형식의 인스턴스 만들기
__3.2.5 사용자와 연관된 여러 책임 결합
3.3 스프링 시큐리티가 사용자를 관리하는 방법 지정
__3.3.1 UserDetailsService 계약의 이해
__3.3.2 UserDetailsService 계약 구현
__3.3.3 UserDetailsManager 계약 구현
요약

▣ 04장: 암호 처리
4.1 PasswordEncoder 계약의 이해
__4.1.1 PasswordEncoder 계약의 정의
__4.1.2 PasswordEncoder 계약의 구현
__4.1.3 PasswordEncoder의 제공된 구현 선택
__4.1.4 DelegatingPasswordEncoder를 이용한 여러 인코딩 전략
4.2 스프링 시큐리티 암호화 모듈에 관한 추가 정보
__4.2.1 키 생성기 이용
__4.2.2 암호화와 복호화 작업에 암호기 이용
요약

▣ 05장: 인증 구현
5.1 AuthenticationProvider의 이해
__5.1.1 인증 프로세스 중 요청 나타내기
__5.1.2 맞춤형 인증 논리 구현
__5.1.3 맞춤형 인증 논리 적용
5.2 SecurityContext 이용
__5.2.1 보안 컨텍스트를 위한 보유 전략 이용
__5.2.2 비동기 호출을 위한 보유 전략 이용
__5.2.3 독립형 애플리케이션을 위한 보유 전략 이용
__5.2.4 DelegatingSecurityContextRunnable로 보안 컨텍스트 전달
__5.2.5 DelegatingSecurityContextExecutorServi
보안 컨텍스트 전달
5.3 HTTP Basic 인증과 양식 기반 로그인 인증 이해하기
__5.3.1 HTTP Basic 이용 및 구성
__5.3.2 양식 기반 로그인으로 인증 구현
요약

▣ 06장: 실전 - 작고 안전한 웹 애플리케이션
6.1 프로젝트 요구 사항과 설정
6.2 사용자 관리 구현
6.3 맞춤형 인증 논리 구현
6.4 주 페이지 구현
6.5 애플리케이션 실행 및 테스트
요약

▣ 07장: 권한 부여 구성 - 액세스 제한
7.1 권한과 역할에 따라 접근 제한
__7.1.1 사용자 권한을 기준으로 모든 엔드포인트에 접근 제한
__7.1.2 사용자 역할을 기준으로 모든 엔드포인트에 대한 접근을 제한
__7.1.3 모든 엔드포인트에 대한 접근 제한
요약

▣ 08장: 권한 부여 구성 - 제한 적용
8.1 선택기 메서드로 엔드포인트 선택
8.2 MVC 선택기로 권한을 부여할 요청 선택
8.3 앤트 선택기로 권한을 부여할 요청 선택
8.4 정규식 선택기로 권한을 부여할 요청 선택
요약

▣ 09장: 필터 구현
9.1 스프링 시큐리티 아키텍처의 필터 구현
9.2 체인에서 기존 필터 앞에 필터 추가
9.3 체인에서 기존 필터 뒤에 필터 추가
9.4 필터 체인의 다른 필터 위치에 필터 추가
9.5 스프링 시큐리티가 제공하는 필터 구현
요약

▣ 10장: CSRF 보호와 CORS 적용
10.1 애플리케이션에 CSRF(사이트 간 요청 위조) 보호 적용
__10.1.1 스프링 시큐리티의 CSRF 보호가 작동하는 방식
__10.1.2 실제 시나리오에서 CSRF 보호 사용
__10.1.3 CSRF 보호 맞춤 구성
10.2 CORS(교차 출처 리소스 공유) 이용
__10.2.1 CORS 작동 방식
__10.2.2 @CrossOrigin 어노테이션으로 CORS 정책 적용
__10.2.3 CorsConfigurer로 CORS 적용
요약

▣ 11장 실전 - 책임의 분리
11.1 예제의 시나리오와 요구 사항
11.2 토큰의 구현과 이용
__11.2.1 토큰이란?
__11.2.2 JSON 웹 토큰이란?
11.3 인증 서버 구현
11.4 비즈니스 논리 서버 구현
__11.4.1 Authentication 객체 구현
__11.4.2 인증 서버에 대한 프락시 구현
__11.4.3 AuthenticationProvider 인터페이스 구현
__11.4.4 필터 구현
__11.4.5 보안 구성 작성
__11.4.6 전체 시스템 테스트
요약

▣ 12장: OAuth 2가 작동하는 방법
12.1 OAuth 2 프레임워크
12.2 OAuth 2 인증 아키텍처의 구성 요소
12.3 OAuth 2를 구현하는 방법 선택
__12.3.1 승인 코드 그랜트 유형의 구현
__12.3.2 암호 그랜트 유형 구현
__12.3.3 클라이언트 자격 증명 그랜트 유형 구현
__12.3.4 갱신 토큰으로 새 액세스 토큰 얻기
12.4 OAuth 2의 허점
12.5 간단한 SSO(Single Sign-On) 애플리케이션 구현
__12.5.1 권한 부여 서버 관리
__12.5.2 구현 시작
__12.5.3 ClientRegistration 구현
__12.5.4 ClientRegistrationRepository 구현
__12.5.5 스프링 부트 구성의 순수한 마법
__12.5.6 인증된 사용자의 세부 정보 얻기
__12.5.7 애플리케이션 테스트
요약

▣ 13장: OAuth 2 - 권한 부여 서버 구현
13.1 맞춤형 권한 부여 서버 구현 작성
13.2 사용자 관리 정의
13.3 권한 부여 서버에 클라이언트 등록
13.4 암호 그랜트 유형 이용
13.5 승인 코드 그랜트 유형 이용
13.6 클라이언트 자격 증명 그랜트 유형 이용
13.7 갱신 토큰 그랜트 유형 이용
요약

▣ 14장: OAuth 2 - 리소스 서버 구현
14.1 리소스 서버 구현
14.2 원격으로 토큰 확인
14.3 JdbcTokenStore로 데이터베이스 참조 구현
14.4 방식의 간단한 비교
요약

▣ 15장 OAuth 2 - JWT와 암호화 서명 사용
15.1 JWT의 대칭 키로 서명된 토큰 이용
15.1.1 JWT 이용
__15.1.2 JWT를 발행하는 권한 부여 서버 구현
__15.1.3 JWT를 이용하는 리소스 서버 구현
15.2 JWT를 이용한 비대칭 키로 서명된 토큰 이용
__15.2.1 키 쌍 생성
__15.2.2 비밀 키를 이용하는 권한 부여 서버 구성
__15.2.3 공개 키를 이용하는 리소스 서버 구현
__15.2.4 공개 키를 노출하는 엔드포인트 이용
15.3 JWT에 맞춤형 세부 정보 추가
__15.3.1 토큰에 맞춤형 세부 정보를 추가하도록 권한 부여 서버 구성
__15.3.2 JWT의 맞춤형 세부 정보를 읽을 수 있게 리소스 서버 구성
요약

▣ 16장: 전역 메서드 보안 - 사전 및 사후 권한 부여
16.1 전역 메서드 보안 활성화
__16.1.1 호출 권한 부여의 이해
__16.1.2 프로젝트에서 전역 메서드 보안 활성화
16.2 권한과 역할에 사전 권한 부여 적용
16.3 사후 권한 부여 적용
16.4 메서드의 사용 권한 구현
요약

▣ 17장: 전역 메서드 보안 - 사전 및 사후 필터링
17.1 메서드 권한 부여를 위한 사전 필터링 적용
17.2 메서드 권한 부여를 위한 사후 필터링 적용
17.3 스프링 데이터 리포지토리에 필터링 이용
요약

▣ 18장 실전 - OAuth 2 애플리케이션
18.1 애플리케이션 시나리오
18.2 Keycloak을 권한 부여 서버로 구성
__18.2.1 시스템에 클라이언트 등록
__18.2.2 클라이언트 범위 지정
__18.2.3 사용자 추가 및 액세스 토큰 얻기
__18.2.4 사용자 역할 정의
18.3 리소스 서버 구현
18.4 애플리케이션 테스트
__18.4.1 사용자가 자기 레코드만 추가할 수 있는지 증명
__18.4.2 사용자가 자기 레코드만 가져올 수 있는지 증명
__18.4.3 관리자만 레코드를 삭제할 수 있는지 증명
요약

▣ 19장: 리액티브 앱을 위한 스프링 시큐리티
19.1 리액티브 앱이란?
19.2 리액티브 앱에서의 사용자 관리
19.3 리액티브 앱에서 권한 부여 규칙 구성
__19.3.1 리액티브 앱의 엔드포인트 계층에 권한 부여 적용
__19.3.2 리액티브 앱에 메서드 보안 적용
19.4 리액티브 앱과 OAuth 2
요약

▣ 20장: 스프링 시큐리티 테스트
20.1 모의 사용자로 테스트
20.2 UserDetailsService의 사용자로 테스트
20.3 맞춤형 인증 Authentication 객체를 이용한 테스트
20.4 메서드 보안 테스트
20.5 인증 테스트
20.6 CSRF 구성 테스트
20.7 CORS 구성 테스트
20.8 리액티브 스프링 시큐리티 구현 테스트
요약

▣ 부록A: 스프링 부트 프로젝트 만들기
A.1 start.spring.io로 프로젝트 만들기
A.2 STS(스프링 툴 스위트)로 프로젝트 만들기

작가정보

Laurentiu Spilca
로렌티우 스필카는 엔다바의 헌신적인 리더이자 트레이너이며 북유럽 국가의 금융 시장을 위한 프로젝트 개발을 이끌고 있다. 9년간의 실무 경험을 가지고 있으며 이전에는 전 세계에 설치된 가장 큰 규모의 ERP(전사적 자원 관리) 솔루션 중 하나를 구축하는 프로젝트에 소프트웨어 개발자로 참여했다. 그는 고품질의 소프트웨어를 제공하는 것도 중요하지만 지식을 공유하고 다른 사람들이 기술을 향상하도록 돕는 것도 중요하다고 믿으며 이런 생각으로 자바 기술에 관한 교육 과정을 설계하고 강의하며 미국과 유럽에서 프레젠테이션과 워크숍을 제공하고 있다. 그의 강연은 복스드 데이즈(Voxxed Days), 테크플로우(TechFlow), 부쿠레슈티 테크놀로지 위크(Bucharest Technology Week), 자바스콥(JavaSkop), 오라클 코드 익스플로어(Oracle Code Explore), 오라일리 소프트웨어 아키텍처(O'Reilly Software Architecture), 오라클 코드 원(Oracle Code One) 등에서 접할 수 있다.

2005년부터 번역 회사에서 언어 전문가로 일하다가 독립한 후 현재는 IT 전문 번역가로 일한다. 주로 소프트웨어 현지화와 웹사이트 한글화 프로젝트에 참여하며 가끔 IT 서적을 번역하는 일도 한다. 번역한 책으로는 『유니티와 C#으로 배우는 게임 개발 교과서』 『엔터프라이즈 애플리케이션 아키텍처 패턴』 『네티 인 액션』 『유니티 5 셰이더와 이펙트 입문』 『실전! Node.js 마이크로서비스 개발』 등이 있다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    스프링 시큐리티 인 액션 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    스프링 시큐리티 인 액션 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    스프링 시큐리티 인 액션
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)