홈/뉴스/게시글
Community

뉴스

디코랩 커뮤니티의 새 글을 확인하세요.

보안

로그인 세션 관리, 자동 로그아웃과 만료 시간 정하는 6가지 기준

디코랩디코랩 ·
08-02

로그인 세션 관리는 쉬는 시간 기준 만료와 최대 유지 시간을 함께 정하고, 서버에서 세션을 끊는 것이 핵심입니다. 이 글에서는 자동 로그아웃 시간을 정하는 기준과 로그인·로그아웃 때 세션을 다루는 6가지 원칙, 관리자 화면에서 확인할 항목을 정리했습니다.

로그인 세션 관리 6가지 기준이라는 제목과 시계 아이콘
로그인 상태는 정해진 시간이 지나면 서버가 끊어야 합니다.

로그인 세션이란 무엇이고 왜 끊어야 할까

회원이나 관리자가 로그인하면 사이트는 브라우저에 세션 정보를 담은 쿠키를 주고, 이후 요청마다 그 값으로 같은 사람인지 확인합니다. 이 값이 유지되는 동안은 비밀번호를 다시 넣지 않아도 로그인 상태로 쓸 수 있습니다. 편리한 만큼, 세션 값이 남의 손에 들어가거나 자리를 비운 사이 누군가 화면을 쓰면 비밀번호 없이도 계정을 쓸 수 있다는 뜻입니다.

그래서 세션에는 끝나는 시점이 있어야 합니다. 공용 PC나 사무실 컴퓨터에서 로그아웃을 잊는 일은 흔하고, 오래 살아 있는 세션은 그만큼 오래 악용될 수 있습니다. 공용 기기에서 지킬 수칙은 공용 PC 관리자 로그인 안전 수칙에서 따로 다뤘습니다.

자동 로그아웃 시간을 정하는 기준

세션 만료는 두 가지 시간을 함께 정합니다. 아무 요청이 없을 때 끊는 쉬는 시간 만료와, 계속 사용하더라도 일정 시간이 지나면 다시 로그인하게 하는 최대 유지 시간입니다. 아래 표는 국제 웹 보안 단체 OWASP의 세션 관리 안내서가 제시하는 범위를 두 시간 종류로 나누어 비교한 것입니다.

구분뜻안내서가 제시하는 범위
쉬는 시간 만료(중요도 높은 화면)요청이 없으면 자동으로 끊음2~5분
쉬는 시간 만료(위험이 낮은 화면)요청이 없으면 자동으로 끊음15~30분
최대 유지 시간사용 중이어도 정해진 시간 뒤 재로그인하루 업무용이라면 4~8시간

관리자 화면은 회원 정보를 다루므로 위험이 낮은 화면보다 짧게 잡는 편이 좋습니다. 개인정보보호위원회 고시 「개인정보의 안전성 확보조치 기준」 제6조도 개인정보취급자가 일정 시간 이상 업무를 처리하지 않으면 접속이 자동으로 차단되도록 하는 등의 조치를 정하고 있습니다. 우리 사이트가 적용 대상인지와 몇 분으로 정할지는 고시 원문과 내부 관리계획을 확인하고, 판단이 어렵다면 전문가 확인을 권장합니다.

로그인 세션 관리 6가지 원칙

시간을 정한 다음에는 세션을 만들고 끝내는 방식이 올바른지 확인합니다. 아래 순서는 OWASP 안내서의 권고를 운영자가 점검하기 쉽게 정리한 것입니다.

  1. 서버에서 만료시키기: 화면에서만 로그아웃 안내를 띄우지 말고, 서버가 만료된 세션을 거절해야 합니다.
  2. 쉬는 시간 만료 두기: 관리자 화면과 회원 화면의 중요도에 맞춰 시간을 따로 정합니다.
  3. 최대 유지 시간 두기: 계속 사용하는 세션도 정해진 시간이 지나면 다시 로그인하게 합니다.
  4. 로그인할 때 세션 새로 만들기: 로그인 전 세션 값을 그대로 쓰지 말고, 로그인·비밀번호 변경·권한 변경 때 새 값으로 바꾸고 옛 값은 없앱니다.
  5. 로그아웃은 양쪽에서 끝내기: 모든 화면에서 로그아웃 버튼을 찾을 수 있게 하고, 누르면 서버의 세션을 지우고 브라우저 쿠키도 지웁니다.
  6. 로그인 유지 기능 제한하기: "로그인 상태 유지"는 회원 화면에만 두고, 관리자 화면에는 쓰지 않는 것을 권합니다.
서버 만료, 쉬는 시간 만료, 최대 유지 시간, 로그인 시 세션 교체, 양쪽 로그아웃, 로그인 유지 제한으로 이어지는 로그인 세션 관리 6가지 원칙 도식
세션을 만들고 끝내는 과정에서 지킬 6가지 원칙

그림의 네 번째 원칙이 빠지면 로그인 전에 심어 둔 세션 값으로 로그인 뒤 계정을 쓰는 공격이 가능해집니다. 쿠키만 지우는 로그아웃은 이미 빼돌린 세션 값을 막지 못하므로 서버에서 세션을 없애야 합니다. 세션 쿠키에 붙이는 보안 속성은 쿠키 보안 속성 글에서 다룹니다.

관리자 화면 세션 점검 체크리스트

설정을 바꾼 뒤에는 실제로 동작하는지 직접 확인합니다. 아래 항목은 개발 지식이 많지 않아도 브라우저만으로 시험해 볼 수 있습니다.

  • 관리자 화면을 정한 시간 동안 그대로 둔 뒤 메뉴를 누르면 로그인 화면으로 돌아간다.
  • 로그아웃한 뒤 브라우저의 뒤로 가기를 눌러도 관리자 기능을 쓸 수 없다.
  • 다른 브라우저에서 같은 계정으로 로그인했을 때 기존 세션 처리 방식이 정해져 있다.
  • 비밀번호를 바꾸면 다른 기기의 로그인이 끊기는지 확인했다.
  • 관리자 로그인 화면에 "로그인 상태 유지" 선택지가 없다.
시간 경과 후 재로그인, 로그아웃 뒤 뒤로 가기, 다른 브라우저 로그인, 비밀번호 변경 후 다른 기기, 로그인 유지 제거까지 관리자 세션 점검 항목 5가지 체크리스트
브라우저만으로 확인할 수 있는 관리자 세션 점검 5가지

체크리스트 가운데 하나라도 기대와 다르게 동작한다면 프로그램 설정이나 코드에서 세션 처리를 고쳐야 합니다. 바꾸기 전에 현재 설정값을 기록해 두면 문제가 생겼을 때 되돌리기 쉽습니다.

디코랩이 돕는 방식

디코랩은 운영 중인 사이트의 수정과 개선 요청을 받아 처리합니다. 자동 로그아웃 시간 조정처럼 설정 변경이 필요하다면 유지보수 접수 게시판에 비밀글로 요청할 수 있고, 로그인과 세션 처리 전반을 점검하고 싶다면 웹사이트 취약점 점검 서비스를 참고하세요.

자주 묻는 질문

자동 로그아웃 시간이 짧으면 직원들이 불편해하지 않을까요?

작성 중인 글이 사라지는 일이 가장 큰 불편입니다. 만료 직전에 알림을 띄워 연장할 수 있게 하거나 임시 저장 기능을 두면 시간을 짧게 잡아도 불편을 줄일 수 있습니다.

브라우저를 닫으면 자동으로 로그아웃되나요?

세션 쿠키 설정에 따라 다르고, 브라우저가 이전 탭을 복원하면서 쿠키를 되살리는 경우도 있습니다. 브라우저 닫기에 기대지 말고 서버에서 만료 시간을 정해 두는 것이 확실합니다.

회원 화면에도 자동 로그아웃이 필요한가요?

주문 내역이나 개인정보를 볼 수 있다면 필요합니다. 다만 관리자 화면보다 시간을 길게 잡고, 결제나 정보 변경처럼 중요한 동작 때 비밀번호를 다시 확인하는 방식도 함께 쓸 수 있습니다.

여러 기기에서 동시에 로그인해도 되나요?

회원은 허용하는 경우가 많지만 관리자 계정은 동시 로그인을 제한하거나 새 기기 로그인 때 알림을 받는 편이 안전합니다. 사이트 성격에 맞게 정책을 정해 두세요.

관리자 화면의 자동 로그아웃과 세션 설정을 점검받고 싶다면 사이트 주소와 사용 중인 프로그램을 적어 디코랩 프로젝트 문의로 보내 주세요.

목록

댓글0

댓글 작성 권한이 없습니다