세션 (Session, SN)
5. 세션 (Session, SN) · 12개 통제항목
정의
세션 관리 및 보안은 각 세션의 고유 식별자를 할당하여 비정상 종료나 비활성 상태 시 즉시 종료하고 사용자의 요청 또는 조건에 따라 동시 세션 수 제한, 자동 세션 종료, 알람 메시지 제공 등 세션의 보안통제를 통해 비인가 사용자 무단 접근과 정보 유출을 방지하기 위한 통제항목이다.
보안통제 항목 (12)
| N2SF ID | 소항목 | 보안통제설명 | 분류 |
|---|---|---|---|
| N2SF-SN-1 | 로그아웃 세션 처리 | 로그아웃 또는 비정상 세션 종료 시 연결되었던 모든 세션의 식별자를 즉시 무효화하며, 더 이상 세션이 유효하지 않도록 한다. | C S O |
| N2SF-SN-2 | 세션별 고유 식별자 | 각 사용자 세션마다 고유한 식별자를 활용하고, 고유한 식별자의 재사용을 방지한다. | C S O |
| N2SF-SN-3 | 동시 접속 세션 제한 | 사용자 계정 또는 정보시스템 등을 기준으로 동시 세션 수를 제한한다. | C |
| N2SF-SN-4 | 세션 종료 | 세션 종료 요청이 있거나 세션 종료 조건 발생 시 자동으로 세션을 종료한다. | C S O |
| N2SF-SN-4(1) | 사용자 기반 로그아웃 | 사용자 요청에 따라 로그아웃 할 수 있는 기능을 제공한다. | C S O |
| N2SF-SN-4(2) | 종료 메시지 | 사용자에게 종료되었다는 메시지를 표시한다. | C S O |
| N2SF-SN-5 | 로그인 유효시간 경과 경고 메시지 | 사용자에게 로그인 유효시간 경고 메시지를 표시한다. | C S |
| N2SF-SN-6 | 네트워크 연결 해제 | 정상 세션 종료 또는 일정 시간 비활성 상태가 유지될 경우 네트워크 연결을 자동 해제한다. | C S O |
| N2SF-SN-7 | 세션 중 행위 기반 비정상 탐지 | 세션 중 사용자 행위가 정상 범위를 벗어나면 자동으로 세션을 종료하거나 별도 인증 절차를 유도한다. (예: 위치 급변, 동시접속 이상 등) | C |
| N2SF-SN-8 | 세션 중 연속 인증 수행 | 장시간 세션 또는 민감 작업 수행 시, 주기적 또는 조건 기반으로 인증수단(MFA 등)을 다시 요구한다. | C S |
| N2SF-SN-M1 | 세션 관리 정책 수립 | 세션 유지 시간, 비활성화 조건, 동시 접속 허용 수 등 세션 운용 정책을 수립하고 문서화한다 | C S |
| N2SF-SN-M2 | 세션 감사 및 로그 기록 | 세션 생성, 종료, 중복, 충돌 등 관련 활동을 로깅하고 보안 감사가 가능하도록 구성한다. | C S O |
구현 방법 예시
로그아웃 및 세션 무효화 처리
- 사용자 로그아웃 시 관련 세션 식별자(Session ID, Token 등)를 서버 측에서 즉시 무효화하고 재사용을 차단한다.
- JWT 기반 인증의 경우, 서버에서 토큰 블랙리스트를 관리하거나 access/refresh 토큰 주기를 분리하여 대응한다.
- 예기치 않은 접속 종료 시에는 세션 타임아웃 설정을 통해 남은 세션을 자동 종료한다.
사용자 세션 고유 식별자 활용 기술
- 각 세션은 고유한 식별자(UUID, Secure Random Token 등)를 통해 구분하며, 세션 시작 시 생성하여 중복되지 않도록 한다.
- 동일 식별자의 반복 사용을 방지하기 위해 서버에서 재사용 감지 로직을 추가한다.
동시 세션 수 제한 기술
- 사용자 계정 기준으로 동시 접속 세션 수를 제한하고, 초과 시 기존 세션 종료 또는 추가 접속 차단 정책을 설정한다.
- 관리자 또는 고위험 권한 계정은 단일 세션만 허용하도록 구성하며, 세션 충돌 발생 시 알림을 제공 한다.
세션 종료 및 알림 메시지 표시
- 사용자가 수동으로 세션을 종료할 수 있는 로그아웃 버튼을 제공하며, 일정 시간 이상 비활성 시 자동으로 세션을 종료한다.
- HTTP Keep-Alive와 관계없이 세션은 독립적으로 타임아웃되도록 설계하며, 정책 기반으로 종료 시점을 관리한다.
- 네트워크 접속이 유지되더라도 세션 유지 조건이 충족되지 않으면 세션을 종료하고 접속을 해제 한다.
로그아웃 기능
- 사용자에게 세션 종료 또는 유효시간 임박에 대한 경고 메시지를 사전에 출력하여 예기치 않은 종료를 방지한다.
- GUI, CLI 환경 모두에서 메시지를 제공하고, 재연장 또는 저장 기능을 제공하지 않는 보안 모드를 적용한다.
적용 기술 요약
| 항목 | 적용 기술 또는 방식 |
|---|---|
| 세션 무효화 처리 | 로그아웃 시 서버 세션 삭제, 토큰 블랙리스트, 타임아웃 설정, refresh-token 분리 |
| 고유 식별자 관리 | UUID, Secure Token |
| 동시 접속 제한 | 계정별 동시 세션 제한, 관리자 단일 세션 정책, 세션 충돌 탐지 |
| 세션 종료 제어 | 사용자 로그아웃 버튼 제공, 자동 타임아웃, HTTP Keep-Alive 무관 세션 제어 |
| 세션 종료 알림 | 종료 메시지, 유효시간 경고, 사전 안내 팝업, 보안 모드 메시지 출력 |
| 네트워크 연결 해제 | 비활성 상태 시 세션 종료와 함께 네트워크 연결 해제, 보안망 전환 시 세션 리셋 |