반응형
인프런에서 진행하는 정수원 강사님의 "스프링 시큐리티 - Spring Boot 기반으로 개발하는 Spring Security" 강의를 보고 학습을 위해 개인적으로 추가/정리한 글임을 알립니다.
CSRF
사이트 간 요청 위조 공격
CSRF란 사용자의 의도와는 무관하게 공격자가 심어놓은 행위로, 공격자가 의도한대로 응답하는 공격이다.
그래서 Spring-Security는 이런 취약점을 방지하기 위한 API를 제공한다.
CsrfFilter
CSRF의 취약점을 방지하는 필터이다.
- 모든 요청에 랜덤하게 생성된 토큰을 HTTP 파라미터로 요구한다.
- 요청 시 전달되는 토큰 값과 서버에 저장된 실제 값과 비교한 후 만약 일치하지 않으면 요청은 실패한다.
- Client
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
- 서버의 자원에 접근할 때는 HTTP 메소드(
PATCH, POST, PUT, DELETE
)로 요청하고 반드시 서버에서 발급한 CSRF 토큰값으로 요청을 해야한다.
Spring Security에서는 기본적으로 http.csrf()
기능이 기본적으로 활성되 되어있고, http.csrf().disabled()
로 비활성화 할 수도 있다.
반응형
'웹 프로그래밍 > [ Spring Security ]' 카테고리의 다른 글
[ Spring Security ] 07. 주요 아키텍쳐 : DelegatingFilterProxy & FilterChainProxy (0) | 2021.12.20 |
---|---|
[ Spring Security ] 05. 인증/인가 API의 예외처리 (0) | 2021.12.12 |
[ Spring Security ] 04. 인가 API와 표현식 (0) | 2021.12.09 |
[ Spring Security ] 03. 동시 세션제어와 세션 고정보호, 세션 정책 관리 (0) | 2021.12.08 |
[ Spring Security ] 02. 익명 사용자 인증처리 필터 : AnonymousAuthenticationFilter (0) | 2021.12.08 |