Skip to content
This repository was archived by the owner on Dec 13, 2020. It is now read-only.

springframework-storage/Spring-Security

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Security Study

기본적인 보안 기능

  • 인증 기능 : 애플리케이션 사용자의 정당성을 확인합니다.
  • 인가 기능 : 애플리케이션의 리소스나 처리에 대해 접근을 제어합니다.

강화된 보안 기능

  • 세션 관리 기능 : 세션 하이재킹(session hijacking)이나 세션 고정(session fixation) 공격으로부터 사용자를 보호 하고
    세션의 라이프 라이클(생성, 파기, 타임아웃)을 제어합니다.
  • CSRF 방지 기능 : Cross-Site Request Forgery(CSRF) 공격으로부터 사용자를 보호합니다.
  • 브라우저의 보안 기능과의 연계 기능 : 브라우저의 보안 기능과 연계해서 브라우저 기능을 악용한 공격에서
    사용자를 보호할 수 있는 보안 헤더를 출력합니다.

스프링 시큐리티의 모듈 구성

모듈명 설명
spring-security-core 인증과 인가 기능을 구현하기 위한 핵심적인 컴포넌트로 구성
spring-security-web 웹 애플리케이션의 보안 기능을 구현하기 위한 컴포넌트로 구성
spring-security-config 각 모듈에서 제공하는 컴포넌트의 설정을 지원하기 위한 컴포넌트로 구성
(자바 기반 설정 방식을 지원하는 클래스나 XML namespace를 해석하는 클래스 등)
spring-security-taglibs 인증 정보나 인가 정보를 사용하기 위한 JSP 태그 라이브러리로 구성

CSRF 방지 기능과 스프링 MVC와의 연계

  • 스프링 시큐리티에는 스프링 MVC와 연계하기 위해 만들어진 컴포넌트가 있습니다.

    예를 들어, CsrfRequestDataValueProcessor는 스프링 MVC의 <form:form> 요소를 사용할 때,
    HTML 폼에 CSRF 토큰 값을 hidden 항목으로 추가하는 기능을 제공합니다.

  • CSRF 방지 기능이 활성화되면 CsrfRequestDataValueProcessor가 스프링 MVC에 자동으로 적용되기 때문에
    개발자가 명시적으로 정의를 추가해줄 필요가 없습니다..

    HTML 폼을 만들 때 단지 <form:form> 요소를 사용하기만 하면 된다.

기본적으로 지원하는 보안 헤더

Cache-Control
(Pragma, Expires)
콘텐츠의 캐시 방법을 지시하기 위한 헤더입니다.
보호된 컨텐츠가 브라우저에 캐시되지 않게 함으로써 권한이 없는 사용자가 보호된 컨텐츠를 볼 위험을 줄일 수 있습니다.
X-Frame-Options 프레임에서 컨텐츠 표시를 인가할지 여부를 지시하기 위한 헤더입니다.
프레임에서 컨텐츠가 표시되지 않게 함으로써 클릭재킹(Clickjacking)을 통한 기밀 정보 유출을 줄일 수 있습니다.
X-Content-Type-Options 컨텐츠의 종류를 결정하는 방법을 지시하기 위한 헤더입니다.
일부 브라우저에서는 Content-Type 헤더의 값을 무시하고 컨텐츠 내용을 보고 결정합니다.
컨텐츠의 종류를 결정할 때 컨텐츠의 내용을 보이지 않게 함으로써 크로스 사이트 스크립팅(XSS)을 통한 공격 위험을 줄일 수 있다.
X-XSS-Protection 브라우저의 XSS 필터를 사용해 유해 스크립트를 검출할 방법을 지시하는 헤더입니다.
XSS 필터를 활성화해서 유해 스크립트를 검출하게 만들면 크로스 사이트 스크립팅(XSS)을 통한 공격 위험을 줄일 수 있습니다.
Strict-Transport-Security HTTPS로 접근한 후에 다시 HTTP로 접근하려 하면, HTTPS로 다시 접근하도록 지시하는 헤더입니다.
HTTPS로 접근한 후 HTTP가 사용되지 않게 함으로써 중간자 공격이라는 공격 수법을 통해 악의적인 사이트로 유인되는 위험을 줄일 수 있습니다.

About

보안 공격 대처 방안

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published