alert
파트너 프로그램 문의 요청이 정상적으로 전송되었습니다.
담당자가 곧 연락드리도록 하겠습니다.
메뉴 열기

로그프레소 아키텍처

패킷 캡처 및 분석

로그프레소는 자체적으로 풀 패킷 캡처 (FPC; Full Packet Capture) 및 L7 메타데이터 생성을 수행할 수 있는 엔진을 내장하고 있습니다. 제로카피를 지원하는 인텔 NIC 드라이버를 이용하여, 서버 1대에서 약 40만 FPS의 실시간 수집 및 인덱싱을 수행합니다. 필요 시 TAP 장비로 로드밸런싱을 하여 기가비트급 트래픽을 실시간으로 아카이빙 할 수 있습니다. 로그프레소는 실시간 압축을 수행하므로, 같은 양의 스토리지로 3~4배의 패킷을 보관할 수 있습니다.

패킷 수집 설정

윈도우나 리눅스 운영체제에 설치된 로그프레소에서 수집 설정 추가 버튼을 누르면, 아래와 같이 PCAP 수집기를 설정할 수 있습니다.

시스템에 설치된 PCAP 장치이름은 아래의 쿼리로 열거할 수 있습니다.

system pcapdevices

PCAP 수집기를 시작시킨 후 새로고침 버튼을 눌러보면 패킷이 수집되고 있는 것을 확인할 수 있습니다.

패킷 조회 및 분석

패킷을 적재한 테이블을 조회해보면 이더넷 프레임이 BLOB 타입으로 원본 그대로 저장됨을 확인할 수 있습니다.

table pcap

pcapdecode 커맨드를 사용하면, 바이너리 패킷을 대상으로 L4 수준까지 패킷 헤더를 파싱하여 MAC, IP, 포트, L4 프로토콜 메타데이터를 출력합니다.

table pcap | pcapdecode

로그프레소는 원본 데이터를 유지하면서 메타데이터만 인덱싱하는 필드 인덱싱 기술을 제공하기 때문에, 인덱스 설정 시 쿼리 기반의 필드 인덱스 토크나이저에 pcapdecode 커맨드를 설정하면 IP, 포트, 프로토콜 정보로 고속 풀텍스트 검색을 수행하면서도 원본 데이터는 바이너리 데이터 그대로 유지할 수 있습니다.

패킷 리플레이

로그프레소는 단순 패킷 수집에 그치지 않고, 패킷을 원본 그대로 다른 호스트에 리플레이 해주는 기능을 내장하고 있습니다. 시스템 엔지니어라면 tcpreplay의 기능을 쿼리로 실행할 수 있다고 이해하시면 됩니다.

아래의 쿼리는 기존에 저장된 pcap 테이블의 패킷 중에서 출발지가 특정 IP와 포트인 패킷만 필터링한 후, pcapreplay 커맨드를 이용하여 재전송합니다. 패킷을 리플레이 할 때에는 순서가 중요하므로 테이블을 조회할 때 오래된 패킷부터 최근 패킷 순서대로 읽어오도록 오름차순(asc) 옵션을 지정해야 합니다.

table order=asc pcap 
| pcapdecode 
| search src_ip == ip("X.X.X.X") and src_port == 60929 
| pcapreplay device="{723E36E2-818D-40C6-XXXX-XXXXXXXXXXXX}" 

패킷 리플레이 기능은 침입방지시스템이나 위협관리시스템에서 탐지된 패킷을 재전송하여 변경된 탐지 정책을 테스트하거나, 목적지 호스트를 변조하여 전송함으로써 다른 호스트가 동일한 익스플로잇 패킷에 취약한지 확인하는 용도로 사용할 수 있습니다. L7 프로토콜 분석을 전문적으로 지원하는 장비에 패킷을 재전송하여 트래픽에 포함된 파일을 추출하거나 악성코드를 분석하는 용도로 활용할 수도 있습니다.

PCAP 파일 덤프 및 조회

로그프레소에 저장된 패킷을 PCAP 파일로 덤프하려는 경우, 아래와 같이 outputpcap 커맨드를 사용할 수 있습니다. fulltext 커맨드로 검색하거나 search 커맨드로 필터링 하면 특정 세션이나 프로토콜에 해당되는 패킷만 PCAP 파일로 덤프할 수 있습니다.

table order=asc pcap | outputpcap dump.pcap

이렇게 덤프된 파일이나 외부의 PCAP 파일을 가져와서 분석하려는 경우 pcapfile 커맨드로 패킷을 읽어들일 수 있습니다.

pcapfile dump.pcap

로그프레소는 기가바이트 단위의 PCAP 파일도 쉽게 처리할 수 있기 때문에, 큰 PCAP 파일을 용도별로 분할하여 저장하고 와이어샤크 같은 다른 프로그램으로 열어서 분석할 수도 있습니다.

HTTP 프로토콜 분석

로그프레소는 HTTP를 비롯하여 흔히 사용되는 L7 프로토콜을 직접 분석할 수 있도록 지원합니다. 아래의 쿼리는 원본 패킷으로부터 HTTP 프로토콜 메타데이터를 추출하는 예시입니다.

table order=asc pcap 
| decodehttp

스트림 쿼리를 이용하면 풀 패킷을 저장하는 대신 실시간으로 L7 메타데이터만 추출해서 테이블에 저장하도록 구성할 수도 있습니다. 이런 구성은 스토리지 가용량이 적은 경우 유용합니다.

앞단이 리버스 프록시로 구성된 웹 서버 팜을 운영하는 경우, 네트워크 탭 장비를 통해 트래픽을 미러링하고 로그프레소가 이 패킷을 분석하여 실시간으로 HTTP 요청 내역, 응답코드, 송수신 트래픽량, 웹페이지 응답시간을 분석할 수 있습니다.

위의 스크린샷 예시와 같이 패킷 쿼리를 통해 네트워크 통신에 대한 실시간 대시보드를 쉽고 빠르게 구축할 수 있습니다.

최신정보 받기