Spring Security는 강력한 사용자 정의가 가능한 인증 및 액세스 제어 프레임워크
- 인증: 데이터베이스, LDAP, OAuth 등과 같은 다양한 소스에 대해 사용자를 인증하기 위한 강력한 메커니즘을 제공함. 폼 기반 인증, HTTP Basic, HTTP Digest, OAuth 등 다양한 인증 방식도 제공
- 권한 부여: 개발자가 사용자 역할, 권한이나 표현을 기반으로 액세스 규칙을 정의할 수 있도록 해서 세분화된 액세스 제어를 가능하게 해줌.
- 보안 필터: Servlet API와 통합되어 들어오는 요청을 가로채고 보안 검사를 적용함. 필터 체인을 사용하여 인증, 권한 부여, 세션 관리, CSRF 보호 등과 같은 작업을 수행
- 세션 관리: 세션 고정 보호, 동시 세션 제어, 세션 시간 초과 처리 및 세션 생성 정책을 포함해서 사용자 세션 처리 방법을 제어하는 세션 관리 기능도 제공함
- CSRF 보호: CSRF(Cross-Site Request Forgery) 보호는 각 요청에 대해 고유한 토큰을 생성하고 검증하여 악의적인 공격을 방지하기 위해 Spring Security에 내장되어 있음
- 메서드 수준 보안: Spring Security를 사용하면 개발자는 주석을 사용해서 개별 메서드나 클래스를 보호할 수 있음 -> 애플리케이션의 특정 부분에 대한 액세스를 세밀하게 제어 가능
- 다른 Spring 프로젝트와의 통합: Spring MVC, Spring Boot, Spring Data 등 다른 Spring 프로젝트와 원활하게 통합되어 애플리케이션의 다양한 계층을 쉽게 보호가능
- 사용자 정의 및 확장: 유연하고 확장 가능한 아키텍처를 제공 -> 개발자는 애플리케이션의 특정 보안 요구 사항에 따라 기능을 사용자 정의하고 확장이 가능함
요악하자면, Spring Security는 강력한 보안 조치를 구현하고 일반적인 보안 위협으로부터 보호하며 민감한 리소스의 기밀성, 무결성, 가용성을 보장하기 위해 사용됨
CSRF
- 공격자가 사용자를 속여 사용자가 인증된 웹 애플리케이션에서 의도치 않게 작업을 실행하도록 하는 공격 유형
- 공격은 사용자의 애플리케이션 활성 세션을 악용하여 수행
- CSRF를 이해하고 적절한 보안 조치를 구현하는 것은 무단 활동으로부터 웹 애플리케이션을 보호하고 악의적인 행위자의 악용으로부터 사용자 데이터를 보호하는 데 중요한 일을 함
https://pingu514.tistory.com/45
'항해99 > 스터디' 카테고리의 다른 글
[스터디] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - Nginx 무중단 배포 (0) | 2024.04.12 |
---|---|
[스터디] 네이버, 카카오 소셜 로그인과 RefreshToken (0) | 2024.04.05 |
[스터디] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 머스테치로 화면 구성하기 (1) | 2024.03.21 |
[스터디] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 스프링 부트 / JPA - 영속성 컨택스트 (0) | 2024.03.15 |
[스터디] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 스프링 부트 / JPA (0) | 2024.03.01 |