- Simple Network Management Protocol
- 네트워크 관리를 위해 시스템이나 네트워크 장비를 설정하고 모니터링할 수 있는 프로토콜
- 라우터, 스위치, 서버, 워크스테이션, 프린터, 모뎀 랙 등의 네트워크 장비에서 지원한다.
- 관리의 편의성을 가져다 주지만 보안성이 취약하여 주의가 요구된다.
구성
- MIB(Management Information Base) : 관리되어야 할 대상 객체(자원)을 모아 놓은 집합체
- SMI(Structure Management Information) : MIB를 정의하기 위한 일반적인 구조
- ASN.1(Abstract Syntax Notation) : 데이터의 속성을 정의하기 위한 문법. 일종의 언어
- BER(Basic Encoding Rules) : ASN.1에서 사용되는 인코딩 룰
메시지 구성
- UDP/161
- get-request
- get-response
- get-next-request
- set-request
- UDP/162
- trap
보안 취약성
- Community String은 데몬과 클라이언트간 인증을 위한 일종의 패스워드 값이다.
- 기본적으로 public 또는 private 라는 단순한 값으로 되어 있다.
- SNMP Version 3부터는 암호화를 지원한다.
SNMPv3의 보안성
- SNMPv1과 v2는 보안성을 고려하지 않고 설계되었다. 이를 보완하여 보안성을 강화한 것이 v3
- SNMPv3은 다양한 공격 위협에 대응하기 위해 보안매개변수(msgSecurityParameter)를 사용한다.
필 드 | 설 명 |
---|---|
msgAuthoritativeEngineID | 재전송 공격 방지 |
msgAthoritativeEngineBoots | |
msgAthoritativeEngineTime | |
msgUserName | 메시지 위·변조 방지. 메시지 인증 |
msgAuthenticationParameter | |
msgPrivacyParameters | 스니핑 방지, 메세지 암호화(DES-CBC 지원) |