본문 바로가기

항해99

[항해99] WIL 24.03.09

Spring 페어프로그래밍

이번주는 4-5레벨 모두 같은 페어와 함께 했다. 아 그리고 한 분이 추가로 오셔서 3명에서 진행했다.

기간도 두 개 합쳐서 월요일까지만 제출하면 되었던 부분이라, 3레벨에 비하면 마음의 여유가 조금 있었던 것 같다.

그렇지만.. 버전 오류와 시크릿키 인식 불가 문제로 오래걸렸다.ㅠㅠ

4레벨은 인증/인가 부분을 맡아서 진행했고

5레벨은 장바구니 수정/삭제 부분이였는데, 장바구니 추가 맡으셨던 분이 403 에러가 계속 뜬다고 하셔서 직접 다시 만들어봤는데 제대로 들어갔다. 그래서 추가/수정/삭제 부분을 맡게 되었다.

 

Spring Security는 강력한 사용자 정의가 가능한 인증 및 액세스 제어 프레임워크

  1. 인증: 데이터베이스, LDAP, OAuth 등과 같은 다양한 소스에 대해 사용자를 인증하기 위한 강력한 메커니즘을 제공함. 폼 기반 인증, HTTP Basic, HTTP Digest, OAuth 등 다양한 인증 방식도 제공
  2. 권한 부여: 개발자가 사용자 역할, 권한이나 표현을 기반으로 액세스 규칙을 정의할 수 있도록 해서 세분화된 액세스 제어를 가능하게 해줌. 
  3. 보안 필터: Servlet API와 통합되어 들어오는 요청을 가로채고 보안 검사를 적용함. 필터 체인을 사용하여 인증, 권한 부여, 세션 관리, CSRF 보호 등과 같은 작업을 수행
  4. 세션 관리: 세션 고정 보호, 동시 세션 제어, 세션 시간 초과 처리 및 세션 생성 정책을 포함해서 사용자 세션 처리 방법을 제어하는 ​​세션 관리 기능도 제공함
  5. CSRF 보호: CSRF(Cross-Site Request Forgery) 보호는 각 요청에 대해 고유한 토큰을 생성하고 검증하여 악의적인 공격을 방지하기 위해 Spring Security에 내장되어 있음
  6. 메서드 수준 보안: Spring Security를 ​​사용하면 개발자는 주석을 사용해서 개별 메서드나 클래스를 보호할 수 있음 -> 애플리케이션의 특정 부분에 대한 액세스를 세밀하게 제어 가능
  7. 다른 Spring 프로젝트와의 통합: Spring MVC, Spring Boot, Spring Data 등 다른 Spring 프로젝트와 원활하게 통합되어 애플리케이션의 다양한 계층을 쉽게 보호가능
  8. 사용자 정의 및 확장: 유연하고 확장 가능한 아키텍처를 제공 -> 개발자는 애플리케이션의 특정 보안 요구 사항에 따라 기능을 사용자 정의하고 확장이 가능함

요악하자면, Spring Security 강력한 보안 조치를 구현하고 일반적인 보안 위협으로부터 보호하며 민감한 리소스의 기밀성, 무결성, 가용성을 보장하기 위해 사용됨

 

CSRF

- 공격자가 사용자를 속여 사용자가 인증된 웹 애플리케이션에서 의도치 않게 작업을 실행하도록 하는 공격 유형

- 공격은 사용자의 애플리케이션 활성 세션을 악용하여 수행

- CSRF 이해하고 적절한 보안 조치를 구현하는 것은 무단 활동으로부터 애플리케이션을 보호하고 악의적인 행위자의 악용으로부터 사용자 데이터를 보호하는 중요한 일을 함

 

저번주 목표 달성 여부 

회색+밑줄 : 달성

검정 글씨 : 미달성

파란 글씨 : 반정도 달성

 

1. 그동안 프로젝트 피드백 받은 부분 다 고쳐보기

2. 스터디 준비 잘 하기

3. 깃허브 익숙해지기

 

다음주 목표

1. 그동안 프로젝트 피드백 받은 부분 다 고쳐보기

2. 밀린 시험 리뷰 작성하기

3. 강의 기초~심화 정리한 것 블로그에 업로드하기

4. 스터디 책 내용에 있는 코드들 작성해서 리뷰해보기