SNMP

강윤경·2023년 1월 27일
0

Network

목록 보기
14/17
post-thumbnail

SNMP ?

  • Simple Network Management Protocol
  • 간이 망 관리 프로토콜
  • IP 기반 네트워크 상의 각 호스트로부터 정보를 수집 및 관리
  • 정보를 수정하여 장치의 동작을 변경하는 데에 사용되는 인터넷 표준 프로토콜
  • 시스템이나 네트워크 관리자로 하여금 원격으로 네트워크 장비를 모니터링하고 환경설정 등의 운영을 가능하도록 하는 네트워크 관리 프로토콜
  • 관리의 편의성을 제공하지만 취약점이 존재하여 DoS, 버퍼 오버플로우, 비인가 접속 등 문제 발생
  • 관리 시스템 Manager, 관리 대상 Agent
  • 네트워크 관리를 위한 목적으로 주로 서버나 네트워크 장비에서 SNMP를 설정한 MRGT 프로그램을 이용하여 트래픽 관리
    • MRGT(Multiple Router Traffic Grapher) : SNMP 기반의 장비 모니터링 프로그램, 네트워크 트래픽 사용량 모니터링, 벤더에서 제공하는 SNMP MIB 값을 사용하여 다양한 정보 수집
  • OSI 7계층 Application 계층 프로토콜, 메시지는 단순히 요청과 응답 형식의 프로토콜에 의해 교환되기 때문에 전송계층 프로토콜은 UDP 프로토콜 사용
  • 지원하는 장치 : 라우터, 스위치, 서버, 워크스테이션, 프린터, 모뎀 랙, etc.

SNMP 동작방식

  1. Manager(관리시스템)는 162/UDP 포트 사용, Agent는 161/UDP 포트 사용

    • Manager : Agent에 필요한 정보 요청
    • Agent : Agent가 설치된 시스템의 정보나 네트워크 정보 등을 수집하여 MIB 형태로 보관, Manager에 전달
      • MIB : Management Information Base, Agent에서 SNMP를 통해 네트워크를 관리할 때 관리되어야 할 특정한 정보나 자원을 객체, 해당 객체들을 모아놓은 집합체
  2. Manager와 Agent간에 통신하기 위해 최소 3가지 사항이 일치되어야 한다.

    • SNMP 버전
    • Community String
      • SNMP Manager와 Agent가 데이터 교환하기 전에 인증을 위해 사용하는 일종의 패스워드, 초기값으로 public or private 설정.
    • PDU(Protocol Data Unit)
  3. PDU Type

    • Get Request : Manager가 Agent로 원하는 객체의 특정 정보 요청
    • Get Next Request : Manager가 Agent로 이미 요청한 정보의 다음 정보 요청
    • Set Request : Manager가 Agent로 특정한 값을 설정하기 위하여 사용
    • Get Response : Agent가 Manager에 해당 변수 값 전송
    • Trap : Agent가 Manage에 어떤 정보를 비동기적으로 알리기 위하여 사용. notify라고 하며, call-back 함수와 같은 역할
  4. SNMP 데이터 수집 방식

    • Polling 방식 : Manager가 Agent에게 정보를 요청하면 응답해주는 방식으로 Agent 가 161/UDP port 사용
    • Event Reporting 방식 : Agent가 이벤트 발생 시 Manager에게 알리는 방식으로 Manager가 162/UDP port 사용

Manager : 실제 장비 정보를 수집하는 HW/SW로 Network Management System(NMS)라 부름. NMS는 SNMP를 활용하여 네트워크 장비의 정보를 상시 수집하고 장애 발생 시 이를 사용자에게 알리는 소프트웨어

SNMP Version

  • SNMPv1, SNMPv2, SNMPv3 등 버전이 바뀌며 보안을 강화하기 위한 수단이 추가
  • SNMP 정보 자체가 아닌 NMS와 Agent 간 인증을 위한 값, Community String의 보안 취약성 강화
                          
  1. SNMPv1
    • 최초 버전
    • community string을 활용하여 NMS와 Agent 간 인증 실현
    • community string이 평문으로 전달되기 때문에 보안에 취약, 장비 정보 값 수집에 있어 대량 수집 요청이 불가능
    • 사용X
      	
  2. SNMPv2 / SNMPv2c
    • v1에서의 보안취약점과 장비 정보 값 대량 수집 요청 기능 등이 추가된 버전
    • 보안 취약점이란 community string이 평문으로 전달되는 문제점을 말하며 v2에서는 이를 암호화하여 전송하도록 변경
    • 사용하기 너무 복잡하여 이를 community string을 전달하는 것으로 다시 원상복구된 버전이 v2c
      	
  3. SNMPv3
  • v2에서 보안 기능을 추가로 강화
  • 장비 정보 값을 얻기 위해 접근 시 단순 community string을 제공하는 것이 아닌 User0name과 Password(=community string)를 제공
  • Password는 인증 값과 암호 값으로 구성되며 2개 모두를 입력해야 함.
  • 암호값은 암호화 알고리즘(AES, 3-DES)에 의해 암호화되는 비밀번호이며, 인증 값은 해쉬 알고리즘(MD5, SHA)을 적용하여 위변조 여부를 확인

0개의 댓글