[인프라진단] #U-12 세션 종료 시간 설정
1. 항목 설명
로그인 세션이 장시간 방치되면 다른 사람이 열린 터미널을 이용하거나 탈취된 세션을 계속 악용할 수 있습니다.
판단 기준: 비활성 세션 종료 시간이 600초 이하로 설정되면 양호, 600초 이하로 설정되지 않으면 취약입니다.
2026 가이드 근거

2. 점검 목적
사용자 실수나 자리 비움으로 방치된 셸 세션을 자동 종료하여 무단 사용 가능 시간을 줄이는 것이 목적입니다.
3. 실습 환경
- 운영체제: Ubuntu Server 24.04.2 LTS
- 커널: Linux 6.8.0-53-generic
- 가상화 환경: VMware Workstation
- 호스트 이름: u-lab
- 수집 방식: VMware Ubuntu VM 콘솔에서 진단 명령 실행 및 화면 캡처
- 네트워크: VMware Host-only 격리망, 기본 게이트웨이 없음
- 실행 ID: 20260903-085839
취약 상태와 조치 상태의 반복 구성에는 격리된 Host-only 관리 연결을 보조적으로 사용했습니다. 단, 판단 명령과 결과는 Ubuntu VM 콘솔에서 직접 확인하고 VMware 콘솔 원본 화면으로 캡처했으며 외부 네트워크 경로는 두지 않았습니다.
4. 취약 상태 구성
/etc/profile.d/u12-timeout.sh에 TMOUT=0을 설정해 입력이 없어도 세션이 자동 종료되지 않는 상태를 만들었습니다.
이 구성은 인터넷과 분리된 실습 VM에서 관리자 권한으로만 수행했습니다.
구성 방법
# /etc/profile.d/u12-timeout.sh
TMOUT=0
export TMOUT
구성 후 다음 명령으로 실제 상태를 확인했습니다.
bash --noprofile --norc -c 'source /etc/profile.d/u12-timeout.sh; echo TMOUT=$TMOUT'
5. 최초진단 결과
- 판정: 취약
- VM 콘솔 판정 근거: TMOUT=0이며 읽기 전용 설정도 없어 비활성 셸이 자동 종료되지 않았습니다.

6. 조치 방법
전역 프로필에 TMOUT=600을 설정하고 사용자가 값을 늘리거나 해제하지 못하도록 읽기 전용으로 지정했습니다.
# /etc/profile.d/u12-timeout.sh
TMOUT=600
readonly TMOUT
export TMOUT
Linux 설정 확인 위치: /etc/profile.d/u12-timeout.sh와 사용자 셸 환경의 TMOUT

7. 이행진단 결과
- 판정: 양호
- VM 콘솔 판정 근거: 새 셸에서 TMOUT=600과 읽기 전용 상태가 확인되었습니다.

8. 실무 주의사항
전역 TMOUT은 장시간 열어 두는 모니터링 콘솔이나 대화형 운영 작업을 끊을 수 있습니다. SSH keepalive 설정과 셸 비활성 종료는 서로 다른 통제입니다.
컨설턴트 조언
- Bash 외에 ksh, csh 등 실제 사용 셸별 적용 파일과 우회 가능성을 확인합니다.
- 모니터링·배치가 대화형 세션에 의존하는지 파악하고 가능하면 서비스 방식으로 전환합니다.
- 운영자에게 10분 종료의 업무 영향을 확인하고 긴 작업은 tmux 등 승인된 방식으로 관리합니다.
- 예외가 필요하면 대상 계정과 단말, 보완 통제, 승인자와 종료 기한을 명확히 남깁니다.
9. 마무리
비활성 셸은 600초 이내에 종료하되 장시간 작업과 모니터링은 별도 운영 방식으로 분리해야 합니다.
'2026 주요정보통신기반시설 가이드 > Unix(Linux)' 카테고리의 다른 글
| [인프라진단] #U-14 root 홈, 패스 디렉터리 권한 및 패스 설정 (0) | 2026.09.03 |
|---|---|
| [인프라진단] #U-13 안전한 비밀번호 암호화 알고리즘 사용 (0) | 2026.09.03 |
| [인프라진단] #U-11 사용자 shell 점검 (0) | 2026.09.03 |
| [인프라진단] #U-10 동일한 UID 금지 (0) | 2026.09.03 |
| [인프라진단] #U-09 계정이 존재하지 않는 GID 금지 (0) | 2026.09.03 |
시리즈와 관련 학습
현재 글과 같은 환경의 전체 글과 핵심 실습으로 이어집니다.