요즘 SNMP를 간접적으로 사용하면서 v2까지는 어느 정도 익숙해졌는데, v3는 처음 접하니까 "도대체 community string 없이 어떻게 장비 정보를 가져오지?" 라는 생각이 들었다. 그래서 v3 방식에 대해 찾아보고 정리해보는 시간을 가지려 한다.
1. SNMP v2 방식 복습
SNMP v2는 아래처럼 community string이랑 OID를 같이 써서 장비한테 정보를 요청한다. 즉 궁굼한 사람이 궁금한 장비한테 먼저 질의를 던지는 방식이다. 심지어 장비가 알아듣는 말로 ( 다 맞춰줘야 함 )
예를들만 아래와 같은 명령어를 (정보를 알고싶은) 장비에게 보낸다.
snmpget -v2c -c public 192.168.0.1 .1.3.6.1.2.1.1.1.0
- -v2c: SNMP 버전 2c
- -c public: community 값 (public, private 등 이런 게 대표적)
- OID: .1.3.6.1.2.1.1.1.0 → 시스템 설명 요청
근데 이 방식은 사실상 비밀번호도 암호화 안 되는 구조이다. 딱 봐도 public 이라는 Community 값이 노출되면 누구나 양식에 맞게 작성하여 장비의 정보를 받아볼 수 있다. 그래서 등장한 게 SNMP v3이다.
2. SNMP v3는 뭐가 다른가?
SNMP v3는 보안이 훨씬 강화된 프로토콜이다. community string 대신에 사용자 기반(User-Based Security Model) 인증을 사용한다. 즉, "누구인지(user)", "인증(auth)", "암호화(priv)" 정보가 함께 간다.
좀 더 자세하게 SNMP v3 의 구성요소를 정리해 보면 아래 같은 항목들이 있다.
| 항목 | 설명 |
| 사용자 이름 | snmpuser 같은 로그인 유저 이름 |
| 보안 수준 | noAuthNoPriv, authNoPriv, authPriv 중 선택 |
| 인증 알고리즘 | SHA, MD5 등 (유저 인증용) |
| 암호화 알고리즘 | AES, DES 등 (데이터 보호용) |
| 비밀번호 | 각각 인증용/암호화용 비밀번호 사용 |
즉 v2 처럼 단순히 community string 값 만으로 장비에게 정보 조회를 질의할 수 없고, 보안 수준에 맞게 인증된 사용자만이 사용자 정보를 입력하여 질의할 수 있는 것이다.
3. SNMP v3 방식 예시
snmpget -v3 -u snmpuser -l authPriv -a SHA -A "authPass123" -x AES -X "encPass123" 192.168.0.1 .1.3.6.1.2.1.1.1.0
- -v3: 버전 3 사용
- -u snmpuser: 등록된 사용자 이름
- -l authPriv: 인증 + 암호화
- -a SHA: 인증 알고리즘
- -A "authPass123": 인증 비밀번호
- -x AES: 암호화 알고리즘
- -X "encPass123": 암호화 비밀번호
- 마지막 .1.3.6.1.2.1.1.1.0 → 장비 설명(sysDescr) 요청. OID 는 v2 와 동일하게 사용한다.
이렇게 하면 v2처럼 정보는 잘 가져오되, 보안은 한층 강화된 방식으로 통신할 수 있다. ( 너무 길어서 일단 사용하는 것 조차 힘들어 보인다.)
4. 마무리
처음엔 "v3는 너무 복잡하다" 라고 어렴풋이 생각했는데 역시나 복잡한게 맞았다. 하지만, 요청문을 계속해서 보니 v2 와 큰 틀은 같다는 느낌이 들었다. 단지 community string 대신 사용자 기반 인증이 들어갔고, 거기에 인증과 암호화 알고리즘이 추가된 느낌이다. 보안이 중요한 환경에서는 무조건 SNMP v3를 써야 안전하겠구나 라는 생각이 들었다.
'네트워크 공부 & 실습 > 네트워크 이론' 카테고리의 다른 글
| [Network] ACL 개념과 적용법 (전방십자인대 아님) (1) | 2025.07.23 |
|---|---|
| [Network] Ubuntu에서 ICMP(Ping) 차단하기 (1) | 2025.07.10 |
| [Network] IPCC 란 무엇인가? (3) | 2025.06.25 |
| [Network] VPN 과 외부 네트워크가 같은 대역의 (공인) IP 를 사용한다면? (1) | 2025.06.24 |
| [Network] Network Bonding 이란? - 개념편- (0) | 2025.06.17 |