본문 바로가기

전체 글

(122)
[Spring Boot] Security6 CSRF (Cross-Site Request Forgery) 및 설정 방법 CSRF(Cross-Site Request Forgery)는 사용자가 의도하지 않은 작업을 웹 애플리케이션에서 수행하도록 유도하는 공격 기법입니다. 이 공격은 사용자의 신원을 직접적으로 훔치지 않지만, 사용자가 자신도 모르는 사이에 행동을 취하도록 합니다. 이를 통해 공격자는 사용자의 권한을 이용해 악의적인 요청을 수행할 수 있습니다.단계별 CSRF 공격 설명단계 1: 사용자가 Netflix에 로그인사용자는 netflix.com에 로그인합니다.Netflix 서버는 사용자의 인증을 확인한 후, 해당 사용자의 브라우저에 쿠키를 생성하고 저장합니다.이 쿠키는 netflix.com 도메인에 대해 유효하며, 다른 도메인에서는 접근할 수 없습니다.단계 2: 사용자가 악성 웹사이트(evil.com)에 방문영화를 본 ..
[Spring Boot] Security6 CORS (Cross-Origin Resource Sharing) 및 설정 방법 정의와 목적:CORS는 웹 페이지의 스크립트가 페이지를 제공한 도메인과 다른 도메인에 요청을 할 수 있도록 하는 프로토콜입니다. 이는 여러 서버나 도메인에서 자원을 필요로 하는 웹 애플리케이션에 종종 필요합니다.기본적으로 웹 브라우저는 보안상의 이유로 이러한 교차 출처 요청을 차단합니다.출처 개념:출처는 스킴(프로토콜), 도메인(호스트), 포트의 조합으로 구성됩니다.다른 출처:다른 스킴 (예: HTTP vs. HTTPS)다른 도메인다른 포트브라우저의 기본 동작:Chrome, Firefox, Safari와 같은 최신 브라우저는 보안상의 이유로 기본적으로 교차 출처 요청을 차단합니다.이는 공격이나 취약점이 아니라 웹 애플리케이션을 악의적인 활동으로부터 보호하기 위한 보안 기능입니다.교차 출처 통신:한 도메인..
[Spring Boot] Security6 나만의 Authentication 로직 구현 UserDetailsService를 사용하지 않고, 직접 AuthenticationProvider를 구현하는 것은 특정 상황에서 유용할 수 있습니다. 예를 들어, 사용자 인증 로직이 매우 특화된 경우나, 기존 UserDetailsService를 사용하는 방식이 맞지 않는 경우에 이러한 접근 방식을 사용할 수 있습니다. 그러나, Spring Security가 제공하는 기본 구조와 원칙을 따르는 것이 일반적으로 더 나은 선택일 수 있습니다. 이를 통해 Spring Security의 강력한 기능과 확장성을 활용할 수 있기 때문입니다. package com.example.loans_domain.config;import com.example.loans_domain.model.Customer;import com.e..