SNMP v3로 네트워크 관리 트래픽을 보호하는 방법

SNMP v3의 USM·VACM 구조와 인증, 암호화, MIB 접근 통제 방식 및 운영 시 고려사항을 정리합니다.

2026-08-14 · 최초 발행 2025-08-10

관리 트래픽에도 인증과 암호화가 필요한 이유

SNMP(Simple Network Management Protocol)는 네트워크 장비를 관리하기 위한 표준 프로토콜이다. 초기 버전인 v1과 v2의 보안 취약점을 보완하기 위해 SNMP v3.0이 개발됐으며, 기존 관리 기능 위에 인증·무결성·암호화 기능을 추가했다.

엔터프라이즈 환경에서는 관리 정보도 보호 대상이다. SNMP v3.0은 사용자 기반 인증으로 권한 없는 접근을 차단하고, 메시지 변조를 확인하며, 암호화된 전송과 세밀한 접근 제어 정책을 지원한다. 중앙집중식 네트워크 관리 구조에서도 이러한 보안 요구사항을 적용할 수 있다.

USM이 메시지 출처와 신선도를 확인하는 방식

USM(User-based Security Model)은 사용자 단위로 SNMP 메시지의 보안을 처리한다. 데이터 출처 인증에는 HMAC-MD5-96과 HMAC-SHA-96을 사용할 수 있다.

HMAC-MD5-96은 MD5 해시 함수를 기반으로 메시지 인증 코드를 만들며, 96비트 다이제스트로 메시지 출처를 인증한다. 상대적으로 빠른 연산 속도가 장점이다. HMAC-SHA-96은 SHA-1 해시 함수 기반의 인증 방식으로, MD5보다 높은 보안성을 제공하며 96비트 출력으로 인증 처리를 수행한다.

인증은 발신자가 비밀키와 메시지로 HMAC 값을 만들고, 수신자가 같은 키로 값을 계산해 검증하는 흐름이다. 두 값이 일치하지 않으면 메시지는 변조 또는 위조된 것으로 간주되어 폐기된다.

메시지 재전송을 막기 위해서는 SNMP 엔진의 상태 정보도 함께 사용한다. snmpEngineID는 관리 도메인 안에서 에이전트를 식별하는 고유 식별자다. snmpEngineBoots는 엔진 재시작 횟수를 세며, 타임스탬프와 함께 메시지 신선도 검증에 쓰인다. snmpEngineTime은 마지막 재시작 후 경과한 시간(초)으로, 메시지 유효 기간을 설정하고 일정 시간이 지난 메시지를 무효화하는 데 활용된다.

SNMP 에이전트SNMP 관리자SNMP 에이전트SNMP 관리자alt[인증 성공][인증 실패]인증 요청 (사용자명 포함)사용자 확인 및 인증 방식 결정인증 챌린지 (snmpEngineID, snmpEngineBoots 포함)HMAC 계산 (MD5/SHA)인증 응답 (HMAC 값 포함)HMAC 검증요청된 작업 수행 및 응답인증 실패 메시지

VACM으로 역할별 MIB 접근 범위를 나눈다

VACM(View-based Access Control Model)은 요청한 사용자가 어떤 관리 객체에 접근할 수 있는지 결정하는 접근 통제 모델이다. 먼저 보안 모델(USM 등)과 사용자 이름을 기준으로 그룹을 정한다. 같은 권한을 가진 사용자를 관리자 그룹, 운영자 그룹, 모니터링 그룹처럼 묶어 관리할 수 있다.

이후 컨텍스트 이름으로 접근 범위를 정한다. 컨텍스트는 논리적 MIB 파티션을 정의해 관리 영역을 구분하며, 다중 컨텍스트를 통해 복잡한 네트워크 관리 환경을 다룰 수 있다.

접근 방식은 보안 모델과 보안 레벨에 따라 달라진다.

  • noAuthNoPriv: 인증 및 암호화 없음
  • authNoPriv: 인증만 수행, 암호화 없음
  • authPriv: 인증 및 암호화 모두 수행

뷰 모드에서는 Read View, Write View, Notify View에 따라 읽기, 쓰기, 트랩·알림 전송 권한을 부여한다. 이어서 뷰 이름(viewname)으로 접근 가능한 MIB 객체 집합을 선택하고, OID 트리의 특정 부분을 포함 또는 제외하는 규칙을 적용한다. 마지막으로 객체 타입과 객체 인스턴스를 확인해 모든 조건을 만족하면 Allow, 만족하지 못하면 Not Allow로 처리한다.

YesNoSNMP 요청 수신그룹 결정보안모델+사용자이름컨텍스트 결정컨텍스트 이름접근방식 결정보안모델+보안레벨접근허가 결정뷰모드-read/write/notify접근대상변수 선택by viewname접근대상변수 확인객체타입+객체인스턴스접근 조건충족?접근 허용Allow접근 거부Not Allow

엔터프라이즈와 데이터센터에서의 적용

대형 금융기관 네트워크 관리 시스템에서는 수백 대의 네트워크 장비를 SNMP v3.0으로 관리할 수 있다. 인증과 암호화를 필수로 적용해 정보 유출을 막고, 관리자·운영자·모니터링 역할에 따라 접근 권한을 차등화하는 방식이다.

# Cisco 장비에서 SNMPv3 구성 예시
snmp-server group ADMIN v3 priv read ALL_MIB write ALL_MIB
snmp-server group OPERATOR v3 auth read OPER_MIB
snmp-server user admin ADMIN v3 auth sha Authpass123 priv aes 128 Privpass456
snmp-server user operator OPERATOR v3 auth md5 OperPass789

데이터센터에서는 서버와 네트워크 장비를 통합 모니터링하면서 CPU, 메모리, 네트워크 트래픽 등의 성능 지표를 수집한다. 중요 구성 변경은 authPriv 레벨에서만 허용하고, 모니터링 전용 계정은 authNoPriv 레벨로 제한할 수 있다.

전환 과정에서 검토할 운영 부담

SNMP v3.0은 이전 버전보다 설정과 관리가 복잡하며, 보안 기능 활성화에 따른 성능 오버헤드가 발생할 수 있다. 레거시 시스템과 통합할 때는 버전 호환성 문제가 생길 수 있고, 일부 장비는 v3.0의 모든 보안 기능을 지원하지 않을 수 있다.

대규모 환경에서는 보안 키 관리도 운영 과제가 된다. 키를 주기적으로 갱신해야 하며, 그에 따른 관리 부담을 고려해야 한다.

중요 장비부터 SNMP v3.0으로 옮기고, 완전한 전환 전에는 다중 버전 공존 전략을 세우는 방식이 필요하다. 구성 관리 자동화 도구로 일괄 설정을 적용하고, 중앙집중식 인증 시스템(RADIUS, TACACS+)과 연동하는 방안도 검토할 수 있다. SNMP 설정과 접근 로그는 정기적으로 확인하고, 취약점 스캐너로 SNMP 설정을 검사해야 한다.

SNMP v3.0은 USM과 VACM을 함께 사용해 사용자 인증, 메시지 무결성 검증, 암호화, MIB 접근 통제를 구현한다. 적절한 구성과 관리가 뒷받침되면 네트워크 관리의 보안성과 운영 효율성 사이에서 균형을 유지할 수 있다.

SNMP v3네트워크 관리USMVACM접근 제어