본문 바로가기
보안/보안취약점

[보안취약점] NW-05. Session Timeout 설정(네트워크 장비)

by 어깨 :) 2025. 6. 26.
반응형

🔒 네트워크 보안 필수! 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

긴급상황 대응

🆘 세션 잠김 시 대응

  1. Console 케이블 직접 연결
  2. Out-of-Band 관리망 활용
  3. 원격 전원 리셋 (IPMI/iLO)
  4. 현장 기술자 파견

📞 에스컬레이션 절차

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 설정은 네트워크 보안의 기본이면서도 가장 효과적인 보안 조치 중 하나입니다.

🔑 핵심 성공 요소

  1. 적절한 시간 설정: 보안과 편의성의 균형
  2. 전사적 정책 수립: 일관된 기준 적용
  3. 지속적인 모니터링: 정기적인 점검과 개선
  4. 사용자 교육: 정책 이해와 협조 확보

📈 기대 효과

  • 보안 강화: 무단 접근 위험 대폭 감소
  • 컴플라이언스: 보안 감사 통과율 향상
  • 운영 효율: 체계적인 세션 관리로 안정성 증대
  • 비용 절감: 보안 사고 예방으로 손실 최소화

🚀 다음 단계

  1. 현재 환경 점검: 모든 네트워크 장비 Timeout 설정 확인
  2. 정책 수립: 조직에 맞는 Session Timeout 정책 개발
  3. 단계적 적용: 리스크를 최소화하며 점진적 적용
  4. 지속적 개선: 사용자 피드백과 보안 동향 반영

네트워크 보안은 작은 설정 하나하나가 모여 큰 보안 체계를 만듭니다. 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

 

반응형