🔒 네트워크 보안 필수! Session Timeout 설정으로 보안 강화하기 (NW-05)
📋 목차
1. Session Timeout이란?
2. 보안 취약점의 위험성
3. CISCO 장비 Session Timeout 설정
4. Juniper 장비 Session Timeout 설정
5. Nokia 장비 Session Timeout 설정
6. 점검 및 확인 방법
7. 실무 적용 가이드
8. 마무리
🎯 Session Timeout이란?
Session Timeout은 네트워크 장비에 원격 접속한 사용자가 일정 시간 동안 비활성 상태일 때 자동으로 세션을 종료하는 보안 기능입니다.
왜 중요한가요?
- 👤 무인 단말기 보안: 관리자가 자리를 비운 사이 불법 접근 방지
- 🛡️ 권한 남용 방지: 세션이 열려있는 상태로 방치되는 위험 차단
- 🔐 시스템 리소스 보호: 불필요한 세션 점유 방지
- 💼 컴플라이언스 준수: 보안 감사 및 규정 준수
⚠️ 보안 취약점의 위험성
📊 현재 상황 진단
🟢 양호: Session Timeout이 600초(10분) 이하로 설정되어 있는 경우
🔴 취약: Session Timeout이 600초 이하로 설정되어 있지 않은 경우
취약점 발생 시 위험요소
1. 보안 위험
- 불법 접근: 관리자 부재 시 무단 시스템 접근
- 권한 도용: 열린 세션을 통한 시스템 조작
- 정보 유출: 민감한 네트워크 정보 노출
2. 운영 위험
- 설정 변경: 의도하지 않은 시스템 설정 변경
- 서비스 중단: 잘못된 명령어 실행으로 인한 장애
- 로그 오염: 비정상적인 접근 기록 생성
3. 규정 위험
- 감사 지적: 보안 감사 시 취약점 발견
- 규정 위반: 정보보호 관련 법규 위반 가능성
🔧 CISCO 장비 Session Timeout 설정
1. 현재 설정 확인
# 전체 설정 확인
Router# show running-config
# Timeout 관련 설정만 확인
Router# show running-config | include exec-timeout
# 현재 라인 상태 확인
Router# show line
2. Console 포트 Timeout 설정
# Console 라인 진입
Router(config)# line con 0
# Timeout 설정 (분 초)
Router(config-line)# exec-timeout 5 0
# 로그인 시 경고 메시지 설정
Router(config-line)# login
Router(config-line)# exit
3. VTY 라인 Timeout 설정 (Telnet/SSH)
# VTY 라인 진입 (0-4번 포트)
Router(config)# line vty 0 4
# Timeout 설정
Router(config-line)# exec-timeout 10 0
# SSH만 허용 (보안 강화)
Router(config-line)# transport input ssh
Router(config-line)# exit
4. AUX 포트 Timeout 설정
# AUX 라인 진입
Router(config)# line aux 0
# Timeout 설정
Router(config-line)# exec-timeout 5 0
Router(config-line)# exit
💡 CISCO 설정 참고사항
- exec-timeout 0 0: Timeout 완전 비활성화 (보안상 비추천)
- 권장값: Console 5분, VTY 10분
- 설정 저장: copy running-config startup-config
🔧 Juniper 장비 Session Timeout 설정
1. 현재 설정 확인
# 전체 시스템 설정 확인
user@router> show configuration system
# 로그인 관련 설정 확인
user@router> show configuration system login
2. 시스템 레벨 사용자 클래스 설정
# Configuration 모드 진입
user@router> configure
# Super-user 클래스에 idle-timeout 설정
[edit]
user@router# set system login class super-user-local idle-timeout 1
user@router# set system login class super-user-local permissions all
# 일반 사용자 클래스 설정
user@router# set system login class operator-local idle-timeout 1
user@router# set system login class operator-local permissions [ clear network reset trace view ]
3. 개별 사용자 설정
# 특정 사용자에게 클래스 적용
user@router# set system login user admin class super-user-local
user@router# set system login user operator class operator-local
# 사용자별 개별 idle-timeout 설정 (선택사항)
user@router# set system login user admin idle-timeout 10
4. CLI 자동완성 및 Timeout 설정
# CLI 설정 확인
user@router> show cli
# CLI idle-timeout 설정
user@router> set cli idle-timeout 5
# 설정 적용
[edit]
user@router# commit
💡 Juniper 설정 참고사항
- idle-timeout 값: 분 단위로 설정
- permissions: 사용자 권한 레벨 설정
- commit: 설정 적용 필수
🔧 Nokia 장비 Session Timeout 설정
1. Nokia SR OS 현재 설정 확인
# 전체 시스템 설정 보기
A:router# show system security
# 사용자 및 프로파일 설정 확인
A:router# show system security user-params
# 현재 활성 세션 확인
A:router# show system security ssh
2. 글로벌 Session Timeout 설정
# Configuration 모드 진입
A:router# configure
# 시스템 보안 설정
A:router>config# system
A:router>config>system# security
# 글로벌 idle-timeout 설정 (분 단위)
A:router>config>system>security# idle-timeout 10
# Telnet timeout 설정
A:router>config>system>security# telnet-server idle-timeout 5
3. SSH Session Timeout 설정
# SSH 서버 설정
A:router>config>system>security# ssh-server
A:router>config>system>security>ssh-server# idle-timeout 600
# 최대 세션 수 제한
A:router>config>system>security>ssh-server# connection-limit 5
A:router>config>system>security>ssh-server# back
4. 사용자 프로파일별 Timeout 설정
# 사용자 프로파일 설정
A:router>config>system>security# user-params
# 로컬 사용자 계정 설정
A:router>config>system>security>user-params# local-user
A:router>config>system>security>user-params>local-user# user "admin"
A:router>config>system>security>user-params>local-user>user# idle-timeout 10
A:router>config>system>security>user-params>local-user>user# access console netconf ssh
# 설정 적용
A:router>config# commit
5. Nokia NSP (Network Services Platform) 설정
# NSP 웹 인터페이스 session timeout
A:router>config>system>security# http-server
A:router>config>system>security>http-server# session-timeout 1800
# SNMP timeout 설정
A:router>config>system>security# snmp
A:router>config>system>security>snmp# idle-timeout 300
💡 Nokia 설정 참고사항
- idle-timeout: 분 단위 또는 초 단위 (명령어에 따라 다름)
- connection-limit: 동시 접속 세션 수 제한
- commit: 설정 저장 및 적용
🔍 점검 및 확인 방법
CISCO 장비 점검
# 라인별 Timeout 설정 확인
Router# show line | include Timeout
Router# show running-config | include exec-timeout
# 현재 활성 사용자 세션
Router# show users all
# 로그인 이력 확인
Router# show logging | include Login
Juniper 장비 점검
# 시스템 로그인 설정 확인
user@router> show configuration system login | display set
# 현재 로그인 사용자 확인
user@router> show system users
# CLI 설정 상태 확인
user@router> show cli
Nokia 장비 점검
# 보안 설정 전체 확인
A:router# show system security
# SSH 서버 상태 및 설정
A:router# show system security ssh detail
# 현재 활성 세션
A:router# show system security user-sessions
# 사용자 프로파일 설정 확인
A:router# show system security user-params detail
📊 실무 적용 가이드
권장 Timeout 설정값
장비 유형 Console SSH/Telnet 웹 관리 설정 이유
Core Router | 5분 | 10분 | 15분 | 중요 장비, 적절한 보안 레벨 |
Distribution Switch | 5분 | 10분 | 15분 | 네트워크 핵심 장비 |
Access Switch | 10분 | 15분 | 20분 | 빈번한 관리 작업 고려 |
Firewall | 3분 | 5분 | 10분 | 최고 보안 레벨 필요 |
Wireless Controller | 5분 | 10분 | 15분 | 관리 편의성과 보안 균형 |
업무 환경별 고려사항
🏢 대기업 환경
- 짧은 Timeout: 보안이 최우선
- 중앙집중식 관리: 통일된 정책 적용
- 감사 대응: 엄격한 로그 관리
🏭 제조업 환경
- 중간 Timeout: 생산 중단 최소화
- 현장 접근성: 물리적 접근 고려
- 24시간 운영: 교대 근무 패턴 반영
🏥 의료기관
- 유연한 Timeout: 응급상황 대응
- 규정 준수: HIPAA 등 의료 규정
- 가용성 중시: 시스템 연속성 보장
단계별 적용 방안
1단계: 현황 파악 (1주)
# 스크립트 예시: 전체 장비 Timeout 설정 수집
#!/bin/bash
for device in $(cat device_list.txt); do
echo "=== $device ===" >> timeout_audit.log
ssh admin@$device "show running-config | include exec-timeout" >> timeout_audit.log
done
2단계: 정책 수립 (1주)
- 장비별 적정 Timeout 값 결정
- 사용자 그룹별 차등 적용 방안
- 예외 상황 처리 방법 정의
3단계: 시범 적용 (2주)
- 비중요 장비부터 단계적 적용
- 사용자 피드백 수집
- 문제점 파악 및 개선
4단계: 전면 적용 (4주)
- 중요 장비까지 확대 적용
- 24시간 모니터링 체계 구축
- 문제 발생 시 즉시 대응 체계
🚨 주의사항 및 문제해결
설정 시 주의사항
⚠️ 업무 영향 최소화
# 점진적 적용 예시
# 1단계: 30분 → 20분
Router(config-line)# exec-timeout 20 0
# 2단계: 20분 → 15분
Router(config-line)# exec-timeout 15 0
# 3단계: 15분 → 10분 (최종 목표)
Router(config-line)# exec-timeout 10 0
🔧 백업 접근 방법 준비
# CISCO - Console 직접 접근 설정
Router(config)# line con 0
Router(config-line)# no exec-timeout # 임시 조치용
# Juniper - 롤백 기능 활용
user@router# rollback 1
user@router# commit
긴급상황 대응
🆘 세션 잠김 시 대응
- Console 케이블 직접 연결
- Out-of-Band 관리망 활용
- 원격 전원 리셋 (IPMI/iLO)
- 현장 기술자 파견
📞 에스컬레이션 절차
1차: 네트워크 관리자 (즉시)
2차: 시스템 관리자 (15분 내)
3차: 인프라 팀장 (30분 내)
4차: IT 부서장 (1시간 내)
📈 모니터링 및 관리
자동화 스크립트
Python을 이용한 설정 점검
import netmiko
import json
from datetime import datetime
def check_session_timeout(devices):
results = {}
for device in devices:
try:
connection = netmiko.ConnectHandler(**device)
if device['device_type'] == 'cisco_ios':
output = connection.send_command("show running-config | include exec-timeout")
elif device['device_type'] == 'juniper_junos':
output = connection.send_command("show configuration system login | display set")
elif device['device_type'] == 'nokia_sros':
output = connection.send_command("show system security")
results[device['ip']] = {
'status': 'success',
'config': output,
'timestamp': datetime.now().isoformat()
}
connection.disconnect()
except Exception as e:
results[device['ip']] = {
'status': 'error',
'error': str(e),
'timestamp': datetime.now().isoformat()
}
return results
# 사용 예시
devices = [
{
'device_type': 'cisco_ios',
'ip': '192.168.1.1',
'username': 'admin',
'password': 'password'
}
]
audit_results = check_session_timeout(devices)
print(json.dumps(audit_results, indent=2))
Ansible을 이용한 대량 설정
---
- name: Configure Session Timeout
hosts: network_devices
gather_facts: no
tasks:
- name: Configure CISCO Session Timeout
ios_config:
lines:
- exec-timeout 10 0
parents: line vty 0 4
when: ansible_network_os == 'ios'
- name: Configure Juniper Session Timeout
junos_config:
lines:
- set system login class super-user-local idle-timeout 10
when: ansible_network_os == 'junos'
정기 점검 체크리스트
월간 점검 (매월 첫째 주)
- [ ] 전체 장비 Session Timeout 설정 확인
- [ ] 비정상 세션 로그 분석
- [ ] 정책 위반 장비 식별 및 조치
- [ ] 사용자 피드백 수집 및 분석
분기 점검 (분기별)
- [ ] Session Timeout 정책 효과성 평가
- [ ] 보안 사고 연관성 분석
- [ ] 설정값 최적화 검토
- [ ] 관련 문서 업데이트
✅ 종합 체크리스트
설정 완료 체크리스트
- [ ] CISCO 장비
- [ ] Console 라인 Timeout 설정 (5-10분)
- [ ] VTY 라인 Timeout 설정 (10-15분)
- [ ] AUX 라인 Timeout 설정 (해당시)
- [ ] 설정 저장 완료
- [ ] Juniper 장비
- [ ] 시스템 레벨 idle-timeout 설정
- [ ] 사용자 클래스별 timeout 설정
- [ ] CLI idle-timeout 설정
- [ ] Commit 완료
- [ ] Nokia 장비
- [ ] 글로벌 idle-timeout 설정
- [ ] SSH 서버 timeout 설정
- [ ] 사용자 프로파일별 timeout 설정
- [ ] 웹 관리 session timeout 설정
운영 체크리스트
- [ ] 설정 변경 문서화
- [ ] 사용자 교육 및 공지
- [ ] 모니터링 체계 구축
- [ ] 백업 접근 방법 준비
- [ ] 긴급상황 대응 절차 수립
🎯 마무리
Session Timeout 설정은 네트워크 보안의 기본이면서도 가장 효과적인 보안 조치 중 하나입니다.
🔑 핵심 성공 요소
- 적절한 시간 설정: 보안과 편의성의 균형
- 전사적 정책 수립: 일관된 기준 적용
- 지속적인 모니터링: 정기적인 점검과 개선
- 사용자 교육: 정책 이해와 협조 확보
📈 기대 효과
- 보안 강화: 무단 접근 위험 대폭 감소
- 컴플라이언스: 보안 감사 통과율 향상
- 운영 효율: 체계적인 세션 관리로 안정성 증대
- 비용 절감: 보안 사고 예방으로 손실 최소화
🚀 다음 단계
- 현재 환경 점검: 모든 네트워크 장비 Timeout 설정 확인
- 정책 수립: 조직에 맞는 Session Timeout 정책 개발
- 단계적 적용: 리스크를 최소화하며 점진적 적용
- 지속적 개선: 사용자 피드백과 보안 동향 반영
네트워크 보안은 작은 설정 하나하나가 모여 큰 보안 체계를 만듭니다. Session Timeout 설정으로 더욱 안전한 네트워크 환경을 구축하시길 바랍니다!
추천 도구
- 네트워크 모니터링: PRTG, SolarWinds, Zabbix
- 설정 관리: Ansible, Puppet, Chef
- 보안 스캔: Nessus, OpenVAS, Qualys
이 포스팅이 여러분의 네트워크 보안 강화에 도움이 되기를 바랍니다! 💪
#SessionTimeout #네트워크보안 #NetworkSecurity #보안취약점 #IT보안 #인프라보안 #사이버보안 #정보보안 #네트워크관리 #보안설정 #CISCO #Juniper #Nokia #시스코 #주니퍼 #노키아 #SSH설정 #Telnet보안 #Console설정 #VTY라인 #라우터설정 #스위치설정 #방화벽설정 #네트워크장비 #CLI설정 #원격접속보안#네트워크운영 #시스템관리자 #IT관리 #보안정책 #컴플라이언스 #보안감사 #네트워크엔지니어 #인프라운영 #IdleTimeout #접속보안 #세션관리 #자동로그아웃 #보안강화 #NW05
https://ssv.skill.or.kr/cloud-security/network-security-vulnerability#nw-05.-session-timeout
네트워크장비(Network) 시스템 취약점 점검 가이드 | System Security Vulnerability
출처 : [2020.12] 한국인터넷진흥원 발간 내용 "클라우드 취약점 점검 가이드"
ssv.skill.or.kr
'보안 > 보안취약점' 카테고리의 다른 글
[보안취약점] NW-06. 최신 보안 패치 및 벤더 권고사항 적용 (4) | 2025.06.27 |
---|---|
[보안취약점] NW-04 VTY 접근제어(ACL)(네트워크 장비) (7) | 2025.06.18 |
[보안취약점] NW-03. 네트워크 장비 패스워드 보안 강화하는 방법 (0) | 2025.06.05 |
[보안취약점] NW-02 패스워드 복잡성(네트워크 장비) (4) | 2025.06.04 |
[보안취약점] NW-01.네트워크 장비 패스워드 설정 (1) | 2025.06.01 |