시스템 모니터링 방법 - Clipmarks

Someone has sent you a clip...

 clipped from blog.naver.com

인터넷과 네트워크 인프라의 발전으로 인해 기존의 전통적인 오프라인 영역 중 많은 부분이 온라인 영역으로 급속히 이전하고 있다. 이에 따라 오늘날에는 시스템과 네트워크의 안정적인 운영이 기업의 생존과 비즈니스 영속성과도 직접적으로 연결돼 있다.
특히 최근의 다양한 보안 이슈 가운데 가장 위협적인 것 중 하나가 DoS로, 웜/바이러스나 백도어에 의해 발생하는 과도한 유해 트래픽은 시스템이나 네트워크 장비의 오동작을 유발할 뿐만 아니라 전체 네트워크의 장애로까지 이어질 수 있다.
이같은 보안 위협으로부터 기업 자산이나 네트워크를 보호하기 위해서는 IPS나 바이러스 월(VirusWall)과 같은 능동형 보안 솔루션을 도입하는 것이 현실적 대안으로 여겨지지만, 최근에는 네트워크/시스템의 안정된 운영을 위한 시큐리티와 트래픽 모니터링 작업이 중요시되고 있다.

트래픽 모니터링의 중요성 증가
이같은 경향을 반영해 최근에는 IDS와 같이 제한된 영역에서의 트래픽 모니터링 기능을 넘어, 전사적 관점에서 트래픽 모니터링과 현황 분석, 그리고 즉각적인 대응이 가능한 TMS(Threat Management System)나 플로우(Flow) 기반의 모니터링 기법들이 각광받고 있다.
특히 기존의 NMS(Network Management System)나 ESM(Enterprise Security Management) 솔루션에서도 트래픽 분석과 보안 분석 기능들이 추가되고 있는데, 기업의 전산 관리자들에게 있어 모니터링 작업이 중요한 이유는 다음과 같다.

- 오늘날 기업 네트워크 환경은 다양한 구성 요소와 프로토콜의 복합, 새로운 애플리케이션의 도입으로 인해 과거와는 비교할 수 없을 정도로 복잡해지고 세분화된 구조를 갖고 있다.
- 기업 비즈니스 환경의 네트워크 인프라 의존성이 커짐에 따라 안정적인 서비스 운영은 필수 조건이 됐으며, 이외에도 가용성(Availability), 보안(Security) 등의 다양한 요구 사항을 만족시켜야 한다.
- 네트워크 구축 뿐 아니라 운영이나 유지보수에 소요되는 경비를 절감하기 위해 분산된 네트워크 자원을 효율적으로 관리하고 제어하기 위한 일관된 방법론이 요구된다.

다음은 필자가 얼마 전 모 사이트에서 경험한 것으로 최근 가장 흔하게 겪을 수 있는 보안 이슈이면서, 동시에 네트워크 자원 관리와 트래픽 모니터링의 중요성을 잘 보여주는 사례이다.
주요 문제점은 내부의 특정 시스템이 불규칙적으로 정상적인 범위를 훨씬 넘어서는 과도한 트래픽을 발생시킴으로써 네트워크의 대역폭을 잠식하고 부하를 발생시키는 것이었는데, MRTG나 파이어월에서의 트래픽 로그는 시간당 수 기가바이트에 이를 정도였다.
이런 경우는 대개 P2P 애플리케이션이나 DoS, 웜/바이러스에 의한 유해 트래픽 발생으로 압축할 수 있는데, 해당 시스템은 네트워크로부터 분리가 불가능했기 때문에 먼저 이더리얼(Ethreal)을 설치해 발생 트래픽을 살펴보기로 했다.
이더리얼을 실행한지 불과 1~2분 만에 140MB 분량의 약 15만개 패킷이 캡처됐는데, 원격지 IP 주소와 패킷을 살펴본 결과 정상적인 연결 패턴과는 다른 양상을 보이는 이상 패킷이었으며, 발생 원인은 시스템에 은밀히 설치돼 있는 백도어로 밝혀졌다.
재미있는 것은 해당 시스템에 바이러스 백신이 정상적으로 동작하고 있었으나, 이를 전혀 감지하지 못했다. 이에 다른 백신을 설치해 해당 백도어를 삭제한 후 정상적으로 동작하는 것을 확인할 수 있었다.
이와 같은 사례는 일정 규모 이상의 네트워크 환경에서는 보안 패치나 백신이 설치되지 않은 PC에 의해 빈번하게 발생한다. 별도의 모니터링 작업이 이루어지고 있지 않다면 네트워크가 다운되기 전까지는 쉽게 인지하기 힘든 부분으로, 네트워크/시스템 모니터링의 중요성을 잘 보여준다.

시스템 모니터링 작업
시스템 모니터링 작업에서 전통적으로 중요시 되는 항목은 CPU, 메모리, 디스크 I/O와 네트워크 입출력 현황 등이다. 최근에는 네트워크 시큐리티 관점에서 네트워크와 관련된 항목의 모니터링이 중요시되고 있는데, 이들 항목을 모니터링하기 위한 도구와 방법론은 (표 1)과 같다.


· ifconfig
ifconfig는 유닉스/리눅스 환경에서 네트워크 인터페이스 설정 값과 현황을 볼 수 있는 유틸리티로 네트워크 카드의 MAC 주소와 IP 주소, 네트워크 정보, 그리고 트래픽 현황(TX/RX)과 충돌(Collisions) 정보 등을 출력한다.

(화면 1) ifconfig 실행 화면


네트워크 현황 파악과 관련해 ifconfig 실행 화면에서 주의 깊게 살펴봐야 할 부분은 충돌(Collisions) 정보와 네트워크 카드 동작 모드인데, 먼저 충돌이나 '충돌률(Collisions / TX Packets ?100)' 수치가 지나치게 높을 경우는 물리적 네트워크 연결 문제나 네트워크의 포화 상태를 나타낸다.
또한, 일반적인 네트워크 카드의 경우 동작모드(Running Mode)가 멀티캐스트(Multicast)로 지정돼 있어야 정상이므로, '무차별모드(PROMISC)'로 지정돼 있을 경우는 모든 패킷을 수용할 수 있는 스니핑 모드일 수 있기 때문에 이런 시스템은 주의깊게 살펴 볼 필요가 있다.
참고로 네트워크 트래픽 모니터링이나 스니퍼 프로그램 구동 시 LAN 카드는 무차별모드로 변경되는데, 수동으로 무차별 모드를 설정하는 방법은 '# ifconfig eth0 promisc'이며, 해제 명령은 '# ifconfig eth0 promisc'이다.

· netstat
시스템에서 네트워크 연결 및 세션 정보를 조회하기 위한 명령어로 대표적인 것이 'Netstat(Network Status)'로 현재 시스템의 네트워크 연결 정보 뿐 아니라, 로컬과 원격지 시스템의 IP 주소, 포트 정보, 연결 상태 등을 출력한다.

(화면 2) Netstat 실행 화면


netstat 명령은 제공되는 옵션을 적절히 조합하면 시스템 수준에서의 네트워크와 프로토콜의 세부 통계 정보까지 분석할 수 있을 정도로 상당히 유용한 도구다.


netstat 명령의 실행 결과값을 이해하기 위해서는 네트워크와 TCP/IP 프로토콜에 대한 기본 지식이 요구되는데, 실행 결과 출력되는 상태정보(State)의 주요 의미는 (표 3)과 같다.

(표 3) netstat 상태 정보

· TCPview
TCPview는 netstat 유틸리티의 윈도우 버전으로 현재 시스템에서 운영중인 서비스나 열린 포트 정보 등 네트워크 서비스와 관련된 프로세스 정보를 실시간으로 제공하는 유틸리티다.

(화면 3) TCPview 주요 화면


TCPview는 netstat가 제공하는 대부분의 기능을 지원할 뿐 아니라 해당 네트워크 서비스를 실행하고 있는 프로세스의 세부 정보에 대한 조회와 제어 기능까지 제공하므로 시스템 모니터링 작업에 매우 유용하다. 웹 접속이나 특정 네트워크 기반 애플리케이션을 실행한 뒤 접속 소켓의 생성과 소멸 절차와 상태를 살펴보면 이해가 빠를 것이다.

네트워크 모니터링 작업
기업 네트워크 환경에서 라우터/스위치나 서버 시스템과 같은 다양한 장비를 도입, 운용하다 보면 WAN이나 LAN 구간에서의 전체적인 트래픽 현황이나 각 네트워크 장비에서의 부하량 분석 데이터가 필수다.
이런 네트워크 트래픽 분석 작업은 대개 공개용 소프트웨어인 MRTG(Multi Router Traffic Grapher)를 이용하거나, NMS와 SNMP를 이용해 수집하는 것이 전통적인 방법이다. 최근에는 네트워크 보안 관점에서도 매우 중요하기 때문에 ESM(Enterprise Security Management)이나 TMP(Threat Management System)와 같은 상용 솔루션에서도 트래픽 현황과 추이 분석은 핵심 기능으로 자리잡고 있다.

· MRTG
MRTG(Multi Router Traffic Grapher)는 표준 SNMP 프로토콜을 기반으로 네트워크 트래픽 모니터링과 관리를 위한 공개 소프트웨어로, 관리자가 지정한 시간 단위별로 각 개체의 데이터를 모니터링해 결과값을 웹 페이지로 출력하는 매우 유용한 도구다(화면 4).

(화면 4) MRTG 주요 화면


원래 MRTG는 라우터의 트래픽 부하량을 측정할 목적으로 개발됐는데, 이외에도 SNMP와 연동해 네트워크 장비나 시스템의 자원, 애플리케이션 운용 현황 등과 같은 다양한 객체까지 모니터링할 수 있으며, 수집한 데이터를 HTML 문서와 그래픽 포맷으로 변환해 출력한다.

(그림 1) MRTG 구성도

/P>

MRTG는 C와 펄(Perl) 언어로 개발됐으며, 속도를 요구하는 부분은 C로, HTML 생성과 처리 부분은 이식성 좋은 펄 언어로 구성돼 대부분의 운영체제를 지원한다. MRTG는 트래픽 현황 모니터링 뿐 아니라 SNMP와 MIB을 이용해 다음과 같은 다양한 항목의 모니터링이 가능하다.

- 네트워크 장비의 트래픽 모니터링과 분석
- 서버 시스템의 트래픽 모니터링과 주요 자원(CPU, 메모리, 디스크 I/O, 네트워크) 현황 모니터링과 분석
- 기타 MIB에서 제공하는 다양한 개체들의 모니터링과 분석

네트워크 트래픽 모니터링과 관리 작업에 있어 상용 도구 못지않은 성능과 기능을 제공하는 MRTG는 최근 활용성이 증대되고 있으며, 전용 회선이나 보안 서비스를 제공하고 있는 ISP나 IDC 환경에서 고객 서비스 용으로도 많이 활용되고 있다.
MRTG는 네트워크 관리자에게 매우 강력한 도구임에는 틀림없으나 몇 가지 단점을 갖고 있다. 먼저 트래픽 분류 기능이나 상세 분석 기능이 미약하고, 특히 정상 트래픽 대비 비정상 트래픽 분류나 프로토콜/서비스별 트래픽 분류 기능이 제공되지 않는다.
따라서 이런 추가적인 트래픽 분류 정보를 얻기 위해서는 스니퍼나 Ntop(Network Top)과 같은 내부 네트워크 트래픽 분석 도구나 플로우스캔(Flowscan) 등과 같은 플로우 기반의 트래픽 모니터링 프로그램이 대안으로 제시되고 있다.
현재 MRTG는 유닉스/리눅스 뿐 아니라 윈도우 환경까지 지원한다. 설치나 운영과 관련된 자세한 자료는 웹 사이트 'people.ee.ethz.ch/~oetiker/webtools/mrtg'와 'www.mrtg.co.kr'를 참조하기 바란다.

· What's up
왓츠업(What's up)은 IPSwitch(www.ipswitch.com)에서 개발한 윈도우 기반 네트워크 자원 관리 도구로 표준 SNMP 기반으로 강력한 기능 제공과 간편한 사용법으로 실제 업무 환경에서 많이 사용되는 NMS 도구다.

(화면 5) 왓츠업 주요 화면

/P>


HP의 오픈뷰(Openview)나 IBM의 티볼리(Tivoli)와 같은 상용 NMS 도구들은 기업 환경에서 요구하는 강력한 기능을 제공하지만 복잡한 사용법이나 고가의 라이선스 비용, 별도 DBMS 요구 등으로 인해 중소규모 환경에서 운용하기가 쉽지 않다. 이에 비해 왓츠업은 윈도우 환경에서 직관적인 인터페이스 기반으로 상용 NMS에 버금가는 다양한 기능을 제공한다.
왓츠업은 검색 기능을 이용해 네트워크 맵(Network Map) 자동 생성 기능을 제공하며 이 기능은 다수의 시스템 등록이나 네트워크 변동 사항 반영 시 매우 유용하다. 이때 적용하는 옵션으로는 SNMP 장비를 지정하는 스마트스캔(Smart Scan), ICMP, 윈도우 네트워크 환경이나 호스트 파일(hosts) 등이 있다.

(화면 6) 왓츠업 스마트스캔(Smart Scan)


왓츠업은 모니터링 하고 있는 네트워크 장비가 폴링(Polling)에 응답하지 않거나, 운영중인 서비스 장애 발생이나 장치로부터 SNMP 트랩이 수신됐을 경우, 각 단계별로 아이콘을 변경시켜 시각적으로 표기한 후 알람(Alarm)이나 알림 메시지를 송부해 관리자에게 통보해 즉각적인 대처가 가능하도록 한다.

(화면 7) 왓츠업 장애 경보기능


이외에도 왓츠업은 HTTP나 DNS, FTP, POP3 같은 표준 TCP/IP 애플리케이션이나 관리자가 수동으로 등록한 서비스의 운용 상태도 모니터링할 수 있으며, 이벤트 발생시 관리자에게 통보하거나 내부 로그에 저장해 일정기간 동안의 네트워크 현황 추이 분석이나 체계적인 장애 이력 관리 기능도 제공한다.
또한 왓츠업은 내장된 자체 웹 서버 기능을 이용해 로컬에서 수행할 수 있는 대부분의 기능을 원격지에서도 수행할 수 있어 네트워크 모니터링 작업의 관리 편의성을 높였다.

(화면 8) 왓츠업 웹 GUI 기능


이외에도 왓츠업은 내장된 MIB 브라우저나 SNMP 도구, Lookup, Whois, Scan, Throughput 등과 같은 10여 개의 네트워크 유틸리티를 제공해 다양한 분석 기능과 함께 효율적인 모니터링 기능을 제공한다.
왓츠업과 같은 네트워크 관리도구를 이용하면 전체 네트워크 자원의 체계적인 관리가 가능할 뿐 아니라 평상시에는 발견할 수 없는 시스템 단위에서의 다양한 이벤트나 이슈까지도 검증할 수 있다.
(화면 9)는 필자가 일전에 작업을 수행한 한 사이트에서 왓츠업을 이용해 IDC 내부의 전체 서버 팜(Server Farm)을 모니터링한 결과, 이상 현상을 나타낸 웹 시스템이다. 화면에서 보는 바와 같이 1, 2분 간격으로 HTTP 서비스가 업/다운을 반복하고 있는 것을 알 수 있다.

(화면 9) 왓츠업 Quick Status 로그


대개 이같은 현상은 웹 트래픽이 폭주하거나 웹 서비스 데몬 장애 시 발생하는 경우가 많다. 해당 시스템을 분석한 결과 해킹에 의해 백도어가 다수 설치된 상태였으며 이로 인한 과도한 트래픽 발생으로 인해 웹 서비스가 주기적으로 업/다운을 반복하고 있는 상황이었다.
외부로 서비스 중인 웹 시스템의 이같은 불안정한 동작은 매우 심각한 현상이다. 하지만 연결이 계속 유지되지 않는 웹 서비스의 특성때문에 이처럼 짧은 간격 동안의 서비스 업/다운 반복은 전문적인 모니터링 도구를 사용하지 않으면 발견하기 힘들다.

· Syslog와 로그분석 도구
네트워크에서 동작중인 장비나 시스템은 모두 로그를 발생시키고 저장하는 데, 각각 다른 포맷과 다른 방식을 사용하기 때문에 공통된 로그 관리의 필요성이 대두됐다. 이를 통해 탄생한 것이 대표적인 것이 표준 로그 포맷인 Syslog다.
Syslog는 그 설정 내역에 따라 기본 로그부터 세부적인 정보까지 단계별로 저장할 수 있다. 기본 저장 위치는 로컬 시스템이지만, 필요에 따라 외부의 별도 시스템에도 전송할 수 있으며, 외부 서버로 로그 전송 시에는 514/UDP 포트를 사용해 통신한다.

시스템이나 네트워크 장비의 접속이나 이벤트 로그는 네트워크 관리자뿐 아니라 보안 관리자에게도 매우 중요한 요소다. 다양한 시스템과 장비들이 각각 생성, 저장/관리하는 방대한 양의 로그를 개별적으로 점검하고 분석한다는 것은 비효율적이며 현실적으로 불가능하다.
특히, 스위치나 라우터 같은 네트워크 장비들은 자체적으로 갖고 있는 저장 공간의 한계 때문에 일정 분량의 로그만 저장한다. 특히, 로그가 메모리에 저장되기 때문에 재부팅되면 로그가 소멸돼, 보안 사고 발생시 로그 분석이 불가능한 경우도 많다.
따라서 대규모 네트워크 환경에서는 별도의 로그 서버를 운용해 다양한 장비의 로그를 단일 시스템으로 통합 관리하는 경우가 많다. 이처럼 별도의 로그 서버를 운영하면 단일 시스템에서 모든 대상 장비의 체계적인 로그 관리가 가능하므로, 해킹이나 보안 침해사고 발생시에도 안전한 로그 관리로 인해 원인 규명이나 추적이 가능한 장점이 있다.

Syslog 클라이언트 유닉스 서버 워크스테이션 스위치 라우터 인터넷 로그 서버(Syslog 데몬) 514/UDP

로그 서버의 운영은 유닉스/리눅스 환경에서는 기본적으로 제공되는 Syslog 데몬이 주로 이용되며, 윈도우 환경에서는 '키위 Syslog(Kiwi Syslog)'와 같은 별도의 Syslogd 도구를 이용해 운영한다. 이 도구는 웹 사이트(www.kiwisyslog.com)에서 다운받을 수 있다.

(화면 10) 윈도우용 Kiwi Syslog


'Kiwi Syslog Daemon'은 등록 여부에 따라 스탠더드(Standard) 버전과 서비스(Service) 버전으로 구분되며, 정식 버전은 호스트별 로그 정렬기능, DBMS 저장 기능 등의 추가적인 고급 기능을 제공한다. 특히 'Kiwi Secure Tunnel' 프로그램을 이용하면 로그 서버와 로그 클라이언트 사이의 통신을 암호화 처리해 보안성을 확보할 수 있다.
시스템이나 네트워크 장비의 로그 저장과 분석이 Syslog의 주된 목적이지만, 최근에는 Syslog를 이용해 파이어월, UTM(Unified Threat Management), IPS(Intrusion Prevention System) 등과 같은 보안 장비의 세부적인 로그 분석과 공격 유형 분석에 활용되기도 한다.

(화면 11) Syslog를 이용한 IPS 공격 로그 전송


특히 최근에는 관리 편의성을 위해 클라이언트/서버 방식이 아닌 웹을 관리 인터페이스로 채용한 보안 제품이 증가하고 있는데, 웹의 특성상 실시간 경보(Alert)나 로그 처리 기능이 텍스트 위주로 처리돼 가독성이 떨어지기 때문에 Syslog와 별도의 로그 아날라이저(Log Analyzer)를 이용하는 트래픽 모니터링과 로그 분석을 처리하는 경우가 많다.
현재 출시돼 있는 보안로그 분석 제품 중 가장 폭넓은 연동성을 제공하고 있는 제품 중 하나가 EIQ네트웍스(www.eiqnetworks.com)의 'Network Security Analyzer'로서 이를 이용하면 네트워크 보안 장비에서 생성한 Syslog 파일을 이용해 다양한 형태의 트래픽 분석과 보안 분석 리포트 출력이 가능하다.

(화면 12) EIQ Network Security Analyzer


EIQ네트웍스의 네트워크 보안분석 도구는 시스템이나 네트워크 장비의 기본적인 로그 관리 뿐 아니라, 파이어월/VPN, IDS/IPS, 안티바이러스, 컨텐츠 필터링, 스팸, 웹 보안 등과 같은 다양한 보안 이슈와 트래픽 현황에 대한 상세한 분석 자료를 제공한다. 현재 지원하는 보안 제품군은 (표 4)에 정리돼 있으며, 이를 이용하여 출력한 리포팅 화면은 (화면 13), (화면 14)와 같다.

(화면 13) EIQ 로그 분석기 주요 화면 1


(화면 14) EIQ 로그 분석기 주요 화면 2


보안 강화를 위한 모니터링 방법론
Get Clipmarks - The easiest way to email text, images and videos you find on the web. It's free!
Sent with Clipmarks

댓글

이 블로그의 인기 게시물

ubuntu에서 samba로 파일 공유하기

화이트해커를 위한 암호와 해킹

Shell Program(1) 변수, 상수