1. 스프링 시큐리티에 대하여 설명하시오.
1-1. 정의
: Spring에서 제공하는 인증 및 권한에 대한 프레임워크로 Spring Runtime 내 Core Container 계층에서 관리한다. (spring-core.jar)
1-2. 기능 요소
- 인증과 권한
- 암호화에 대한 인코딩 및 디코딩
- CSRF, XSS와 같은 공격 기법 대처
- Security Session 객체
- JSP에서의 Security 요소 사용
1-3. 작동원리
: Spring Security 내부에서 사전 구현된 자바 파일로 html 문법들을 통해 캡슐화된 형태로 불러온다. 또한 필터에 의해 따로 컨트롤러에서 처리하지 않아 최소한의 xml내 태그로도 인증화면을 구현할 수 있다.
2. 스트링시큐리티를 적용하기 위한 기본 설정 및 세팅을 설명하시오.
step-1. pom.xml에서 의존 설정을 추가한다. (버전별로 다를 수 있으니 주의한다.)
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${org.security-version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${org.security-version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${org.security-version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>${org.security-version}</version>
</dependency>
step-2. web.xml에서 필터를 설정한다.
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
step-3. context.xml에서 설정한다. (namespace에 Spring Security 지정되었는지도 확인)
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<http><form-login /></http>
<authentication-manager></authentication-manager>
</beans:beans>
3. 인증과 권한에 대하여 설명하시오.
3-1. 인증(Authentication)
: 리소스에 접근하기 전 자신을 증명하는 과정. 로그인시 아이디와 비밀 번호와 같은 개인정보들을 수단으로 한다.
3-2. 권한(Authorization)
: 리소스에 접근하기 위해 남에 의해 부여된 자격. 이때, 리소스들을 접근할 수 있는 자격들을 단계별로 달리한다.
4. XSS 와 CSRF에 대하여 설명하시오.
4-1. XSS
: 크로스 사이트 스크립팅의 약자로, 공격자가 악의적인 스크립트의 내용들을 지정된 사이트에 심어 이용자를 특정 경로로 유도한 후 개인정보 유출 및 악성코드 배포를 하게끔 하는 공격기법.
4-2. CSRF
: 사이트 간 요청 위조로, 공격자가 사전에 악의적으로 심어둔 요청 양식을 이용자가 입력 후 전송하도록 유도한 후, 이용자의 의지와 무관하게 이 정보들을 침해받게끔 하는 공격기법.
'WebDev > 본과정' 카테고리의 다른 글
스프링 시큐리티를 이용한 로그인 (0) | 2021.05.17 |
---|---|
카카오톡 소셜로그인 (0) | 2021.05.17 |
목표 지향 프로그래밍 (0) | 2021.05.17 |
Spring의 Interceptor와 부트스트랩 프론트엔드 프레임워크 (0) | 2021.05.17 |
Spring의 트랜잭션과 rollback 및 commit (0) | 2021.05.17 |
최근댓글