강좌
클라우드/리눅스에 관한 강좌입니다.
네트워크 분류

SNMP 접근제한

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

SNMP 접근제한

 

SNMP(Simple Network Management Protocol)는 그 의미 자체로 간단한 네트워크 관리를 위한 목적으로 하는 프로토콜로서 주로 서버나 네트워크 장비에서 트래픽 관리 등을 위해 사용되고 있으며 심지어는 사내에서 사용하는 프린터에도 설치되어 있을 만큼 대중적으로 사용되고 있다.

 

그러나 SNMP 역시 별도로 보안설정을 하지 않을 경우 외부에 불필요한 정보를 유출하거나 일부 버전에서는 상위 권한을 빼앗길 수 있을 만큼 악용될 수 있으므로 주의하여야 한다.

 

 

SNMP는 버전별로 v1v2가 주로 사용되고 있지만 두 버전은 거의 유사하며 최근의 v3 에서는 인증을 위해 암호화가 제공되는 것으로 알려져 있다.

 

SNMP와 관련해서는 두 가지를 주의하여야 하는데, 첫 번째로 인증을 위해 사용하는 community 문자열(string)이다.

 

community문자열(string)SNMP 서버와 클라이언트가 통신하기 위한 일종의 암호로서 기본적으로는 public 또는 private로 설정되어 있는데, 적지 않은 관리자들이 이에 대한 중요성을 인지하지 못한 채 대부분 기본 문자열을 그대로 사용하거나 상호나 별명 등 추측하기 쉬운 문자열을 사용하고 있다.

 

아니 오히려 SNMP는 인증기능 자체가 없다고 잘못 알고 있는 관리자도 꽤 있는 것 같다.

 

실제로 한 조사에 의하면 전 세계 네트워크 장비의 70%가 기본 문자열인 public을 그대로 사용하고 있는 것으로 알려져 있다.

 

더군다나 community문자열(string)은 앞에서 언급한 “service password-encryption”으로도 암호화되지 않으므로 반드시 기존의 public에서 x127swf3와 같이 추측하기 어렵고 의미가 없는 자신만의 문자열로 변경하여야 한다.

 

그리고 RO(Real Only)외에도 일부 관리자는 쉬운 관리를 위해 RW(Read Write) community string을 사용하는 경우도 있는데, 이와 같이 확실한 보안설정을 하지 않을 경우 SNMP를 통해 config를 수정할 수 있는 등 심각한 보안문제를 유발할 수 있으므로 사용 시 각별히 주의하여야 한다.

 

 

????[유용한 팁]

“service password-encryption”명령어로 암호화되지 않는 값은 아래와 같다.

 

 

- SNMP community 문자열

- RADIUS

- TACACS+

- NTP 인증키

- dynamic routingrouter 인증키

 



07724729bc4793df016d97cb5ab845c0_1652839305_3235.png

[그림] snmp community string을 추측하기 위한 brute force

 

위의 예는 실제로 community 문자열(string)A부터 Z까지 바꾸어가면서 무작위대입법(Brute force)을 진행하는 실제 예를 보여주고 있다.

 

 

 

두 번째로 SNMP(v1,v2)get_request(요청)get_response(응답)과정은 평문(plain text)으로 전송되어 스니핑(sniffing)이 가능하다는 점이다.

 

물론 v3에서는 암호화가 지원되지만 그나마 최근의 버전에서 지원하기 시작하였고 아직 mrtg등의 클라이언트 프로그램에서 v3를 지원하지 않기 때문에 대중적으로 사용되고 있지는 않다.

 

따라서 아무리 community문자열을 어렵게 수정하였다 하더라도 스니핑을 통해 문자열을 알 수 있으므로 access-list를 이용하여 SNMP요청에 대한 접근을 엄격히 제한하여야 한다.

 

 

snmp-server community x271swf3 ro 11

access-list 11 permit host 192.168.2.5

access-list 11 deny any

 

위의 설정에서

community 문자열을 x271swf3과 같이 추측하기 어렵게 설정하였고

mrtg등을 이용하여 snmp를 요청할 192.168.2.5 호스트에서만 접근이 가능하도록 설정하였다.

 

 

물론 SNMP를 사용하지 않는다면 안전하게 “no snmp-server”snmp를 끄도록 한다.

 

 

* SNMP 버전별 차이

 

v1 : RFC1157에 정의되어 있으며 인증을 위해 community 문자열을 사용한다.

 

v2 : RFC1441/1446에 정의되어 있으며 일부 보안기능이 추가되었다.

 

v3 : RFC2274에 정의되어 있으며 무결성 체크와 암호화 및 유저인증 기능이 추가 되었다.

 

 

강사 : 라쿠텐  홍석범부매니저

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,033 명
  • 현재 강좌수 :  35,783 개
  • 현재 접속자 :  160 명