윈도우 시스템의 SNMP 서비스를 활성화하기 위해 SNMP 커뮤니티, SNMP 에이전트 정보, SNMP 통신 호스트를 설정하는 방법
흔히 SNMP라고 하면, 네트워크 장비의 트래픽을 모니터하는 것 정도만 생각하기 쉽다. 하지만, 일반적인 PC나 서버들도 SNMP를 통해 상태를 확인하고 필요한 데이터들을 가지고 올 수있다. 윈도우시스템 역시 SNMP를 이용한 모니터가 가능하도록 관련 기능을 제공하고 있다. SNMP를 활성화 하고, 필요한 커뮤니티와 통신 가능 호스트를 설정하는 방법에 대해 알아보자.
시스템 모니터의 필요성과 SNMP
사실, 일상적으로 껐다 켰다를 반복하는 개인용 시스템이나, 여차하면 재시작 해도 상관 없는 서버라면 모니터의 필요성이 떨어진다. 하지만, 윈도우 OS를 돌리며 미션 크리티컬한 임무를 수행하는 서버들도 분명 존재한다. 그나마 서버가 한 두대 정도라면야, 관리하는 사람이 하루에 두 세번 정도 확인해 준다 치겠다. 하지만 서버 수가 늘어나면 사람이 일일이 확인 하는 데에는 금방 한계에 다다를 것이고, 온갖 문제점이 튀어나오게 된다.
이럴때 사용하면 좋은것이 바로 SNMP(Simple Network Monitor Procotol)이라고 하는 것이다. SNMP라고하면 보통 네트워크 장비나 랜카드의 트래픽 데이터를 전달받아 모니터하는 용도 정도를 떠올리겠지만, 그 외에도 매우 다양한 데이터들을 전달 받을 수 있다. 더 나아가 SNMP를 이용해 모니터의 대상이 되는 시스템의 설정을 변경한다거나, 재시작 등의 작업도 가능하다.
윈도우 SNMP 서비스 설치 및 동작 확인
SNMP 서비스의 설치
윈도우 OS에서 SNMP 서비스를 사용하기 위해서는 일단 SNMP 서비스가 설치 되어 있어야 한다. 혹자는, SNMP를 설치한 이후에 서버를 재부팅 할 일이 생길까봐 두려워 할 경우도 있을 것이다. 다행히도 WINDOWS 의 SNMP 서비스는 설치하는데 재부팅 과정이 필요하지 않다. 마음을 놓고 설치해도 되겠다.
윈도우의 제어판에서 '선택적 기능추가' 메뉴를 통해 SNMP 서비스를 설치할 수 있다. 자세한 설치 방법은 이 글을 참고하면 되겠다.
SNMP 서비스의 동작
SNMP 서비스가 제대로 설치 되었는지 확인하기 위해 서비스 목록을 확인해 본다. CTRL+R 을 눌러 실행창을 띄운 다음, services.msc라고 입력한 후 엔터를 치면 서비스 관리 화면이 나온다. 여기에서 SNMP 서비스가 실행 상태인지 확인해 주고, 아닐 경우 서비스를 시작해 준다. 참고로, 여기에 해당 항목이 존재하지 않을경우, SNMP 서비스가 설치되지 않은 상태이다. 위의 단락을 참고하여 다시 설치를 진행해 준다.
SNMP 서비스 설정
SNMP 서비스를 더블클릭해 주면 SNMP 서비스 속성 설정 화면이 나온다. 윈도우 SNMP 서비스와 관련된 설정은 모두 여기서 진행하면 된다. 일반적인 윈도우 서비스와 중복되는 것은 제외하고, SNMP 설정과 관련된 탭만 확인해 보도록 하자
에이전트 탭
에이전트 탭은 SNMP 정보를 요청해 읽어가는 호스트에게 제공되는 서버 정보이다. 주석과 같은 것으로, 설정해 주지 않아도 상관은 없지만 구분을 위해 적어 주는 것을 추천한다.
- 연락처 : 시스템의 관리자 연락처, OID .1.3.6.1.2.1.1.4.0 에 표시된다.
- 위치 : 시스템의 위치정보, OID .1.3.6.1.2.1.1.6.0 에 표시된다.
- 서비스 : 시스템이 맡은 역할을 표시해 준다.
트랩 탭
SNMP 트랩(Trap)은 시스템에 이벤트가 발생했을 경우, 해당 내용을 트랩대상으로 지정된 호스트에게 전송해 주는 기능이다. SNMP는 기본적으로 외부에서 들어오는 요청에 반응하는 방식으로 사용한다. 이럴경우, 외부에서 요청이 들어오기 전 까지는 변경된 상태를 업데이트 해 주기가 곤란해 진다. 그러므로 중요한 이벤트들은, 요청이 있기 전에 먼저 발생 내용을 통보해 줄 필요가 있다. 이런 용도로 사용되는 것이 트랩이다. 트랩 메시지에 사용할 커뮤니티 이름과 트랩 메시지를 수신할 호스트 주소를 입력해 준다.
여기서 커뮤니티(Community)라는 놈이 나왔다. SNMP 접근에 사용되는 ID의 개념으로 생가하면 된다. 보통 읽기 전용 권한을 'public'으로, 읽고 쓰기가 가능한 권한을 'private' 으로 사용한다. 실제 사용시에는 자신만의 문자열로 바꿀 것을 강력하게 권장한다.
보안 탭
SNMP 설정에서 가장 핵심이 되는 부분이 바로 요 보안 탭 되시겠다. 접근을 허용할 커뮤니티 이름과 권한, SNMP를 허용할 IP 주소를 설정해 줄 수 있다.
먼저 커뮤니티 이름에서 추가를 누르면, 사용할 커뮤니티 이름과 권한을 설정할 수 있는 창이 나온다. 필요에 따라 생성해 주면 된다. 만약, 시스템 상태 모니터를 위한 목적의 커뮤니티라면, 당연히 읽기 전용으로 권한을 설정해 주어야 한다.
그 아래 부분은 SNMP접근을 허용할 호스트를 결정하는 부분이다. SNMP 프로토콜은 시스템에 대한 상당히 민감한 정보 까지도 접근할 수 있다. 시스템에 대한 일반적인 정보들은 물론이고, 실행중인 프로그램 목록, 통신중인 호스트 목록까지도 가져올 수 있다. 당연히 아무나 들어오게 설정해 두면 큰 화를 겪을 수 있다. 사용할 IP 주소만 입력해 주도록 하자.
테스트
이것으로 윈도우 시스템의 SNMP 설정을 완료 했다. MIB Browser와 같은 SNMP 도구들을 이용해 SNMP 요청이 처리 되는지 시험해 본다.
위의 예의 경우 OID .1.3.6.1.2.1.1.4.0 에 대해 GET 명령이 제대로 먹혔다. 에이전트 탭에서 설정해 둔 연락처 항목이 잘 반환되는것을 확인할 수 있다.