[Spring Security] 목차

10000JI·2024년 1월 22일
0

Spring Boot

목록 보기
2/15
post-thumbnail

Spring Security는 웹 어플리케이션 보안에 대한 효과적인 해결책을 제공하는 프레임워크이다.

왜 보안이 중요한가?

이건 당연한 소리일지 모른다. 어떤 웹 애플리케이션을 개발하든 보안은 항상 중요한 주제이다. 사용자의 개인정보, 인증 및 권한 등을 보호하기 위해 Spring Seuciry를 사용하면 보안 구현이 간편해 진다.

은행 비유

은행의 안전 조치를 예시로 들어보자.

웹 애플리케이션도 은행처럼 중요한 자산을 보호해야 한다.

은행의 중요 자산은 금이나 돈이지만, 웹 애플리케이션은 사용자의 중요한 정보를 갖고 있다.

개발자의 역할

웹 애플리케이션 보안은 개발자의 주요 책임이다.

HTTPS, SSL 인증서, 방화벽과 같은 서버 관리자와 DevOps 팀의 역할도 있지만, 인증과 권한은 개발자에게 달려있다.

보안은 비기능적 요구사항

모든 개발 프로젝트에는 기본적으로 보안이 포함되어야 한다.

비기능적 요구사항은 고객이 요청하지 않아도 기대되는 부분이기도 하다.

개발 초기부터 보안 고려

보안은 개발 초기부터 고려되어야 한다.

UAT 및 퍼포먼스 테스트 이후에 보안을 고려하는 것은 회귀 문제를 초래할 수 있다.

다양한 보안 종류

HTTPS, SSL 인증서, 방화벽 등은 서버를 보호하지만, 웹 애플리케이션 내의 인증과 권한 구현은 개발자의 역할이다.

안전성 강화의 이점

웹 애플리케이션을 안전하게 보호하면 CSRF, XSS 공격 등과 같은 흔한 보안 공격에 대응 가능하다.

산업에서 발생하는 다양한 보안 이슈들에 대비할 수 있음.

결론

보안은 데이터뿐만 아니라 비즈니스 로직도 보호하기 위한 것이다.

웹 애플리케이션을 개발할 때마다 보안 강화로 얻는 이점이 있다.


내가 공부하고자 하는 항목은 다음과 같다.

Spring Security 개요

  • Spring Security가 무엇인지에 대한 개념 소개

  • Spring Security를 학습해야 하는 이유

웹 애플리케이션 보안 기초

  • Spring Security를 사용하여 기본적인 보안 설정 적용

  • MVC 애플리케이션, REST 서비스, 모바일 애플리케이션 등에 적용 가능

인증과 권한 관리

  • 유저 및 역할(role)을 활용한 권한 관리 방법

  • 비밀번호 안전하게 다루는 방법

  • API와 웹 서비스 확보와는 별개로 메서드 보안 레벨 다루기
    Spring Security로 인증된 권한이 부여된 유저들만이 메소드 호출 기능

흔한 보안 공격 대응

  • CSRF, CORS와 같은 흔한 공격에 대한 대응 방법

Spring Security 고급 주제

  • JWT tokens, OAUTH2, OpenID 등 고급 주제 다루기

  • Keycloak 인가 서버를 활용한 보안 강화 (OAUTH2 프로토콜, OpenId 프로토콜 시행)

실전 프로젝트

  • 공부한 내용을 활용하여 안전한 은행 애플리케이션 개발
profile
Velog에 기록 중

0개의 댓글