HTTP 로그분석(현황분석/이상징후)

HTTP Log 환경구성

zeek이 http 로그를 수집하고, 그 로그를 중앙관제서버에 전송합니다. 중앙관제서버는 그 로그들을 로딩해서 저장소도 만들고, source type도 만드는 등의 작업해야 합니다. 


1. Index 만들기

1) splunk 접속 : http://127.0.0.1:8000 또는 http://localhost:8000

 

2) 설정-데이터-인덱스로 이동하여 인덱스 만들기 

=> 인덱스 이름 : httplog


2. Source Type 지정

1) 설정-데이터-SourceType으로 이동하여 Source Type 만들기

ts,uid,src,spt,dst,dpt,trans_depth,method,domain,uri,referrer,version,user_agent,request_body_len,response_body_len,status_code,status_msg,info_code,info_msg,tags,username,password,proxied,orig_fuids,orig_filenames,orig_mime_types,resp_fuids,resp_filenames,resp_mime_types

=> zeek에서 보낸 HTTP 로그들의 필드명

 

2) httplog를 검색하여 Source Type 생성 확인


3. 데이터 추가

1) 설정-데이터 추가로 이동

 

2) 원본 선택

 

3) 입력 설정

=> 위에서 만든 Source typle 선택

 

4) 검토 후 제출

 

5) 검색 시작

 source="http.zip:*" host="ZeekHTTP" index="httplog" sourcetype="httplog"

오리지널 소스가 http.zip이고, host명이 ZeekHTTP이고, httplog 저장소에서 sourcetype=httplog를 다 가져와


[원시로그 확인]

1562183999.861416  CunCIL3eI7eM6MO4Ad  172.16.139.224  59817  211.233.80.51  80   GET update.ahnlab.com 

/patchfinder.jsp?na=082&pd=04&svr=0&serial=97040410-30360905&se=0&ukey=9156195499198411622696&st=oes&priority=1  - 1.1

v3inet4/5.6.0.7/SafeTransaction/9156195499198411622696   132  200 OK

- - (empty) - - - - - - FJREeA4pwOo3l5T5Ge - text/ini 

 

[로그 설명]

ts(시간:유닉스타임) 

Uid(로그ID)

Id.orig_h, Id.orig_p, Id.resp_h, Id.resp_p, Protocol(송신지 IP/Port번호, 수신지 IP/Port번호,  사용 프로토콜)

method(서비스 요청방식)

host(접근 도메인) : 이 서버에게 데이터를 달라고 요청

uri(접근 상세주소)

version(HTTP 버전)

user-agent(웹브라우저 정보)

request_body_len(서버에게 전송하는 요청길이)

=> 요청 HTTP Request

 

response_body_len(클라이언트에게 전송하는 응답길이)

status_code, status_msg(상태코드와 상태메시지)

=> 응답 HTTP Response

 

** 요청 방식이 - 이렇게 되어 있는 것은 정상적인 HTTP 메시지라고 할 수 없음

** 즉, 검색 시 제외하는 것이 좋음