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 1 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 0 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 메시지라고 할 수 없음
** 즉, 검색 시 제외하는 것이 좋음