SlideShare ist ein Scribd-Unternehmen logo
1 von 8
STG / 황성원
Spring Security
장점
스프링 프레임웍 기반 프로젝트로써 스프링 프로젝트에서 매우 유연하게 동작
몇십줄의 코드만으로도 높은 수준의 보안을 유지
간단한 선언만으로 작동하여 대량의 코드를 손쉽게 절약
적절한 튜닝으로 기능 확장 용이
01
Spring Security 란?
Spring Security 는 J2EE 기반의 엔터프라이즈 소프트웨어 어플리케이션에 대한 포괄적인
보안 서비스를 제공한다.
사람들이 Acegi Security 를 사용하는 이유는 여러가지가 있는데 , 대부분 J2EE 서블릿 스펙이나
EJB 스펙이 일반적인 엔터프라이즈 어플리케이션 시나리오에서 필요로 하는 수준의 기능이
부족하다는 것을 깨닫고 난 이후의 프로젝트에서부터 많이 사용되어 왔다
3
02 보안이란?
Authentication
인증
Authorization
권한 부여인증
후
보안의 핵심 개념
-인증과 역할 부여(권한 부여, 인가)
1.인증이란?
어플리케이션 사용자가 주장하는 본인이 맞는지 확인하는 절차
인증방식
 크리덴셜 기반 : 사용자명과 비밀번호를 입력받아 저장된 정보와 일치하는지 확인
 이중인증 : 한번에 2가지 방식으로 인증 (ex.은행어플-로그인과 인증서 2가지 방법으로 확인)
 하드웨어 인증 : 지문 혹은 보안카드키 등 물리적인 키를 통해 인증받는 방식
2.역할 부여란?
인증을 통해서 인증된 주체를 하나 이상의 권한에 맵핑하고 보호된 리소스에 대한 권한을 체크
하는 것
부여된 권한
 적절한 절차로 사용자가 인증되면 권한을 부여합니다.
리소스의 권한
 적절한 권한을 가진자만 해당자원에 접근할 수 있도록 자원의 외부요청을 원천적으로 가로채
는(Intercept) 것이 권한부여의 핵심원칙이라 할 수 있겠습니다.
4
서블릿 필터체인
03
접근 주
체
Principal
서블릿
응답 반
환
DelegatingFilterProxy
 Spring Security 가 모든 요청을 감싸게 해서 모든 요청에 보안이 적용되게 하는 서블릿 필터.
 Spring Security 는 Filter를 이용해 DispatcherServlet 처럼 요청을 가로채도록 설계되어 있습니
다.
 이 Filter 는 서블릿을 감싸는 형태로설계되어 있어 서로 겹치는 요청이 들어온다면 필터를 통
해
인증 및 권한부여가 이루어진후 페이지에 대한 권한이 있는지를 먼저 확인하도록 설계되었습
니다.
리소스의 권한 (Intercept)
- Spring Security 는 인터셉터 방식으로 작동.
요청 전처리
응답 후처리
5
04
커스터마이징
- Spring Security 를 적용하면서 기본설정으로는 실제 적용시키기엔 무리가 있어 반드시 커스
터마이징이 필수적으로 필요 하다.
* 주의점 : Spring Security 의 필터들은 순서가 존재하며 이순서를 어길 경우 결과를 예측할수
없으므로 특별한 경우가 아니라면 순서를 지켜주는 것이 좋다.(이미지 참조)
6
05 기본 설정 순서
- 실제 소스반영을 위한 설정 순서
1.web.xml
 DelegatingFilterProxy 등록
 Context 설정
2.security-context.xml 생성
 web.xml에서 설정한 context 위치에 파일 생성
7
06 3.security-context.xml
 네임 스페이스 설정
 <http> 요소 설정
 <intercept-url> 설정
 로그인 폼 설정
 권한 설정
 권한 부여 매니저 설정
1) 표현식 사용 유무 설정
Use-expressions=“true”
2) Intercept-url 태그 내에 접근권한을
access에 설정
3) 표현식 사용시 가능한 권한들
• 함수 종류
hasIpAddress(ip):접근자의 ip 주소 매칭
hasRole(role):역할이 부여된 권한 매칭
hasAnyRole(role):여러 개의 권한중 매칭
ex) access=“hasAnyRole(‘ROLE_USER’,
’ROLE_ADMIN’)’”
• 조건(사용가능한 역할 조건) 종류
permitAll:모든 접근자 승인
denyAll:모든 사용자 거부
anonymous:익명 사용자인지 확인
authenticated:인증된 사용자인지 확인
rememberMe:사용자가 remember me 를 사용
해 인증했는지 확인
fullyAuthenticated:사용자가 모든 크리덴셜을
갖
춘 상태에서 인증했는지 확인
감사합니다

Weitere ähnliche Inhalte

Was ist angesagt?

Project turtle ship
Project turtle shipProject turtle ship
Project turtle shiphanbeom Park
 
가장 심각한 웹 애플리케이션 보안 위험 10가지-2013
가장 심각한 웹 애플리케이션 보안 위험 10가지-2013가장 심각한 웹 애플리케이션 보안 위험 10가지-2013
가장 심각한 웹 애플리케이션 보안 위험 10가지-2013봉조 김
 
2015.8.12 웹 보안 이슈와 보안 공학의 중요성
2015.8.12 웹 보안 이슈와 보안 공학의 중요성2015.8.12 웹 보안 이슈와 보안 공학의 중요성
2015.8.12 웹 보안 이슈와 보안 공학의 중요성Chanjin Park
 
Coding Conventions & Secure Coding
Coding Conventions & Secure CodingCoding Conventions & Secure Coding
Coding Conventions & Secure CodingDonghyun Seo
 
Under attack - web
Under attack - webUnder attack - web
Under attack - webWonjun Hwang
 
Wiki academy sysadmin 1_day
Wiki academy sysadmin 1_dayWiki academy sysadmin 1_day
Wiki academy sysadmin 1_dayJo Hoon
 
시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬
시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬
시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬위키북스
 
Owasp top 10 2013 - 정다운 -
Owasp top 10   2013 - 정다운 -Owasp top 10   2013 - 정다운 -
Owasp top 10 2013 - 정다운 -Darion Kim
 
[D2 CAMPUS] 분야별 모임 '보안' 발표자료
[D2 CAMPUS] 분야별 모임 '보안' 발표자료[D2 CAMPUS] 분야별 모임 '보안' 발표자료
[D2 CAMPUS] 분야별 모임 '보안' 발표자료NAVER D2
 
ePrismX: Next Generation Cybersecurity Appliance Platform
ePrismX: Next Generation Cybersecurity Appliance PlatformePrismX: Next Generation Cybersecurity Appliance Platform
ePrismX: Next Generation Cybersecurity Appliance PlatformChul-Woong Yang
 
Shield one sig_ssl_vpn_설정가이드(6.25gd)
Shield one sig_ssl_vpn_설정가이드(6.25gd)Shield one sig_ssl_vpn_설정가이드(6.25gd)
Shield one sig_ssl_vpn_설정가이드(6.25gd)PLUS-I
 
2006년 SSL VPN 포탈 보안 강화(안)
2006년 SSL VPN 포탈 보안 강화(안)2006년 SSL VPN 포탈 보안 강화(안)
2006년 SSL VPN 포탈 보안 강화(안)Sihyoung Jurn
 
빅데이터와 보안
빅데이터와 보안빅데이터와 보안
빅데이터와 보안Myounghun Kang
 
2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온시온시큐리티
 
보안과 빅데이터의 올바른 접목
보안과 빅데이터의 올바른 접목보안과 빅데이터의 올바른 접목
보안과 빅데이터의 올바른 접목Myounghun Kang
 

Was ist angesagt? (20)

Project turtle ship
Project turtle shipProject turtle ship
Project turtle ship
 
가장 심각한 웹 애플리케이션 보안 위험 10가지-2013
가장 심각한 웹 애플리케이션 보안 위험 10가지-2013가장 심각한 웹 애플리케이션 보안 위험 10가지-2013
가장 심각한 웹 애플리케이션 보안 위험 10가지-2013
 
2015.8.12 웹 보안 이슈와 보안 공학의 중요성
2015.8.12 웹 보안 이슈와 보안 공학의 중요성2015.8.12 웹 보안 이슈와 보안 공학의 중요성
2015.8.12 웹 보안 이슈와 보안 공학의 중요성
 
Coding Conventions & Secure Coding
Coding Conventions & Secure CodingCoding Conventions & Secure Coding
Coding Conventions & Secure Coding
 
Under attack - web
Under attack - webUnder attack - web
Under attack - web
 
Wiki academy sysadmin 1_day
Wiki academy sysadmin 1_dayWiki academy sysadmin 1_day
Wiki academy sysadmin 1_day
 
시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬
시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬
시스템/네트워크 관리자가 바로 쓸 수 있는 파이썬
 
Owasp top 10 2013 - 정다운 -
Owasp top 10   2013 - 정다운 -Owasp top 10   2013 - 정다운 -
Owasp top 10 2013 - 정다운 -
 
가상키패드 (Vkeypad)
가상키패드 (Vkeypad)가상키패드 (Vkeypad)
가상키패드 (Vkeypad)
 
[D2 CAMPUS] 분야별 모임 '보안' 발표자료
[D2 CAMPUS] 분야별 모임 '보안' 발표자료[D2 CAMPUS] 분야별 모임 '보안' 발표자료
[D2 CAMPUS] 분야별 모임 '보안' 발표자료
 
2014 pc방화벽 시온
2014 pc방화벽 시온2014 pc방화벽 시온
2014 pc방화벽 시온
 
ePrismX: Next Generation Cybersecurity Appliance Platform
ePrismX: Next Generation Cybersecurity Appliance PlatformePrismX: Next Generation Cybersecurity Appliance Platform
ePrismX: Next Generation Cybersecurity Appliance Platform
 
Shield one sig_ssl_vpn_설정가이드(6.25gd)
Shield one sig_ssl_vpn_설정가이드(6.25gd)Shield one sig_ssl_vpn_설정가이드(6.25gd)
Shield one sig_ssl_vpn_설정가이드(6.25gd)
 
OWASP TOP 10 in 2007
OWASP TOP 10 in 2007OWASP TOP 10 in 2007
OWASP TOP 10 in 2007
 
2006년 SSL VPN 포탈 보안 강화(안)
2006년 SSL VPN 포탈 보안 강화(안)2006년 SSL VPN 포탈 보안 강화(안)
2006년 SSL VPN 포탈 보안 강화(안)
 
빅데이터와 보안
빅데이터와 보안빅데이터와 보안
빅데이터와 보안
 
Hillstone networks utm 2016년
Hillstone networks utm 2016년Hillstone networks utm 2016년
Hillstone networks utm 2016년
 
K defense v-keypad
K defense v-keypadK defense v-keypad
K defense v-keypad
 
2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온
 
보안과 빅데이터의 올바른 접목
보안과 빅데이터의 올바른 접목보안과 빅데이터의 올바른 접목
보안과 빅데이터의 올바른 접목
 

Andere mochten auch

데이터베이스 시스템 chapter2_STG박하은
데이터베이스 시스템 chapter2_STG박하은데이터베이스 시스템 chapter2_STG박하은
데이터베이스 시스템 chapter2_STG박하은ETRIBE_STG
 
데이터베이스 시스템 chapter1_STG박하은
데이터베이스 시스템 chapter1_STG박하은데이터베이스 시스템 chapter1_STG박하은
데이터베이스 시스템 chapter1_STG박하은ETRIBE_STG
 
Amazon web service simple diagram overview
Amazon web service simple diagram overviewAmazon web service simple diagram overview
Amazon web service simple diagram overviewJuyeon Yu
 
머큐리얼저장소추가 사용자추가 권한추가
머큐리얼저장소추가 사용자추가 권한추가머큐리얼저장소추가 사용자추가 권한추가
머큐리얼저장소추가 사용자추가 권한추가ETRIBE_STG
 
Android version
Android version Android version
Android version ETRIBE_STG
 
리눅스에 대하여
리눅스에 대하여리눅스에 대하여
리눅스에 대하여ETRIBE_STG
 
Wix - 웹 홈페이지 제작
Wix - 웹 홈페이지 제작Wix - 웹 홈페이지 제작
Wix - 웹 홈페이지 제작ETRIBE_STG
 
구글맵 JavaScript API
구글맵 JavaScript API구글맵 JavaScript API
구글맵 JavaScript APIETRIBE_STG
 
데이터베이스 시스템 chapter4_STG박하은
데이터베이스 시스템 chapter4_STG박하은데이터베이스 시스템 chapter4_STG박하은
데이터베이스 시스템 chapter4_STG박하은ETRIBE_STG
 
모바일에서 Ble pxp
모바일에서 Ble pxp모바일에서 Ble pxp
모바일에서 Ble pxpETRIBE_STG
 
지적재산권
지적재산권지적재산권
지적재산권ETRIBE_STG
 
Node js[stg]onimusha 20140822
Node js[stg]onimusha 20140822Node js[stg]onimusha 20140822
Node js[stg]onimusha 20140822병헌 정
 
B2G Technology Report Mobile Application Security
B2G Technology Report Mobile Application SecurityB2G Technology Report Mobile Application Security
B2G Technology Report Mobile Application SecurityDillan Ryu
 
스타트업 기자단 공개교육 - 미디어의 환경 변화와 언론인의 역할(명승은 벤처스퀘어 대표)
스타트업 기자단 공개교육 - 미디어의 환경 변화와 언론인의 역할(명승은 벤처스퀘어 대표)스타트업 기자단 공개교육 - 미디어의 환경 변화와 언론인의 역할(명승은 벤처스퀘어 대표)
스타트업 기자단 공개교육 - 미디어의 환경 변화와 언론인의 역할(명승은 벤처스퀘어 대표)VentureSquare
 
Apache tomcat 로드밸런싱 김태호-20140808
Apache tomcat 로드밸런싱 김태호-20140808Apache tomcat 로드밸런싱 김태호-20140808
Apache tomcat 로드밸런싱 김태호-20140808Taeho Kim
 
Hd sdi 영상분배 증폭기
Hd sdi 영상분배 증폭기Hd sdi 영상분배 증폭기
Hd sdi 영상분배 증폭기Deok kyu Ahn
 
task_analysis_synthesis
task_analysis_synthesistask_analysis_synthesis
task_analysis_synthesisHyunjin Yoo
 

Andere mochten auch (20)

데이터베이스 시스템 chapter2_STG박하은
데이터베이스 시스템 chapter2_STG박하은데이터베이스 시스템 chapter2_STG박하은
데이터베이스 시스템 chapter2_STG박하은
 
데이터베이스 시스템 chapter1_STG박하은
데이터베이스 시스템 chapter1_STG박하은데이터베이스 시스템 chapter1_STG박하은
데이터베이스 시스템 chapter1_STG박하은
 
AWS
AWSAWS
AWS
 
Amazon web service simple diagram overview
Amazon web service simple diagram overviewAmazon web service simple diagram overview
Amazon web service simple diagram overview
 
Objc literals
Objc literalsObjc literals
Objc literals
 
머큐리얼저장소추가 사용자추가 권한추가
머큐리얼저장소추가 사용자추가 권한추가머큐리얼저장소추가 사용자추가 권한추가
머큐리얼저장소추가 사용자추가 권한추가
 
Android version
Android version Android version
Android version
 
리눅스에 대하여
리눅스에 대하여리눅스에 대하여
리눅스에 대하여
 
Swing browser
Swing browserSwing browser
Swing browser
 
Wix - 웹 홈페이지 제작
Wix - 웹 홈페이지 제작Wix - 웹 홈페이지 제작
Wix - 웹 홈페이지 제작
 
구글맵 JavaScript API
구글맵 JavaScript API구글맵 JavaScript API
구글맵 JavaScript API
 
데이터베이스 시스템 chapter4_STG박하은
데이터베이스 시스템 chapter4_STG박하은데이터베이스 시스템 chapter4_STG박하은
데이터베이스 시스템 chapter4_STG박하은
 
모바일에서 Ble pxp
모바일에서 Ble pxp모바일에서 Ble pxp
모바일에서 Ble pxp
 
지적재산권
지적재산권지적재산권
지적재산권
 
Node js[stg]onimusha 20140822
Node js[stg]onimusha 20140822Node js[stg]onimusha 20140822
Node js[stg]onimusha 20140822
 
B2G Technology Report Mobile Application Security
B2G Technology Report Mobile Application SecurityB2G Technology Report Mobile Application Security
B2G Technology Report Mobile Application Security
 
스타트업 기자단 공개교육 - 미디어의 환경 변화와 언론인의 역할(명승은 벤처스퀘어 대표)
스타트업 기자단 공개교육 - 미디어의 환경 변화와 언론인의 역할(명승은 벤처스퀘어 대표)스타트업 기자단 공개교육 - 미디어의 환경 변화와 언론인의 역할(명승은 벤처스퀘어 대표)
스타트업 기자단 공개교육 - 미디어의 환경 변화와 언론인의 역할(명승은 벤처스퀘어 대표)
 
Apache tomcat 로드밸런싱 김태호-20140808
Apache tomcat 로드밸런싱 김태호-20140808Apache tomcat 로드밸런싱 김태호-20140808
Apache tomcat 로드밸런싱 김태호-20140808
 
Hd sdi 영상분배 증폭기
Hd sdi 영상분배 증폭기Hd sdi 영상분배 증폭기
Hd sdi 영상분배 증폭기
 
task_analysis_synthesis
task_analysis_synthesistask_analysis_synthesis
task_analysis_synthesis
 

Ähnlich wie Spring Security

IoT 공통 보안가이드
IoT 공통 보안가이드IoT 공통 보안가이드
IoT 공통 보안가이드봉조 김
 
포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안TJ Seo
 
201412 문서보안제안서 시온
201412 문서보안제안서 시온201412 문서보안제안서 시온
201412 문서보안제안서 시온시온시큐리티
 
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육NAVER D2 STARTUP FACTORY
 
KEYRKE - CSAM 클라우드 비밀자산관리 솔루션 (Cloud Secret Asset Management)
KEYRKE -	CSAM 클라우드 비밀자산관리 솔루션 (Cloud Secret Asset Management)KEYRKE -	CSAM 클라우드 비밀자산관리 솔루션 (Cloud Secret Asset Management)
KEYRKE - CSAM 클라우드 비밀자산관리 솔루션 (Cloud Secret Asset Management)시온시큐리티
 
스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해beom kyun choi
 
Secure Work System v2.0 소개자료_201503
Secure Work System v2.0 소개자료_201503Secure Work System v2.0 소개자료_201503
Secure Work System v2.0 소개자료_201503silverfox2580
 
[고려대학교-SANE Lab] 170317풀타임세미나 이상민
[고려대학교-SANE Lab]  170317풀타임세미나 이상민[고려대학교-SANE Lab]  170317풀타임세미나 이상민
[고려대학교-SANE Lab] 170317풀타임세미나 이상민Sane Lab
 
오피스세이퍼 소개자료
오피스세이퍼 소개자료오피스세이퍼 소개자료
오피스세이퍼 소개자료silverfox2580
 
Observability customer presentation samuel-2021-03-30
Observability customer presentation samuel-2021-03-30Observability customer presentation samuel-2021-03-30
Observability customer presentation samuel-2021-03-30SAMUEL SJ Cheon
 
AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스
AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스 AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스
AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스 Softwide Security
 
Openstack security(2018)
Openstack security(2018)Openstack security(2018)
Openstack security(2018)Gasida Seo
 
내부자정보유출방지 : 엔드포인트 통합보안
내부자정보유출방지 : 엔드포인트 통합보안 내부자정보유출방지 : 엔드포인트 통합보안
내부자정보유출방지 : 엔드포인트 통합보안 시온시큐리티
 
SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용
SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용
SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용CURVC Corp
 
S1.part.3.word camp seoul-2010-wordpress-lmh
S1.part.3.word camp seoul-2010-wordpress-lmhS1.part.3.word camp seoul-2010-wordpress-lmh
S1.part.3.word camp seoul-2010-wordpress-lmh082net
 
Sua 정보보호관리체계 cissp_보안구조_강의교안
Sua 정보보호관리체계 cissp_보안구조_강의교안Sua 정보보호관리체계 cissp_보안구조_강의교안
Sua 정보보호관리체계 cissp_보안구조_강의교안Lee Chanwoo
 
[발표용 '15.11.27]정보보안 전문가 되는길 new(최종_요약본)
[발표용 '15.11.27]정보보안 전문가 되는길 new(최종_요약본)[발표용 '15.11.27]정보보안 전문가 되는길 new(최종_요약본)
[발표용 '15.11.27]정보보안 전문가 되는길 new(최종_요약본)james yoo
 

Ähnlich wie Spring Security (20)

IoT 공통 보안가이드
IoT 공통 보안가이드IoT 공통 보안가이드
IoT 공통 보안가이드
 
포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안
 
201412 문서보안제안서 시온
201412 문서보안제안서 시온201412 문서보안제안서 시온
201412 문서보안제안서 시온
 
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
 
KEYRKE - CSAM 클라우드 비밀자산관리 솔루션 (Cloud Secret Asset Management)
KEYRKE -	CSAM 클라우드 비밀자산관리 솔루션 (Cloud Secret Asset Management)KEYRKE -	CSAM 클라우드 비밀자산관리 솔루션 (Cloud Secret Asset Management)
KEYRKE - CSAM 클라우드 비밀자산관리 솔루션 (Cloud Secret Asset Management)
 
[패스워드관리] APPM for CCTV
[패스워드관리] APPM for CCTV[패스워드관리] APPM for CCTV
[패스워드관리] APPM for CCTV
 
스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해
 
Secure Work System v2.0 소개자료_201503
Secure Work System v2.0 소개자료_201503Secure Work System v2.0 소개자료_201503
Secure Work System v2.0 소개자료_201503
 
[고려대학교-SANE Lab] 170317풀타임세미나 이상민
[고려대학교-SANE Lab]  170317풀타임세미나 이상민[고려대학교-SANE Lab]  170317풀타임세미나 이상민
[고려대학교-SANE Lab] 170317풀타임세미나 이상민
 
새도우크브 drm
새도우크브 drm새도우크브 drm
새도우크브 drm
 
오피스세이퍼 소개자료
오피스세이퍼 소개자료오피스세이퍼 소개자료
오피스세이퍼 소개자료
 
Observability customer presentation samuel-2021-03-30
Observability customer presentation samuel-2021-03-30Observability customer presentation samuel-2021-03-30
Observability customer presentation samuel-2021-03-30
 
AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스
AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스 AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스
AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스
 
정보보호체계 제언
정보보호체계 제언 정보보호체계 제언
정보보호체계 제언
 
Openstack security(2018)
Openstack security(2018)Openstack security(2018)
Openstack security(2018)
 
내부자정보유출방지 : 엔드포인트 통합보안
내부자정보유출방지 : 엔드포인트 통합보안 내부자정보유출방지 : 엔드포인트 통합보안
내부자정보유출방지 : 엔드포인트 통합보안
 
SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용
SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용
SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용
 
S1.part.3.word camp seoul-2010-wordpress-lmh
S1.part.3.word camp seoul-2010-wordpress-lmhS1.part.3.word camp seoul-2010-wordpress-lmh
S1.part.3.word camp seoul-2010-wordpress-lmh
 
Sua 정보보호관리체계 cissp_보안구조_강의교안
Sua 정보보호관리체계 cissp_보안구조_강의교안Sua 정보보호관리체계 cissp_보안구조_강의교안
Sua 정보보호관리체계 cissp_보안구조_강의교안
 
[발표용 '15.11.27]정보보안 전문가 되는길 new(최종_요약본)
[발표용 '15.11.27]정보보안 전문가 되는길 new(최종_요약본)[발표용 '15.11.27]정보보안 전문가 되는길 new(최종_요약본)
[발표용 '15.11.27]정보보안 전문가 되는길 new(최종_요약본)
 

Mehr von ETRIBE_STG

데이터베이스 시스템 chapter3_STG박하은
데이터베이스 시스템 chapter3_STG박하은데이터베이스 시스템 chapter3_STG박하은
데이터베이스 시스템 chapter3_STG박하은ETRIBE_STG
 
모바일에서 Ble pxp
모바일에서 Ble pxp모바일에서 Ble pxp
모바일에서 Ble pxpETRIBE_STG
 
Javascript 완벽 가이드 정리
Javascript 완벽 가이드 정리Javascript 완벽 가이드 정리
Javascript 완벽 가이드 정리ETRIBE_STG
 
표기법을 아시나요?
표기법을 아시나요?표기법을 아시나요?
표기법을 아시나요?ETRIBE_STG
 
피들러 신명대
피들러 신명대피들러 신명대
피들러 신명대ETRIBE_STG
 
Google analytics
Google analyticsGoogle analytics
Google analyticsETRIBE_STG
 
대표적인 오픈 소스 라이센스 요약 - 장형주
대표적인 오픈 소스 라이센스 요약 - 장형주대표적인 오픈 소스 라이센스 요약 - 장형주
대표적인 오픈 소스 라이센스 요약 - 장형주ETRIBE_STG
 
애플이 스위프트 프로그래밍 언어를 위해 "훔친" 몇 가지 기능
애플이 스위프트 프로그래밍 언어를 위해 "훔친" 몇 가지 기능애플이 스위프트 프로그래밍 언어를 위해 "훔친" 몇 가지 기능
애플이 스위프트 프로그래밍 언어를 위해 "훔친" 몇 가지 기능ETRIBE_STG
 
게임 기획서 작성하기 - 송철헌
게임 기획서 작성하기 - 송철헌게임 기획서 작성하기 - 송철헌
게임 기획서 작성하기 - 송철헌ETRIBE_STG
 
좋은개발자가되는8가지방법 - 박하은
좋은개발자가되는8가지방법 - 박하은좋은개발자가되는8가지방법 - 박하은
좋은개발자가되는8가지방법 - 박하은ETRIBE_STG
 
리눅스와 스팀 - 황성원
리눅스와 스팀 - 황성원리눅스와 스팀 - 황성원
리눅스와 스팀 - 황성원ETRIBE_STG
 
타이젠 어디까지 왔나 - 김진용
타이젠 어디까지 왔나 -  김진용타이젠 어디까지 왔나 -  김진용
타이젠 어디까지 왔나 - 김진용ETRIBE_STG
 
늑대가 죽은 이유 - 허성
늑대가 죽은 이유 - 허성늑대가 죽은 이유 - 허성
늑대가 죽은 이유 - 허성ETRIBE_STG
 
SQL쿼리튜닝팁 - 허성
SQL쿼리튜닝팁 - 허성SQL쿼리튜닝팁 - 허성
SQL쿼리튜닝팁 - 허성ETRIBE_STG
 
웹접근성 검수 툴 - 김현주
웹접근성 검수 툴 - 김현주웹접근성 검수 툴 - 김현주
웹접근성 검수 툴 - 김현주ETRIBE_STG
 
리눅스서버세팅-김태호
리눅스서버세팅-김태호리눅스서버세팅-김태호
리눅스서버세팅-김태호ETRIBE_STG
 

Mehr von ETRIBE_STG (16)

데이터베이스 시스템 chapter3_STG박하은
데이터베이스 시스템 chapter3_STG박하은데이터베이스 시스템 chapter3_STG박하은
데이터베이스 시스템 chapter3_STG박하은
 
모바일에서 Ble pxp
모바일에서 Ble pxp모바일에서 Ble pxp
모바일에서 Ble pxp
 
Javascript 완벽 가이드 정리
Javascript 완벽 가이드 정리Javascript 완벽 가이드 정리
Javascript 완벽 가이드 정리
 
표기법을 아시나요?
표기법을 아시나요?표기법을 아시나요?
표기법을 아시나요?
 
피들러 신명대
피들러 신명대피들러 신명대
피들러 신명대
 
Google analytics
Google analyticsGoogle analytics
Google analytics
 
대표적인 오픈 소스 라이센스 요약 - 장형주
대표적인 오픈 소스 라이센스 요약 - 장형주대표적인 오픈 소스 라이센스 요약 - 장형주
대표적인 오픈 소스 라이센스 요약 - 장형주
 
애플이 스위프트 프로그래밍 언어를 위해 "훔친" 몇 가지 기능
애플이 스위프트 프로그래밍 언어를 위해 "훔친" 몇 가지 기능애플이 스위프트 프로그래밍 언어를 위해 "훔친" 몇 가지 기능
애플이 스위프트 프로그래밍 언어를 위해 "훔친" 몇 가지 기능
 
게임 기획서 작성하기 - 송철헌
게임 기획서 작성하기 - 송철헌게임 기획서 작성하기 - 송철헌
게임 기획서 작성하기 - 송철헌
 
좋은개발자가되는8가지방법 - 박하은
좋은개발자가되는8가지방법 - 박하은좋은개발자가되는8가지방법 - 박하은
좋은개발자가되는8가지방법 - 박하은
 
리눅스와 스팀 - 황성원
리눅스와 스팀 - 황성원리눅스와 스팀 - 황성원
리눅스와 스팀 - 황성원
 
타이젠 어디까지 왔나 - 김진용
타이젠 어디까지 왔나 -  김진용타이젠 어디까지 왔나 -  김진용
타이젠 어디까지 왔나 - 김진용
 
늑대가 죽은 이유 - 허성
늑대가 죽은 이유 - 허성늑대가 죽은 이유 - 허성
늑대가 죽은 이유 - 허성
 
SQL쿼리튜닝팁 - 허성
SQL쿼리튜닝팁 - 허성SQL쿼리튜닝팁 - 허성
SQL쿼리튜닝팁 - 허성
 
웹접근성 검수 툴 - 김현주
웹접근성 검수 툴 - 김현주웹접근성 검수 툴 - 김현주
웹접근성 검수 툴 - 김현주
 
리눅스서버세팅-김태호
리눅스서버세팅-김태호리눅스서버세팅-김태호
리눅스서버세팅-김태호
 

Spring Security

  • 2. 장점 스프링 프레임웍 기반 프로젝트로써 스프링 프로젝트에서 매우 유연하게 동작 몇십줄의 코드만으로도 높은 수준의 보안을 유지 간단한 선언만으로 작동하여 대량의 코드를 손쉽게 절약 적절한 튜닝으로 기능 확장 용이 01 Spring Security 란? Spring Security 는 J2EE 기반의 엔터프라이즈 소프트웨어 어플리케이션에 대한 포괄적인 보안 서비스를 제공한다. 사람들이 Acegi Security 를 사용하는 이유는 여러가지가 있는데 , 대부분 J2EE 서블릿 스펙이나 EJB 스펙이 일반적인 엔터프라이즈 어플리케이션 시나리오에서 필요로 하는 수준의 기능이 부족하다는 것을 깨닫고 난 이후의 프로젝트에서부터 많이 사용되어 왔다
  • 3. 3 02 보안이란? Authentication 인증 Authorization 권한 부여인증 후 보안의 핵심 개념 -인증과 역할 부여(권한 부여, 인가) 1.인증이란? 어플리케이션 사용자가 주장하는 본인이 맞는지 확인하는 절차 인증방식  크리덴셜 기반 : 사용자명과 비밀번호를 입력받아 저장된 정보와 일치하는지 확인  이중인증 : 한번에 2가지 방식으로 인증 (ex.은행어플-로그인과 인증서 2가지 방법으로 확인)  하드웨어 인증 : 지문 혹은 보안카드키 등 물리적인 키를 통해 인증받는 방식 2.역할 부여란? 인증을 통해서 인증된 주체를 하나 이상의 권한에 맵핑하고 보호된 리소스에 대한 권한을 체크 하는 것 부여된 권한  적절한 절차로 사용자가 인증되면 권한을 부여합니다. 리소스의 권한  적절한 권한을 가진자만 해당자원에 접근할 수 있도록 자원의 외부요청을 원천적으로 가로채 는(Intercept) 것이 권한부여의 핵심원칙이라 할 수 있겠습니다.
  • 4. 4 서블릿 필터체인 03 접근 주 체 Principal 서블릿 응답 반 환 DelegatingFilterProxy  Spring Security 가 모든 요청을 감싸게 해서 모든 요청에 보안이 적용되게 하는 서블릿 필터.  Spring Security 는 Filter를 이용해 DispatcherServlet 처럼 요청을 가로채도록 설계되어 있습니 다.  이 Filter 는 서블릿을 감싸는 형태로설계되어 있어 서로 겹치는 요청이 들어온다면 필터를 통 해 인증 및 권한부여가 이루어진후 페이지에 대한 권한이 있는지를 먼저 확인하도록 설계되었습 니다. 리소스의 권한 (Intercept) - Spring Security 는 인터셉터 방식으로 작동. 요청 전처리 응답 후처리
  • 5. 5 04 커스터마이징 - Spring Security 를 적용하면서 기본설정으로는 실제 적용시키기엔 무리가 있어 반드시 커스 터마이징이 필수적으로 필요 하다. * 주의점 : Spring Security 의 필터들은 순서가 존재하며 이순서를 어길 경우 결과를 예측할수 없으므로 특별한 경우가 아니라면 순서를 지켜주는 것이 좋다.(이미지 참조)
  • 6. 6 05 기본 설정 순서 - 실제 소스반영을 위한 설정 순서 1.web.xml  DelegatingFilterProxy 등록  Context 설정 2.security-context.xml 생성  web.xml에서 설정한 context 위치에 파일 생성
  • 7. 7 06 3.security-context.xml  네임 스페이스 설정  <http> 요소 설정  <intercept-url> 설정  로그인 폼 설정  권한 설정  권한 부여 매니저 설정 1) 표현식 사용 유무 설정 Use-expressions=“true” 2) Intercept-url 태그 내에 접근권한을 access에 설정 3) 표현식 사용시 가능한 권한들 • 함수 종류 hasIpAddress(ip):접근자의 ip 주소 매칭 hasRole(role):역할이 부여된 권한 매칭 hasAnyRole(role):여러 개의 권한중 매칭 ex) access=“hasAnyRole(‘ROLE_USER’, ’ROLE_ADMIN’)’” • 조건(사용가능한 역할 조건) 종류 permitAll:모든 접근자 승인 denyAll:모든 사용자 거부 anonymous:익명 사용자인지 확인 authenticated:인증된 사용자인지 확인 rememberMe:사용자가 remember me 를 사용 해 인증했는지 확인 fullyAuthenticated:사용자가 모든 크리덴셜을 갖 춘 상태에서 인증했는지 확인