세션(3)
-
iron-session과 next-auth
iron-session과 next-auth는 Next.js에서 사용자 인증을 구현하기 위해 사용할 수 있는 두 가지 라이브러리다. 하지만 각각의 목적과 사용 방식이 다르다. iron-session목적세션 기반 인증 및 데이터 저장주요 기능암호화된 세션 쿠키를 사용해 사용자 데이터를 안전하게 저장커스텀 인증 로직을 구현해야 함인증 플로우가 간단한 애플리케이션에 적합next-auth목적OAuth와 같은 다양한 인증 방법을 쉽게 통합주요 기능Google, Facebook, GitHub, Twitter 등의 소셜 로그인 지원데이터베이스 연동을 통한 사용자 정보 저장 및 관리서버 및 클라이언트에서 인증 상태를 쉽게 관리 가능복잡한 인증 요구사항이 있는 애플리케이션에 적합
2024.11.25 -
🔐 소프트웨어 개발 보안 구축 #8 - 캡슐화
👍 캡슐화란? 정보은닉이 필요한 중요한 데이터와 기능을 불충분하게 캡슐화하거나 잘못 사용함으로써 발생할 수 있는 문제를 예방하기 위한 보안점검항목 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는 것을 의미한다. 다음은 잘못된 캡슐화로 인해 발생할 수 있는 보안약점이다. 잘못된 세션에 의한 정보 노출 *분석/설계단계에서는 세션통제, 구현단계에서는 캡슐화에 해당 ❗️ 다중스레드 환경에서 멤버변수에 정보를 저장할 때 발생함. ❗️ 싱글톤패턴에서 발생하는 레이스컨디션으로 인해 동기화 오류가 발생하거나 멤버변수의 정보가 노출될 수 있음. ✅ 멤버변수(클래스가 생성되면 계속 메모리에 적재)보다 지역변수(함수의 종료를 함께 메모리에서 해제가능)활용하여 변수의 범위를 제한함으로써 방지 제거되지 않고 남은 디버그 ..
2020.07.14 -
🔐 소프트웨어 개발 보안 구축 #5 - 세션통제
👍 세션통제란? 세션 : 서버와 클라이언트의 연결 세션통제란 세션의 연결 및 그로 인해 발생하는 정보를 관리하는 것을 의미하며, 소프트웨어 개발 과정 중 "요구사항분석"과 "설계" 단계에서 진단해야 하는 보안점검 내용이다. 다음은 세션통제를 제대로 하지 못했을 때 발생할 수 있는 보안약점이다. 불충분한 세션관리 ❗️ 일정한 규칙이 존재하는 세션ID가 발급되거나 타임아웃(자동로그아웃시간)이 너무 길게 되면 침입자가 세션하이재킹(가로채기)과 같은 공격을 통해 획득한 세션ID로 인가되지 않은 시스템의 기능을 이용하거나 중요한 정보에 접근이 가능해진다. 잘못된 세션에 의한 정보 노출 ❗️ 다중스레드 환경에서 멤버변수에 정보를 저장할 때 발생함. ❗️ 싱글톤패턴에서 발생하는 레이스컨디션으로 인해 동기화 오류가 발..
2020.07.14