‘스프링 프레임워크 (Spring Framework)’ 는 자바 플랫폼 을 위한 오픈소스 애플리케이션 프레임워크 로서 간단히 스프링 (Spring) 이라고도 불린다. 아키텍처의 중요성이 강조되면서 조명받기 시작하여 엔터프라이즈 어플리케이션 개발의 복잡성을 줄여주고 , 모든 기능을 종합적으로 제공하는 경량화된 솔루션이다 . 우리나라 전자정부의 웹 서비스 개발 시, 사용을 권장하고 있는 전자정부 표준프레임워크 의 기반 기술로도 쓰이고 있다.
그 중에서도 ‘스프링 시큐리티’ 는 스프링 프레임워크의 하위 개념으로, ‘웹 보안’ 에 관련된 프레임워크이다. 스프링 시큐리티는 강력하면서도 사용하기가 쉽고, 게다가 단 몇 십줄의 코드만으로도 대형 웹 서비스사와 비슷한 수준의 보안을 유지할 수 있다는 장점이 있다. 물론 기업에서 필요한 시스템에 적합한 시스템을 만들기위해서는 적절한 튜닝이 필요하겠지만 그에 따른 스프링 시큐리티는 정말최상 중 최상의 선택이 아닐 수 없다. 스프링 시큐리티는 수 년간의 오픈소스 개발로 인하여 많은 노하우가 녹아있지만, 국내에서는 상대적으로 유명하지 않고 소개되어 있는 곳도 많지 않은 편인 ‘ 스프링 시큐리티 ’ 에 대해 KBS 기술본부 시스템운용부 강자원 기술사로부터 조언을 구할 수 있었다.
< KBS 기술본부 시스템운용부 강자원 기술사 >
1. 스프링 시큐리티 프레임워크의 정의와 역할
2. 스프링 프레임워크의 핵심
3. 스프링 시큐리티 프레임워크 사용방법
4. 스프링 시큐리티 프레임워크 아키텍처
|
Q) 스프링 시큐리티 프레임워크를 한마디로 정의하자면 무엇인가요?
스프링 시큐리티 프레임워크는 필요한 인증, 권한 및 보안관련 기능들을 손쉽게 사용할 수 있게 지원해주는 프레임워크입니다. 구현은servlet filter 및 Spring AOP 기반이며 유연한 설계로 다양한 확장 및 커스터마이징이 가능합니다. 또한, 비즈니스 로직과 인증, 권한로직을 90% 이상 분리가 가능하며 구축된 프레임워크의 재활용과 기존 스프링 기반의 레거시 시스템에 적용할 때 매우 유용한 장점이있습니다.
Q) 왜 스프링 시큐리티 프레임워크를 사용하는 건가요?
보안강화를 위해서 어떤 역할을 하는지 궁금합니다.
기본 설정만으로도 일반적인 기업 인증 시스템과의 연동이 바로 가능하고 설정을 제외하고 아주 적은 노력만으로도 각 상황에 보안을 적용할 수 있습니다.
또한, 스프링 시큐리티를 사용하면 다음과 같은 일들을 할 수 있습니다.
- 시스템 사용자를 개별 사용자를 세분화 한다.
- 사용자 역할에 따라 권한부여 레벨을 부여한다.
- 사용자 군에 사용자 역할을 부여한다.
- 애플리케이션 리소스에 대해 전역으로 인증규칙을 적용한다.
- 모든 애플리케이션 아키텍처 레벨에서 권한 부여 규칙을 적용한다.
- 사용자의 세션을 조작하거나 훔치려는 일반적인 공격을 차단한다.
더 보기 >>>