SNMP

From CS Wiki
Revision as of 06:35, 8 June 2019 by 210.95.145.33 (talk)
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
msgUserName 스니핑 방지, 메세지 암호화(DES-CBC 지원)

활용

  • 네트워크 관리 시스템(NMS:Network Management System)에서 주로 쓰인다.
  • 대표적인 공개 네트워크 모니터링 툴인 MRTG(Multi Router Traffic Grapher)이 사용하는 프토로콜이 SNMP이다.