CSRF/logOut설정

Shaun·2021년 8월 14일
0

Spring Security

목록 보기
3/19

CSRF

  • 스프링 시큐리티는 기본적으로 CSRF(크로스 사이트 요청 위조) 라는 공격을 방어하기 위해서 임의의 값을 만들어서 이를 GET방식을 제외한 모든 요청방식(POST,PUT,DELETE)등에 포함시켜야만 정상적인 동작이 가능하다.

  • 서버에서 받아들이는 요청을 해석하고 처리할때 어떤 출처에서 호출이 진행되었는지를 따지지 않기 떄문에 생기는 허점을 노리는 공격 방식이다.


= 간단히 말해 특정 권한을 주거나 특정 동작을 하는 url 을 숨겨서 사용자가 누르면 동작하는 원리이다.

  • 현재 만든 사이트에서 검사를 해보면 hidden값으로 CSRF토큰값이 있다

  • CSRF토큰 값은 세션하나당 하나

  • 일반적인 세션을 이용하고 form태그를 이용하는 방식에서는 CSRF토큰이 보안상으로 권장 되지만 /REST방식 등에서 매번 CSRF토큰의 값을 알아내야 하는 불편함이 있어 경우에 따라서 CSRF토큰을 발행하지 않을수도 있다.

CSRF 토큰 비활성화

  • csrf().disable() 를 통해 csrf토큰을 발행하지 않도록 해준다.

logout 설정

  • logout() 메서드를 이용해 로그아웃 처리가 가능하다.

  • CSRF토큰을 사용할때는 반드시 POST 방식으로만 로그아웃을 처리한다.

  • CSRF토큰을 사용X 할떄는 GET방식으로도 로그아웃이 처리된다.

profile
호주쉐프에서 개발자까지..

0개의 댓글