2017년 6월 25일 일요일

Elasticsearch 활용(DNS Event Log 분석)

엘라스틱으로 DNS 이벤트를 분석해보자. 프로세스 ID와 URL 정보를 기록하는 3006 이벤트, 그리고 'Windows Event Log 분석(DNS Request)'에서 언급했던, 프로세스 이름과 네트워크 연결 정보를 기록하는 5156 이벤트를 조합하면 뭐 좀 나오지 않을까? 다음은 winlogbeat로 전송한 3006, 5156 이벤트를 키바나에서 조회한 결과.



다음은 'event_id:3006 OR (event_id:5156 AND event_data.DestPort:53)' 조합 쿼리 결과. NoSQL 목적이 조인이 필요없는 데이터의 분석이니 여기까지가 한계인 듯.


참고로 5156 이벤트의 'process_id'는 이벤트 로그 기록을 주관한 프로세스.


어찌어찌 DNS 조회를 시도하는 프로세스 이름을 알 수는 있지만 보기 불편하다. 'Visualize' 메뉴를 이용해서 전체 현황을 한 눈에 파악할 수 있는 대시보드를 만들어보자. 다음은 이벤트별 발생 현황 차트. 만들었으면 꼭 저장.


다음은 목적지 포트가 53인 5156 이벤트의 프로세스 이름 및 ID 발생 현황.


다음은 3006 이벤트의 프로세스 ID 및 상/하위 도메인 발생 현황. 'Split Slices' 기능을 이용하면 연관되는 필드를 중첩시켜서 단계적 통계 분석이 가능하다.


대시보드에서 저장된 차트를 불러온 결과는 다음과 같다. 어떤 프로세스가 어떤 도메인을 조회했는지 한 눈에 알 수 있다?


분석에 유용한 형태로 데이터를 정리해주는 Logstash 정리는 다음에.

관련 글

댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스