'스위치'에 해당되는 글 6건

  1. 2016.06.02 Cisco 제품군 다중 취약점 보안 업데이트
  2. 2009.04.08 SNMP와 MRTG 이용 네트워크 시스템 모니터링 (2)
  3. 2009.03.23 NetFlow 데이터 분석 관련 프로그램 설치 및 활용
2016.06.02 18:22

Cisco 제품군 다중 취약점 보안 업데이트

□ 개요
 o Cisco社는 자사의 제품에 영향을 주는 취약점을 해결한 보안 업데이트를 발표[1]
 o 공격자는 취약점에 영향 받는 시스템에 임의코드 실행 및 서비스 거부 등의 피해를 발생시킬 수 있으므로, 최신버전으로 업데이트 권고
 
□ 설명
 o OpenSSL에서 발생하는 다수 취약점(CVE-2016-2105, 2106, 2107, 2108, 2109, 2176)[2]
 o Cisco Network Analysis Module 웹 인터페이스에서 원격 코드 실행이 가능한 취약점(CVE-2016-1388)[3]
 o Cisco Network Analysis Module의 IPv6 패킷 디코드 기능에서 서비스 거부(DOS)가 발생할 수 있는 취약점
    (CVE-2016-1370)[4]
 o Cisco Prime Network Analysis Module 및 Virtual Network Analysis Module에서 발생할 수 있는 원격 명령 실행 취약점
    (CVE-2016-1390)[5]
 o Cisco Prime Network Analysis Module 및 Virtual Network Analysis Module에 조작된 HTTP 요청을 보내 원격 코드 실행이
     가능한 취약점(CVE-2016-1391)[6]
 o 조작 된 IPv6 패킷을 처리하는 과정에서 서비스 거부(DOS)가 발생할 수 있는 취약점(CVE-2016-1409)[7]
    ※ 해당 취약점 보안업데이트 발표 예정
 
□ 해당 시스템
 o 영향을 받는 제품
    - 참고사이트에 명시되어 있는 ‘Affected Products’을 통해 취약한 제품 확인
 
□ 해결 방안
 o 취약점이 발생한 Cisco 소프트웨어가 설치된 Cisco장비의 운영자는, 해당되는 참고사이트에 명시되어 있는 ‘Affected Products’
    내용을 확인하여, 패치 적용
 o 업데이트가 발표되지 않은 취약점(CVE-2016-1409)에 영향 받는 제품은 보안업데이트가 발표 될 때까지 ACL(Access Control
     List)에 IPv6 ND(Neighbor Discovery) 패킷 차단 권고
 
□ 기타 문의사항
 o 한국인터넷진흥원 인터넷침해대응센터: 국번없이 118
 
[참고사이트]
[1] https://tools.cisco.com/security/center/publicationListing.x
[2] https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20160504-openssl
[3] https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20160601-prime
[4] https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20160601-prime3
[5] https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20160601-prime1
[6] https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20160601-prime2
[7] https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20160525-ipv6


Trackback 0 Comment 0
2009.04.08 16:14

SNMP와 MRTG 이용 네트워크 시스템 모니터링

MRTG는 장비의 CPU, 메모리, 4∼7계층 스위치, 다양한 서버와 애플리케이션의 상태를 모니터링 하는 툴로, 네트워크 관리자라면 한번 이상은 사용해 봄직한 공개용 툴이다. 하지만 알고 있는 것과 실제로 잘 활용하는 것은 별개의 문제. MRTG 설치시 유의할 점과 MRTG 전체 구조의 이해 등을 통해 실력있는 네트워크 관리자의 세계로 한단계 성큼 다가서 보자.

 

네트워크에 연결돼 있는 수많은 스위치, 라우터, 서버 등과 같은 여러 장비들을 관리하는 엔지니어들이 가장 궁금해 하는 것 중에 하나가 바로 '어떻게 장비의 상태를 주기적으로 모니터링할 수 있을까'일 것이다.


과거 네트워크 장비 상태를 점검한다고 하면 대부분 '트래픽'의 양에만 국한됐다. 하지만 최근에는 장비의 CPU, 메모리, 4∼7계층 스위치, 다양한 서버와 애플리케이션까지 등장하면서 보다 다양한 값을 포함하게 됐다.


MRTG 는 이런 상태를 모니터링하는 툴 중 하나로, 'Mutli Router Traffic Grapher'의 줄임말이다. MRTG는 이름에서 알 수 있듯이 기본적으로 라우터에서 가장 중요한 여러 인터페이스들의 'In/Out' 트래픽을 일간, 주간, 월간, 년간을 기준으로 각각 별도의 그래프를 그려주고, 이들의 현재, 평균, 최대치를 한눈에 알 수 있게끔 해주는 아주 유용한 툴이다.

 


 

 

MRTG는 라우터를 기본적으로 하고 있지만 조금만 응용해서 사용한다면 상상 이상의 것들도 모니터링이 가능하다. MRTG 활용으로 유명한 국내 사이트인 www.mrtg.co.kr로 가면 네트워크 장비들의 내부 온도를 나타내는 수치를 이용해, 온도 그래프까지 그려보이고 있다.
그 만큼 네트워크를 하는 사람들에게 MRTG는 잘 알려진 툴이며, 많이들 사용하고 있고, 실제 상용화된 네트워크 제품들이 통계치를 가진 그래프가 필요할 때 많이 사용된다. 아직 MRTG를 접해보지 않은 독자들이 있다면 이번 글을 통해 유용한 툴 하나를 얻을 수 있을 것이다.

 

MRTG의 동작 원리

 

MRTG는 여러 가지 요소가 복합적으로 동작을 하기 때문에 제일 먼저 MRTG가 전체적으로 어떻게 구성돼 있는지를 이해해야만 한다. 필자가 처음 MRTG를 접하고 나서 어느 정도 익숙해지기까지 시간이 많이 걸렸던 것도 바로 이런 부분을 그냥 지나쳤기 때문이었던 것으로 기억한다. 때문에 이 같은 시행착오를 거치지 않으려면 MRTG의 전체 구성을 반드시 이해하고 넘어가는 것이 좋다.
MRTG는 (그림 1)과 같이 모니터링 대상이 되는 시스템과 그 시스템을 모니터링 하는 두 개의 시스템으로 구성된다.

 


 

 

(그 림 1)과 같이 네트워크 장비의 트래픽을 모니터링하고 싶을 경우 MRTG 서버의 SNMP(Simple Network Management Protocol) 요청에 응답하기 위해 시스템에서 제일 먼저 SNMP는 에이전트(Agent)를 구동시켜야 한다. 물론 이때 두 시스템은 네트워크에서 연결이 돼야 한다(인터넷 구간에서도 많이들 사용한다).


다음으로 MRTG가 구동될 서버에는 모니터링 장비에 정보를 요청하고, 그 값을 로그로 남기고, 그래프를 만드는 MRTG 프로그램을 설치해야 한다. 이들 결과값을 사용자가 웹 브라우저를 이용해서 볼 수 있도록 웹 서버를 설치해야 한다. 웹 서버는 결과값을 만드는데는 필요하지 않고, MRTG의 결과값이 gif, png 형태의 그래프와 HTML 형식으로 만들어지기 때문에 사용될 뿐이다.
여기서 웹 서버는 자주 사용하는 리눅스(유닉스 계열)의 아파치나 마이크로소프트의 윈도우 NT 계열 이상에 설치되는 IIS 또는 개인용 웹서버라고 불리우는 'Persnal Web Server'이어도 상관없다.
다 시 한번 정리하면 모니터링 대상이 되는 시스템에 SNMP가 구동돼야 하고, MRTG가 설치된 서버에 MRTG 프로그램과 웹 서버를 설정하면 모든 작업은 끝난다. 이제 필요할 때마다 웹 브라우저를 이용해 장비 상태를 점검하면 된다.

 

다양한 운영체제 지원

 

MRTG가 가장 많이 사용되는 시스템은 리눅스(유닉스) 계열이고, 최근에는 마이크로소프트의 윈도우 계열에서도 많이 사용한다. 그 이유는 더 편해서라기 보다는 대부분의 사람들이 윈도우를 사용하기 때문일 것이다.
최근 리눅스 배포판들의 경우는 대부분 MRTG를 이미 포함하고 있기 때문에 리눅스가 있다면 바로 사용할 수 있다. 참고로 MRTG는 다음과 같은 다양한 운영체제를 지원한다.

 

·리눅스 1.2.x, 2.0.x, 2.2.x, 2.4.x(인텔, 알파, 스팍, 파워PC)
·리눅스 MIPS, 리눅스 S/390
·SunOS 4.1.3
·MacOSX 10.2.8
·솔라리스 2.4, 2.5, 2.5.1, 2.6, 7, 8, 9
·AIX 4.1.4, 4.2.0.0, 4.3.2
·HPUX 9,10,11
·윈도우 NT 3.51, 4.0, 2k, XP, 2003(95, 98, ME too, but only for die-hards)
·IRIX 5.3, 6.2, 6.5
·BSDI BSD/OS 2.1, 4.x, 3.1
·NetBSD 1.5.x 1.6.x
·FreeBSD 2.1.x, 2.2.x, 3.1, 3.4, 4.x
·OpenBSD 2.x, 3.x
·Digital Unix 4.0
·SCO Open Server 5.0
·Reliant UNIX
·NeXTStep 3.3
·OpenStep 4.2
·Mac OS X 10.1
·기타 유닉스 계열의 운영체제

 

이렇게 다양한 운영체제를 지원하는 것만으로도 MRTG가 얼마나 범용적인 툴인가를 알 수 있다.

 

MRTG 설치시 유의 사항 'Perl 설치하기'

 

이번 기고에서는 지면 관계상 MRTG 설치법에 대해서는 자세히 다루지 않는다. 그렇다고 걱정할 필요는 없다. 다음과 같은 홈페이지를 이용하면, 보다 더 자세한 설치 매뉴얼을 얻을 수 있으니 말이다.

http://www.mrtg.co.kr/
http://oss.oetiker.ch/mrtg/

대 신 MRTG 설치시 주로 고민하게 되는 몇 가지에 대해서만 간단히 짚고 넘어가도록 하겠다. 우선 MRTG는 펄(Perl)과 C를 기본으로 동작하는데, 리눅스의 경우 대부분 펄이 이미 설치돼 있기 때문에 MRTG만 설치하면 되지만, 윈도우에서는 그렇지가 못하다. 때문에 '윈도우용 Perl'을 별도로 설치해야만 한다.
자신의 시스템에 펄이 설치돼 있지 않다면 www.perl.com이나 www.perl.org를 방문해서 별도로 펄을 설치해야 한다. 참고로 펄은 스크립트형 프로그래밍 언어로, 유닉스 계열에서 많이 사용되며, 특히 웹 서버들의 프로그래밍에 많이 사용돼 왔다.


MRTG 실행 파일 활용 1 : cfgmaker

 

MRTG에는 다음과 같은 3개의 실행 파일이 있다.

 

·cfgmaker
·mrtg
·indexmaker

 

cfgmaker 는 이름에서 짐작할 수 있듯이 MRTG가 구동되기 위한 Config 파일을 만드는데 사용된다. 사실 Config 파일의 포맷을 정확히 알고 있다면 cfgmaker를 사용할 필요가 없지만, 그렇지 않은 경우에는 cfgmaker를 이용해서 설치를 한 후에 간단하게 Config 파일을 만들 수 있다.
그 다음으로 이 Config 파일을 자신이 원하는 형태로 수정을 하면 된다. cfgmaker의 경우, 처음에 Config 파일을 생성할때만 사용된다. 다음은 간단한 cfgmaker 사용법이다.

 

[root@tech mrtg]# cfgmaker > switch.cfg

 

여기에 사용된 'admin'은 실제 모니터링을 할 시스템인 192.168.10.10에 설정된 SNMP 커뮤니티 값이다. 그리고 다음에 있는 switch.cfg는 cfgmaker에 의해 만들어질 Config 파일의 이름이다.
여 기서 cfgmaker는 192.168.10.10 시스템에 직접 SNMP 통신을 해 모든 인터페이스들의 값을 나타내고자 한다. 그러므로 cfgmaker를 구동할 때는 시스템과 SNMP 통신이 가능해야만 한다. 만약에 그렇지 않다면 '에러'를 만나게 될 것이다.

 

MRTG 실행 파일 활용 2 : mrtg

 

MRTG 의 또다른 실행파일인 mrtg는 기본적으로 5분마다 실행돼 Config 파일에 따라서 SNMP 요청을 하고, 그 결과값으로 로그를 남기고 그래프도 만든다. cfgmaker와 indexmaker가 어떤 대상을 모니터링 하고자 할 때 처음에만 사용된다고 한다면, mrtg 파일은 모니터링을 하는 동안 계속해서 사용된다.

 

[root@tech mrtg]# mrtg switch.cfg

 

mrtg 파일은 cfgmaker로 만들어지거나 임의로 만든 Config 파일을 이용해 실행할 수 있다. 이때도 물론 해당 서버와 통신이 가능해야만 정확한 값을 가지고 올 수 있다. mrtg의 경우, 이전에 남은 로그를 비교해서 만들기 때문에 초기에 실행하면 첫번째, 두번째는 에러가 나고, 세번째에야 에러가 없이 동작을 하게 되니, 첫 번째, 두 번째 에러에 너무 당황하지 않아도 된다.
설치 초기에만 mrtg 파일을 수동으로 실행시키고 이후에는 유닉스의 자동 스케줄 프로그램인 cron을 이용해서 5분마다 구동시키면 된다. 다음은 cron에 등록돼 5분마다 실행하도록 추가된 내용이다.

 

*/5 * * * * /usr/local/mrtg-2/bin/mrtg /var/www/html/mrtg/switch.cfg

 

mrtg를 5분마다 실행하는 또 다른 방법으로는 Config 파일에 다음과 같은 항목을 넣어주는 것이다.

 

RunAsDaemon:Yes
Interval:5

 

위와 같은 항목만 넣어주고 mrtg가 실행되면서 데몬으로 동작을 하게된다. mrtg가 cron에서 동작할 경우 매번 Config 파일을 로딩하고 파싱을 해야 하는 반면, 데몬의 경우 그 동작을 한번만 수행하는 장점이 있다.


다만 데몬으로 동작하는 경우는 시스템 구동시 시작되도록 시작 스크립트에 mrtg가 한번 구동되도록 해야 한다는 점을 절대 잊지 말자.

 

MRTG 실행 파일 활용 3 : indexmaker

 

'indexmaker' 파일도 cfgmaker와 마찬가지로 초기에 cfgmaker를 만들고, mrtg 파일을 다음에 한번만 생성하면 된다. 이 파일은 실제 mrtg가 동작하는데 사용되기 보다는 mrtg로 만들어진 결과값을 사용자가 웹 브라우저로 볼 때 만들어지는 HTML 형태의 초기 화면을 만들어주는 역할을 한다. 그러니 mrtg를 구동하고 처음에 한번만 실행을 하면 된다.

 

[root@tech mrtg]# indexmaker --title '스위치' --output ./switch/index.html switch.cfg

 

위 의 명령어를 실행시키고 나면 'switch'라는 폴더에 'index.html'이라는 파일이 생성됨을 알 수 있을 것이다. 물론 이 페이지를 열게 되면 페이지 맨 위의 제목이 '스위치'로 돼 있다. 참. 이때 간단한 내용이지만 주의할 점은 이 파일이 만들어지는 위치는 당연히 웹 서버의 홈 디렉토리 내부에 위치해야만 웹 브라우저로 볼 수가 있다는 것이다.
지금까지 살펴본 cfgmaker, mrtg, indexmaker 파일이 각각 어떤 역할을 하는지 명확히 구분할 수 있다면 MRTG를 처음 설치하더라도 걱정할 것이 없다.


 

MRTG 팁

 

그래프가 114Mbps 이상에서 이빨 빠진 것처럼 되는 이유와 해결책

 

(화면 1)은 라우터의 기가포트에 대한 트래픽을 나타내는 그래프다.

 


 

(화면 1) 32비트 카운터를 사용할때 볼 수 있는 화면

 

 

자 세히 살펴보면 150Mbps 이상을 계속 사용하고 있음에도 불구하고 이상하게도 트래픽은 항상112Mbps 근처에서 더 이상 증가하지 않는다. 증가하지 않는 이유와 왜 하필 값이 112Mbps 근처가 되는지, 그리고 이 문제를 해결하기 위해서 어떻게 해야 되는지 알아보자.

 

첫째, 왜 한계값이 114Mbps 인가?

 

위와 같은 문제가 생기는 이유는 MRTG가 기본적으로 32비트 카운터를 사용하기 때문이다. 32비트 카운터를 사용할 때 다룰 수 있는 최대값은 2의 32승 = 4,294,967,296이고, 이것을 5분간 평균치로 구하기 위해 300으로 나누면 14,316,557.65333이 된다. 이것을 우리가 알아보기 편한 비트 단위로 환산하기 위해 8을 곱하면 다음과 같다.

 

14,316,557.65333×8 = 114,532,461.22666

 

다시 말하면 (2의 32승 바이트 / 300초)×8 = 약 114Mbps 가 되는 것이다.

 

둘째, 그럼 해결책은 무엇인가?

 

32 비트를 사용하기 때문에 약 114Mbps 영역까지만 제대로 표시할 수 있다. 이 문제를 해결하기 위해서는 상위버전인 64비트 카운터를 이용하면 된다. 물론, 114Mbps 이하의 영역에 있는 100Mbps 이하의 속도를 가지고 있는 인터페이스에서는 평소대로 32비트 카운터를 이용하면 된다.
64비트 카운터를 이용하기 위해서는 CFG 파일 내부에 'Target' 부분의 마지막 부분에 콜론(:)을 다섯 개를 써준 후 숫자 2(64비트 카운터를 의미함)를 써주면 된다. 이때 주의할 점은 구형 기종과 IOS는 64비트 카운터를 지원하지 않는 경우가 있으니 유의해야 된다.

 

Target[10.10.10.1_1]: 1:public@10.10.10.1:
→ Target[10.10.10.1_1]: 1:public@10.10.10.1:::::2


 


 

(화면 2) 64비트 카운터를 사용할때 볼 수 있는 화면

 

 

 

 

라우터의 OID 값 구하는 방법 

 



(화면 3) 라우터 메모리의 OID 값 구하기

 

 

트 래픽에 대한 정보는 MRTG에서 기본적으로 제공하기 때문에 문제가 없지만, 메모리나 CPU 등을 모니터링 하기 위해서는 각각의 OID(Object ID) 값을 알아야 한다. 이번에는 시스코웍스에 포함돼 있는 What's up gold를 이용해 실제 라우터에서 OID 값을 찾는 방법과 이것을 MRTG에 적용하는 방법에 대해 알아보도록 하자.

먼저 라우터 메모리 OID(Object ID) 값을 구해보자. 라우터에 접속한 후 show memory 라는 명령어를 이용하면 다음과 같은 내용을 볼 수 있다.

 

7206vxr#show memory

           Head        Total         Used          Free     ...
Processor  62AE40C0   206683968    29212292    177471676    ...
      I/O  F000000    16777216     7282508     9494708      ...
   ....

 

여기서 Used, Free 부분을 모니터링하려고 한다.

 

7200 라우터 전체 메모리 = 시스템 메모리 + 프로세서 메모리 + I/O 메모리

 

What's up gold를 실행 후 Net Tools의 SNMP에서 What 부분을 셀렉터(...) 클릭한다(화면 4). 

 

iso → org → dod → internet → private → cisco → ciscoMgmt → ciscoMemoryPoolObjects → ciscoMemoryPoolTable → ciscoMemoryPoolEntry

 

 


(화면 4) Net Tools의 SNMP를 실행한 화면

 

(화면 4)에서 우리가 모니터링하려고 하는 대상은 다섯 번째와 여섯 번째에 해당하는 다음과 같은 것이다.

 

ciscoMemoryPoolUsed → 1.3.6.1.4.1.9.9.48.1.1.1.5
ciscoMemoryPoolFree → 1.3.6.1.4.1.9.9.48.1.1.1.6 

 

자, 이제 맨 마지막에 instance 값을 붙이는 일만 남았다(보통 CPU처럼 한개만 있는 항목은 0을 사용함). instance는 굳이 한글로 번역한다면 '종류' 혹은 '인덱스 번호' 정도로  해석할 수 있다. 메모리의 경우에도 프로세서 메모리, I/O 메모리, Fast 메모리, PCI 메모리 등 많은 종류가 있는데 이런 것을 구별하기 위하여 instance라는 것이 필요한 것이다.
처음에 show memory를 실행시켰을 때 나온 값을 보면 7200라우터의 주된 항목으로 프로세서 메모리와 I/O 메모리가 보임을 알 수 있다. instance 값에 대한 확인은 메모리 타입이나 메모리 이름으로 알 수 있다. 이제 ciscoMemoryPoolEntry를 선택하고, Get All Subitems를 체크한 후 start 버튼을 클릭하면 된다.
(화면 5)에서 instance 값이 1번은 프로세서 메모리이고, 2번은 I/O 메모리이기 때문에 우리가 MRTG에 기록하는 값(OID+instance)은 각각 다음과 같다.

 

 


 

 

(화면 5) instance 값 확인하기

 

ciscoMemoryPoolUsed → 1.3.6.1.4.1.9.9.48.1.1.1.5.1  1.3.6.1.4.1.9.9.48.1.1.1.5.2
ciscoMemoryPoolFree → 1.3.6.1.4.1.9.9.48.1.1.1.6.1  1.3.6.1.4.1.9.9.48.1.1.1.6.2


 

 

라우터의 CPU 사용률 모니터링하기

 

 

 


(화면 6) 라우터의 CPU 사용률을 모니터링한 화면

 

 

What's up gold 실행 후 Net Tools의 SNMP탭에서 What 부분을 셀렉터(...) 클릭해 보자.

 

iso → org → dod → internet → private → cisco → local → lsystem에서 avgBusy1과 avgBusy5 항목을 찾을 수 있다(화면 7).

 

 



(화면 7) avgBusy1과 avgBusy5 항목 확인하기

 

과연 이 값이 맞는지 라우터에 들어가서 다음과 같이 직접 확인해 보자.

 

7206vxr#show processes cpu
CPU utilization for five seconds: 19%/18%; one minute: 20%; five minutes: 20%
PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min    TTY Process
1           0         1          0     0.00%  0.00%  0.00%   0 Chunk Manager
2         288   1147692          0     0.00%  0.00%  0.00%   0 Load Meter
3          12       112        107     0.08%  0.00%  0.00%   2 Virtual Exec
...
...

 

위 의 결과를 통해 avgBusy1: CPU 1분간 평균값, avgBusy5: 5분간 평균값 항목이 정확하다는 것을 알 수 있다. 따라서 우리가 구하고자 하는 값은 avgBusy1 = 1.3.6.1.4.1.9.2.1.57.0, avgBusy5.0 = 1.3.6.1.4.1.9.2.1.58.0이다. 아래는 MRTG 설정의 예이다.

 

 Target[cpu]: 1.3.6.1.4.1.9.2.1.57.0&1.3.6.1.4.1.9.2.1.58.0:public@1.1.1.1
 MaxBytes[cpu]: 100
 Options[cpu]: growright,gauge
 Unscaled[cpu]: dwmy
 YLegend[cpu]: CPU Utilization
 ShortLegend[cpu]: %
 LegendI[cpu]: 1 Min:
 LegendO[cpu]: 5 Min:
 Legend1[cpu]: AvgBusy 1 Min
 Legend2[cpu]: AvgBusy 5 Min
 Title[cpu]: 7206 Router CPU utilization
 PageTop[cpu]: <H1>7206 Router CPU utilization</H1>

 

 

 

index(html 파일 목차) 만들기

 

 

MRTG 를 이용해서 그래프와 html 파일을 생성시켰다면 이제는 이것을 웹으로 보여줘야 할 일이 남아 있다. 물론, html 파일을 사용자가 직접 메모장에서 수정할 수 있지만, MRTG에서 제공하는 indexmaker를 이용하면 간단하게 index 파일을 만들 수 있다.

 

·cfg 화일 만들기

 

 C:\mrtg\bin>perl cfgmaker --ifdesc=alias public@1.1.1.1> 7206.cfg

 

 


(화면 8-1) CPU utilization

 

 

 


(화면 8-2) GigabitEthernet0/1 "KOREN21-1Gbps"

 

 

 


(화면 8-3) GigabitEthernet0/3 "KT-Metro-155Mbps"

 

 

 


(화면 8-4) GigabitEthernet2/0 "FireWall-1Gbps"

 

 

 


(화면 8-5) Serial5/0 "Seoul-EI"

 

위의 명령에서 --ifdesc=alias 옵션을 주는 이유는 (화면 8)에서 보듯이 그래프의 제목을 라우터에 설정된 description으로 지정해 주기 위해서이다. 실제로 라우터에서는 다음과 같이 설정돼 있다.

 

   ...
   ...
   interface GigabitEthernet0/1
      description "KOREN21-1Gbps"

   interface GigabitEthernet0/3
      description "KT-Metro-155Mbps"

   interface GigabitEthernet2/0
      description "FireWall-1Gbps"

   interface Serial5/0
      description "Seoul-E1"
   ...
   ...

 

·index 파일 만들기 : [형식] perl indexmaker [옵션] [cfg파일]

 

C:\mrtg\bin>perl indexmaker --output=c:\mrtgdata\7206\index.html 7206.cfg

 

 

 

수식을 이용한 그래프


어 느 날 이런 문의가 들어왔다. 본사와 지사간에는 E1 전용회선을 3회선 이용하고 있고 MRTG를 이용해 모니터링하고 있다. 평소에는 상사에게 MRTG를 이용해 각 인터페이스의 트래픽 그림을 보여주면서 3개의 회선의 이용도가 이 정도이다라고 보고했다. 그런데 어느 날 갑자기 상사가 각 인터페이스별로 그래픽을 따로 표시할 것이 아니라 하나로 합쳐서 전체 6Mbps 중에 회선 이용률이 얼마나 되는지 알 수 있도록 하라고 지시를 내린 것이다. 이런 상황에서도 당황해 할 필요 없다. MRTG는 자체내에서 그런 것을 아주 간단하게 제공하고 있기 때문이다.

 

  Target[sum]: 1:public@1.1.1.1 + 2:public@1.1.1.1 + 3:public@1.1.1.1
   ...
   ...

 

위 의 설정처럼 하면 3개 인터페이스의 트래픽을 하나로 합쳐서 보여줄 수 있다. 그리고 덧셈뿐만 아니라 나머지 사칙연산도 지원하고 있는데, 사칙연산을 이용할 때 주의해야 할 점은 연산자라는 것을 확실히 구분하기 위해 연산자 앞뒤에는 반드시 공백이 있어야 된다는 것이다.

 

 

출처 : 온더넷


Trackback 8 Comment 2
  1. jslee233 2010.03.24 16:47 address edit & del reply

    좋은 정보 잘 보았습니다. 먼저 감사 드리며,,, MRTG을 DB 서버와도 연동이 가능한지여, 또한 OID값을 이용하여 다른 정보도 그래프로 그릴 수 있는지 궁금합니다.

    • Favicon of https://blog.pages.kr 날으는물고기 2010.03.25 19:00 신고 address edit & del

      MRTG 를 프로그램 수정하시면
      DB 연동 가능하시고요..
      SNMP에서 제공되는 모든 정보에 대해서
      그래프 기능이 가능합니다.

2009.03.23 13:59

NetFlow 데이터 분석 관련 프로그램 설치 및 활용

NetFlow 데이터 분석 관련 프로그램 설치 및 활용

(RRDTool, flow-tools, FlowScan, and CUFlow)

 

1.      NetFlow 데이터란?

 

Source IP destination IP사이에 발생하는 일련의 패킷들을 NetFlow라고 정의할 수 있는데, 여기에는 NetFlow버전에 따라 다양한 정보를 포함하고 있다. 기본적으로 source IP, destination IP, application port 번호, IP Protocol Type, Service Type, AS번호 등이다. 이런 정보를 이용해 현재 발생하고 있는 이벤트에 대한 추적이 가능하다.

 

참조: http://www.cisco.com/warp/public/cc/pd/iosw/ioft/neflct/tech/napps_wp.htm

 

기존의 MRTG가 실제 트래픽 사용률에 대한 정보를 보여 주었다면, NetFlow 데이터는 위에서 언급한 정보들을 가지고 있으므로 과다한 트래픽을 발생시키는 IP, 바이러스에 감염된 PC, 그리고 현재 우리 네트웍에서 어떤 유형의 트래픽이 많은 지를 분석할 수 있다.

 

따라서 MRTG FlowScan을 병행하면 굳이 고가의 NMS 프로그램을 구입하지 않더라도 수준급의 보안 시스템을 구축했다고 볼 수 있지 않을까?

 

* 실제예 : 바이러스에 감염된 전용선 가입자의 MRTG 그래프 및 FlowScan 검색

MRTG그래프

이 그래프는 어떤 전용회선 가입자의 트래픽 사용현황을 보여주는 것으로써 input값이 일정하고 또 새벽에도 input값이 일정하게 있는 것으로 보아 바이러스에 감염됐음을 짐작할 수 있다. 하지만 어떤 IP인지는 이 그래픽만으로는 알 수 없다. 이때 FlowScan을 이용하면 된다.

 

FlowScan

2003/11/27 04:08:22 211.238.196.17 -> 211.238.205.100 ICMP_ECHO 1 92

2003/11/27 04:08:22 211.238.196.17 -> 211.238.205.101 ICMP_ECHO 1 92

2003/11/27 04:08:22 211.238.196.17 -> 211.238.205.102 ICMP_ECHO 1 92

2003/11/27 04:08:22 211.238.196.17 -> 211.238.205.103 ICMP_ECHO 1 92

2003/11/27 04:08:22 211.238.196.17 -> 211.238.205.104 ICMP_ECHO 1 92

2003/11/27 04:08:22 211.238.196.17 -> 211.238.205.105 ICMP_ECHO 1 92

2003/11/27 04:08:22 211.238.196.17 -> 211.238.205.106 ICMP_ECHO 1 92

2003/11/27 04:08:22 211.238.196.17 -> 211.238.205.107 ICMP_ECHO 1 92

2003/11/27 04:08:22 211.238.196.17 -> 211.238.205.108 ICMP_ECHO 1 92

2003/11/27 04:08:22 211.238.196.17 -> 211.238.205.109 ICMP_ECHO 1 92

FlowScan으로 위 가입자의 IP주소(211.238.196.17)를 검색해보니 특정 IP주소(211.238.205.X번대) 92Byte의 일정한 크기로 스캔하는 웜(Welchia)에 감염되었음을 알 수 있다.

 

☞ 이제부터 NetFlow 데이터를 분석하는 프로그램들을 설치해보자.

 

2.      프로그램 설치

1)      내가 설치한 시스템 사양

[H/W]

모델명 : 인텔 ISP2150 (인텔 조립서버라고 많이 부름)

CPU : PIII 800MHz *2 (듀얼CPU)

Memory : 1024Gbytes

DISK : 9Gbytes*1, 72Gbytes*1 (모두 SCSI방식, 72G NetFlow데이터 쌓임)

[S/W]

OS : Redhat Linux 7.2

설치패키지 : Linux설치 시 대부분의 패키지 설치(게임 관련 패키지 제외)

 

2)      프로그램 설치순서 및 역할

Apache

웹서버

Perl5

Perl로 작성된 프로그램 인터프리터

RRDTool

분석된 Flow데이터를 저장하는 DB파일

Flow-tools

flow 데이터를 수집하는 collector

Perl Modules

Perl 추가 모듈

Korn Shell

CUFlow 프로그램에서 사용

FlowScan

수집된 flow데이터를 분석하여 보고서 작성

CUFlow

보고서 종류 중 하나. 다른 종류로써 CampusIO SubNetIO가 있고 서로 혼용해서 사용가능

 

 

3)      설치

      Apache Linux 설치 시 패키지로 설치하거나 최신버전을 다운받아 설치하면 된다.

      Perl5역시 Apache와 동일한 방법으로 설치하면 된다.

RRDTool

다운받기

www.rrdtool.org 에서 stable버전인’rrdtool.tar.gz’ 받음

설치

tar –zxvf rrdtool.tar.gz ('rrdtool-1.0.43’ 디렉토리 생성, 버전에 따라 다름)

cd rrdtool-1.0.43

./configure –enable-shared –prefix=/usr/local/rrdtool

make install site-perl-install

 

Flow-tools

다운받기

http://www.splintered.net/sw/flow-tools/

설치

tar –zxvf flow-tools-0.66.tar.gz

cd flow-tools-0.66

./configure; make; make install

* 관련 파일들이 ‘/usr/local/netflow’ 디렉토리에 설치된다.

 

Perl Modules

CPAN Shell 방식으로 설치할 수도 있고, 관련 Module을 다운받아서 설치 할 수도 있다. 여기서는 관련 Module들을 다운받아 설치한다. , ConfigReader는 다른방식으로 설치한다.

다운받기

http://search.cpan.org/search?dist=Boulder

http://search.cpan.org/search?dist=ConfigReader

http://search.cpan.org/search?dist=HTML-Table

http://net.doit.wisc.edu/~plonka/Net-Patricia/

http://net.doit.wisc.edu/~plonka/Cflow/

설치

(Cflow)

tar –zxvf Cflow-1.051.tar.gz

cd Cflow-1.051

perl Makefile.PL

make; make test; make install

* 다른 Module들도 같은 방식으로 설치

설치

(ConfigReader)

ConfigReader Makefile.PL 파일이 없으므로, REAME 파일 참조해서

- You'll find documentation in ConfigReader.pod, as well as in the source files. The *.pm files should be installed in a "ConfigReader" subdirectory on your Perl include path. -

 

/usr/lib/perl5/5.8.0/ConfigReader 디렉토리를 만들어서 *.pm 복사하고,

/usr/lib/perl5/site_perl/5.8.0/ConfigReader 디렉토리도 만들어서 *.pm 복사하면 된다.

 

tar -zxvf ConfigReader-0.5.tar.gz

cd ConfigReader-0.5

cd /usr/lib/perl5/5.8.0

mkdir ConfigReader

cd ConfigReader

cp /home/src/ConfigReader-0.5/* .

 

Korn Shell

다운받기

Linux설치 CD#2 RPM디렉토리나 http://www.kornshell.com

설치

rpm –Uvh pdksh-5.2.14-16.i386.rpm

 

FlowScan

다운받기

http://net.doit.wisc.edu/~plonka/FlowScan/

설치

(‘root’계정이 아닌 일반 계정으로 설치할 것을 권고)

tar -zxvf FlowScan-1.006.tar.gz

cd FlowScan-1.006

./configure --prefix=/var/netflow

make

make -n install

make install

cd cf

cp flowscan.cf /var/netflow/bin

 

CUFlow (일반계정으로 설치 계속)

다운받기

http://www.columbia.edu/acis/networks/advanced/CUFlow/

설치

tar –zxvf CUFlow-1.4.tgz

cd CUFlow-1.4

cp CUFlow.* /var/netflow/bin/

 

☞ 자, 이제 NetFlow데이터를 수집하고 가공하기 위해 필요한 프로그램 설치는 끝났다. 그럼 실제 라우터나 스위치에서 NetFlow 데이터를 FlowScan서버로 보내는 방법과 이를 서버에서 처리하기 위한 사전 환경설정에 대해서 알아보자.

 

3.      NetFlow 데이터 보내기

1)      시스코 라우터 설정 (여기서는 시스코7513 라우터에서 설정)

 

#Global-mode

ip flow-export version 5 peer-as

ip flow-export destination x.x.x.x y (x.x.x.x –collector’s ip주소 / y -port번호, 보통 FlowScan프로그램은 2055/UDP를 사용한다.)

#Interface-mode

ip route-cache flow

 

2)      확인 (아래 flows 개수가 증가하는 지 확인)

7513#sh ip flow export

Flow export is enabled

  Exporting flows to x.x.x.x (y)

  Exporting using source IP address x.x.x.x

  Version 5 flow records, peer-as

  439795660 flows exported in 16392366 udp datagrams

  0 flows failed due to lack of export packet

 

4.      FlowScan서버 환경구성

 

1)      flow-tools

flow파일 및 RRD파일이 저장될 디렉토리 생성

#mkdir –p /var/netflow/

#mkdir –p /var/netflow/ft

#mkdir –p /var/netflow/rrds

#mkdir –p /var/netflow/scoreboard

/usr/local/netflow/bin 밑에 export라는 파일을 만들고 소유권한을 ‘chmod a+x export’로 준다.

#cd /usr/local/netflow/bin

#touch export

#chmod a+w export

 

export 파일을 아래와 같이 편집한다.

#!/usr/bin/perl

$file = $ARGV[0];

if ( $file =~ /.*ft-v05\.(\d\d\d\d)-(\d\d)-(\d\d)\.(\d\d)(\d\d)(\d\d)/ ){
$cflowfile = "flows.".$1.$2.$3."_".$4.":".$5.":".$6;
$command = "/usr/local/netflow/bin/flow-export -f0 < $file > /var/netflow/$cflowfile";
print "$command\n";
system($command);
}else{print "File $file didn't match\n";}

 

tcpdump flow 데이터가 들어오는지 확인

#tcpdump –n udp port 2055

ð       라우터로부터 NetFlow데이터를 정상적으로 받는지 확인. 만일 스크롤되는 데이터가 없다면 라우터의 NetFlow 설정부터 확인

 

NetFlow 캡쳐하기

#/usr/local/netflow/bin/flow-capture -w /var/netflow/ft 0/0/2055 -S5 -V5 -E1G -n 287 -N 0 -R /usr/local/netflow/bin/export

 

* flow-capture프로그램 옵션 설명

·         -w /var/netflow/ft : flow-capture가 캡쳐한 flow 파일이 저장되는 장소

·        0/0/2055 : local IP/remote IP/port번호, 0 any IP를 의미, 0은 모든 IP 의미

 

2)      flowscan

/var/netflow/bin/flowscan.cf 파일 수정

#ReportClasses 부분  -> 어떤 보고서 형식을 사용할 지

ReportClasses CUFlow

#FlowFileGlob 부분  -> 가공된 NetFlow파일 형식을 지정하는 부분. 예로들면, ‘flows.20031214_17:50:00’과 같은 형식

FlowFileGlob flows.*:*[0-9]

CampusIO.cf와 같은 나머지 FlowScan 파일은 수정할 필요없음.

 

3)      CUFlow

/var/netflow/bin/CUFlow.cf 파일 수정

# Subnet 부분 : 내부에서 사용하는 IP블록, CIDR형식. 여러 줄 가능

Subnet 210.100.64.0/19

Subnet 211.12.160.0/20

 

# Network 부분 : 네트웍 그룹으로써 이 그룹에 대한 트래픽을 모니터링하고 싶은 경우. “Network x.x.x.x/y lable” 형식

Network 210.100.66.0/24,211.12.162.0/24 data_center

 

# OutputDir 부분 : RRD 파일이 저장되는 장소

OutputDir /var/netflow/rrds

 

# Scoreboard/AggregateScore 부분 : 트래픽을 많이 발생시키는 순위에 대한 html파일이 저장되는 부분.

Apache에서 이 파일을 링크하도록 구성하면 웹에서 확인 가능

Scoreboard  25  /var/netflow/scoreboard  /var/netflow/scoreboard/toptalkers.html

AggregateScore  25  /var/netflow/rrds/agg.dat  /var/netflow/scoreboard/overall.html

 

# Router 부분 : flow를 발생시키는 라우터 리스트

Router 210.100.64.1 GSR

Router 211.12.160.1 7513

 

☞ 이제 모든 준비가 끝났으므로 FlowScan을 실행시켜 NetFlow데이터가 제대로 쌓이는 지 확인해 보자.

 

5.      FlowScan 실행

 

1)      스크립트 작성

#touch /var/netflow/bin/fs.sh;

#chmod 755 /var/netflow/bin/fs.sh

#vi /var/netflow/bin/fs.sh

#!/bin/sh
# description: Start FlowScan

case "$1" in
'start')
cd /var/netflow/ ; bin/flowscan >>/var/log/flowscan 2>&1 </dev/null & >/dev/null
touch /var/lock/subsys/flowscan.1
;;
'stop')
rm -f /var/lock/subsys/flowscan.1
;;
*)
echo "Usage: $0 { start | stop }"
;;
esac
exit 0

2)      flowscan 실행하기

#/var/netflow/bin/fs.sh start

#tail f /var/log/flowscan (아래와 같이 보이면 성공)

sleep 30...
2002/06/24 03:05:09 working on file flows.20020624_03:00:00...
2002/06/24 03:05:53 FlowScan-1.020 CUFlow: Cflow::find took 44 wallclock secs (43.57 usr + 0.11 sys = 43.68 CPU) for 8729930 flow file bytes, flow hit ratio: 156224/158726
2002/06/24 03:05:56 FlowScan-1.020 CUFlow: report took 3 wallclock secs ( 0.00 usr 0.03 sys + 1.47 cusr 1.30 csys = 2.80 CPU)
sleep 30...
 

3)      flowdumper
   
용도 : FlowScan에 의해 가공된 파일은 RRD형식이므로 cat같은 명령으로는 읽을 수 없다. Flowdumper RRD파일을 텍스트로 변형시켜 보여줌으로 grep과 같은 명령어와 혼합하면 원하는 데이터를 얻을 수 있다.
    사용예  #flowdumper s flows.20031214_20:45:00 | grep 211.238.196.17

 

4)      CUGrapher.pl
      용도 : RRD파일을 가공해서 그래프로 보여주는 perl프로그램
      CUFlow-1.4 디렉토리에서 아파치의 cgi-bin디렉토리로 복사
      http://yourserver/cgi-bin/CUGrapher.pl 로 접속
      참고사이트
o        http://wwwstats.net.wisc.edu
 o      
http://flows.ikano.com

6.      기타 관련 사이트
      http://www.cisco.com/go/fn - This is the Cisco Feature Navigator 
      http://httpd.apache.org/ - This is the home page for Apache. This is the web server that I recommend.
      http://www.rrdtool.org/ - This is the RRDTool home page.
      http://www.splintered.net/sw/flow-tools/ - This is the flow-tools home page.
      http://net.doit.wisc.edu/~plonka/FlowScan/ - This is the FlowScan home page.
      http://www.columbia.edu/acis/networks/advanced/CUFlow/ - This is the CUFlow home page.
      http://net.doit.wisc.edu/~plonka/list/flowscan/ - This is the FlowScan mailing list home page.
      http://wwwstats.net.wisc.edu - Examples of FlowScan and CUFlow.
      http://flows.ikano.com - Another example web site.
      https://www1.columbia.edu/sec/bboard/mj/cuflow-users/ - CUFlow mailing list archive. The mailing list is cuflow-users@columbia.edu.




Netflow 와 분석도구의 활용

출처 : http://www.coconut.co.kr/

네트워크 와 시스템은 정보화 사회의 중추적인 역할을 담당하고 있으며 그 중요성은 날로 커지고 있다.
이에 따라 안전하고 효율적인 네트워크 환경을 위한 관리의 개념이 중요하게 대두되고 있다. 

이 연재를 통해 네트워크 모니터링 툴로 현재 가장 많이 쓰고 있는 MRTG의 한계를 벗어나 특정한
내부의 네트워크 트래픽(Layer4) 모니터링을 사용할 수 있는 내용을 살펴보도록 하겠습니다.



Cisco NetFlow기반의 라우터가 인터넷 패킷 흐름을 Flow 정보로 가공하여 다양한 트래픽을 분석하게 됩니다. Flow 정보는 Network-layer 와 Transport-layer 계층의 7 가지의 필드(Source IP address , Destination IP address, Source port number, Destination port number, Layer 3 protocol type, Type of service (ToS), Input logical interface ) 의 값을 가집니다.


[그림1] Flow Cache 정보


Cisco NetFlow 에서는 라우터의 입/출력 인터페이스 번호를 덧붙혀 Flow 규격을 정의 했으며 일정시간 내에 패킷이 도착하지 않으면 Flow 종료를 선언하고, Flow 데이터를 외부 측정서버로 전송하도록 되어있습니다.

Flow 규격은 현재 v1 부터 시작하여 v9 까지 존재하는데 그 중 라우터에서 BGP AS가
지원되기 시작한 v5가 현재 가장 많이 사용되고 있습니다. Version 9 기반은 IPv6, MPLS, Multicast 등의 다양한 Flow 포맷들을 실어 보낼 수 있게 하고 있습니다.

또한 기존의 UDP 기반의 전송을 TCP 또는 SCTP 전송계층을 이용하도록 하여 신뢰성을
강화 시켰습니다.

NetFlow 는 1996년 Cisco Systems. 개발이 되어 사용되고 있지만 현재는 다른 벤더 Enterasys, Juniper, extreme등 에서도 도입하여 사용되고 있습니다.



▶ 우선 Cisco NetFlow 가 설치 되어 있는 Router/Switch 를 찾아야 합니다. 어떤 장비가
   NetFlow를 지원하는 지는 다음 URL를 참조 할 수 있습니다.
http://www.cisco.com/warp/public/732/Tech/nmp/docs/netflowoverview.pdf 

네트워크 장비에서 Capture 및 Export 를 수행할 때 모든 패킷에 대해 실시간으로 모니터링을 추가하는 것이므로 CPU 및 메모리 부하를 어느 정도 줄 수 밖에 없으므로 정확한 장비의 성능에 미치는 영향에 대한 정보를 확인해야 하며, 해당 정보는 다음 URL를 참조 할 수 있습니다.
http://www.cisco.com/en/US/tech/tk812/technologies_white_paper0900aecd802a0eb9.shtml

▶ Configuring NetFlow to Capture


Capture 방법은 측정하고자 하는 인터페이스에 Config-Mode 에서 sh ip cache flow 를 입력하면 됩니다.

[ 참고 ]
Protocol : 06 = 0*16^1 + 6*16^0 = 6 (TCP)
목적지포트 : 0089 = 16^3*0 + 16^2*0 + 16^1*8 + 16^0 = 137

▶ Configuring NetFlow to Export Network Traffic Data
NetfFlow 는 Data flow 정보를 메모리에 임시 저장을 하게 됩니다. 만약 기본사이즈로 정해져 있는 메모리 저장한계를 넘어서게 될 경우 처음 저장되어 있던 flow 정보는 삭제하게 되며 만약 15sec flow 가 Inactive 하게 되거나 30분 이상 변화 없이 멈쳐있는 경우 에도 flow 가 삭제됩니다.

이러한 불편한 점을 보안하기 위해 NetFlow Data 를 외부로 Exporting 할 수가 있습니다.



라우터/스위치의 NetFlow가 Enable 되어 있다면, 자동으로 분석서버로 보낼때는 일반적으로 적정 회선용량의 1.5% 대역폭을 점유하게 됩니다.



다음은 라우터/스위치에서 지원하는 NetFlow Data flow 정보를 가공 및 분석하여 웹을 통해 상시적으로 모니터링을 할 수 있는 공개 분석 도구 및 상용도구에 대해서 알아보겠습니다.


[그림2] NetFlow exporting 및 분석도구

NetFlow의 데이터를 분석하여 웹이나 응용프로그램을 모니터링을 할 수 있는 프로그램으로는 아래와 같이 사용이 가능한 대표적인 프로그램들이 있습니다.

1) Caida( Cooperative Association for Internet Data Analysis) (오픈소스)
2) Arbor Networks 사의 PeakFlow (상용)
3) Hewlett Packard (상용)
4) 그 외의 프로그램이나 벤더주소는 아래의 URL 에서 확인 하실 수가 있습니다.
http://www.cisco.com/warp/public/732/Tech/nmp/netflow/partners/

위의 분석도구를 이용한다면 현재의 전체 트래픽 중 TCP , ICMP , UDP가 어느정도 인지, 즉 프로토콜 유형별를 알 수 있다. 또한 트래픽 중에 정상적인 트래픽과 유해트래픽을 판별하여 침해사고 대응 및 비정상적인 다량의 패킷 유입이 된다면 사전에 발견하여 신속한 대처가 이루어 질 수 있을 것입니다.

[그림3] Flowscan 과 RRD를 통한 프로토콜유형별 입/출력 패턴


[그림3] 을 보시면 백본트래픽이 양방향 최대 150Mbbs 정도로 전송되고 있다. In/Out 트래픽들의 프로토콜 유형 형태를 보면 잘 알려진 P2P과 같은 데이터는 특별히 많이 나타나지 않았습니다.

또한 잘 알려진 포트를 사용하는 TELNET, SSH 등 응용 프로토콜의 트래픽 양보다 잘 알려지지 않은 포트를 사용하는 트래픽의 점유율이 훨씬 크다는 것을 알 수 있습니다. 이는 다양한 사용자 응용프로그램의 확산과 함께 동적인 포트번호를 사용하는 것들이 많기 때문입니다.

[그림3] 의 왼쪽하단 표를 보시면 웹과 같은 응용프로그램들은 플로우 지속시간이 짧은 작은 플로우들이 많습니다. 하지만 Flow 수는 작은 반면에 Octets 과 Packets 큰 응용(9553,8403)들도 많이 나타나고 있다. 이러한 응용들은 대개 파일 공유 프로그램 패킷으로 추정됩니다.

[그림4] DoS Traffic Flood Detected by FlowScan

[그림4]를 보시면 In/Out 트래픽이 40Byte 이하로 급격하게 증가한 현상을 볼 수 있을것입니다. Dos Attack 은 32Byte 내외의 작은패킷으로 구성되는게 일반적이므로 서비스거부공격으로 판단되어 집니다.

Inbound 요청이 약 40Byte TCP ACK packets 이며 이 요청을 받은 서버 및 시스템들은 응답으로 약 30Byte TCP RST packets 보내는 수치를 보여주고 있습니다.



[그림5] Top 10 origin ASNs by bytes out


[그림5]는 Routing Protocol(BGP)를 사용하는 네트워크 장비에서 서로 연결되어 있는AS 구간끼리 가장 많은 트래픽 유발하는 AS Number 별로 분류한 것을 보여주고 있습니다.

패킷(웜바이러스)으로 인하여 서버나 네트워크에 불필요한 트래픽이 발생하여 전체 네트워크를 자원의 효율성을 심각하게 저하되는 상황을 방지 할 수 있습니다.  

이와 같이 라우터/스위치에서 제공하는 NetFlow Flow Date 를 이용하여 분석도구를 활용하면 네트워크 장비의 영향을 최소화 하면서 네트워크 관리를 효율적으로 할 수 있는 유용한 관리 시스템을 구축을 할 수 있을 것입니다.

아울러 갑작스런 과다 트래픽이나 비정상적인 트래픽이 발생할 경우에도 굳이 전문적인 지식이 없어도 이 그래프를 통해서 트래픽의 특성 및 원인 규명하는 것이 그리 어렵지 않을 것입니다.

상용 툴은 공개형 툴보다는 쿼리기능 및 다양한 리포트 기능을 가지고 있으며 사용자가 쉽게 사용할 수 있는 장점을 가지고 있습니다. 하지만 이 모든 툴은 침입탐지시스템(IDS)의 기능을 가지고 있는 것이 아니라 단지 네트워크 모니터링 툴에 불가하다는 것을 인지해야 합니다.



Trackback 3 Comment 0