728x90
반응형
최근 수행한 SI 프로젝트에서 보안을 강화하기 위해 쿠키와 세션을 활용한 사례가 있다.
이 프로젝트에서는 사용자 인증과 세션 관리를 통해 보안성을 높였고, 구현 사례는 아래와 같다.
먼저, 사용자가 로그인하면 서버는 사용자에게 고유한 세션 ID를 생성하여 쿠키에 저장한다.
이 쿠키는 클라이언트 측에 저장되며, 이후 요청 시마다 서버로 전송된다. 서버는 이 세션 ID를 통해 사용자를 식별하고, 세션 정보를 조회한다. 조회 후 정상적인 요청이면 로그인을 수행하고, 비정상적인 요청이라면 거부한다.
특히, 세션 정보는 AWS Elasticache에 저장하여 관리했는데, AWS Elasticache는 인메모리 데이터 저장소로, 빠른 속도로 세션 데이터를 읽고 쓸 수 있어 성능을 향상시킨다. 또한, 분산 환경에서 세션 데이터를 중앙에서 관리할 수 있어 확장성과 안정성을 보장 하므로 매우 안정적이다.
이러한 방식으로 쿠키와 세션을 활용하여 사용자 인증을 수행함으로써, 프로젝트의 보안성을 강화 할 수 있었다.
그러면 쿠키와 세션의 실제 값 예시는 보면 다음 과 같다:
쿠키:
Set-Cookie: sessionId=abc123; Path=/; HttpOnly; Secure; SameSite=Strict
세션 (AWS Elasticache에 저장된 데이터):
{
"sessionId": "abc123",
"userId": "user456",
"expires": "2023-12-31T23:59:59Z",
"data": {
"username": "exampleUser",
"roles": ["admin", "user"]
}
}
추가로, 그러면 왜 굳이 쿠키 값을 클라이언트에 저장할까?
쿠키는 클라이언트 측에 저장되므로, 서버 부하가 적고 확장성이 뛰어나며 설정이 간편하기 때문이다.
- 끝 -
728x90
반응형
'플젝 구현내용 정리' 카테고리의 다른 글
TCP/IP 4계층 모델로 AWS 인프라를 구현 (0) | 2024.09.03 |
---|---|
PostgreSQL DB에 INDEX를 적용 했을 때 여전히 느린 경우 (1) | 2024.09.03 |
CentOS와 UbuntuOS 선정 하기 (1) | 2024.09.03 |
NoSQL관련 PoC 사례 정리 (0) | 2024.09.03 |
프로젝트에서 TCP와 UDP 적용관련 비교 내용 (0) | 2024.09.03 |