오픈베이스 연구소
네트워크 보안 엔지니어를 위한 엘라스틱 강좌 - 7강 본문
Pcap 파일을 Elasticsearch로 넣기
> tshark -Y "icmp" -r "{pcap 파일이름}.pcap" -T ek > {json 파일이름}.json
wireshark로 pcap 파일을 조회하면 아래와 같습니다. 아래에 548 건의 패킷이 있는 것을 확인할 수 있습니다.
logstash를 이용하여 packet json 파일을 elasticsearch로 넣고 kibana로 조회한 화면입니다. elasticsearch에도 데이터가 548 건 저장 된 것을 확인할 수 있습니다.
request는 있는데 reply가 없는 경우를 찾고싶다!!
server간에 ping을 보내면 request 2번, reply 2번의 패킷이 발생됩니다. 따라서 4번의 패킷이면 정상, 그 외는 비정상이라고 판단합니다.
Wireshark 에서 pcap 파일을 분석 할 때, 스크롤을 내려가며 눈으로 비정상 패킷을 찾습니다.
이번에 사용한 pcap 파일의 경우는 약 5분간 발생한 패킷이 5백여개 뿐이지만 더 많은 패킷이 발생하는 상황이나, 5분 이상의 pcap파일을 분석해야하는 경우에 비정상 패킷을 찾기위해 얼마나 많은 시간이 소요될까요? 또 비정상 패킷을 찾았다해도 정확하다고 확신할 수 있을까요?
PING_ERROR_COUNT 에서 sequense를 선택하여 필터하면, 해당 패킷만 조회할 수 있습니다.
비정상 패킷들이 지속적으로 발행산 시간대만 선택하여 볼수도 있습니다.
Delay가 발생한 패킷을 확인하고 싶다!!
패킷 간의 발생시간 간격이 긴 시점을 찾기 위해서는 wireshark 에서 time 값을 눈으로 비교해가며 찾아야만 했습니다.
Delay를 kibana에서 표현해주기 위해 python을 통해 패킷 간의 발생시간 차를 계산하여 데이터에 추가해주었습니다.
PACKET_DELAY(Line chart) 는 패킷의 발생시간 차 값을 시간대별로 보여줍니다. 발생 시간 차 값이 평균 0.0002-0.0003 인걸 벗어나 높은 값이 보이면 패킷 Delay가 발생한 시점을 바로 알아볼 수 있습니다.
Packet을 모니터링 하고있다가 비정상 패킷이 감지되면 알람!!
Kibana에서 보다 쉽고 편하세 비정상 패킷을 모니터링할 수 있었습니다. 여기에 X-Pack 알람 기능이 추가되면 어떨까요? 사람이 계속 모니터링 할 필요없이 패킷이 계속 수집되면서 비정상패킷을 탐지하여 알람을 준다면 장애파악을 빨리할수있고, 장애 시점을 보다 정확하게 추적할 수 있으니 대처가 그만큼 빨라질것이라 예상됩니다.
Management > Elasticsearch > Watcher 에서 'Create new watch' 에서 알람을 등록할 수 있습니다.
미리 만들어둔 대시보드에서 최근 20분 동안의 패킷데이터를 모니터링하니 비정상 패킷이 2번 발생한 것을 확인할 수 있습니다.
X-Pack Watcher에서 등록한 이벤트에 의해 비정상패킷 발생 시점에 알람이 발생한 것을 확인할 수 있습니다. 알람이 2회 발생한 것을 확인 할 수 있습니다.
알람이 발생한 시간대를 추적하니 실제로 비정상 패킷이 있는것을 확인할 수 있었습니다.
Elastic Stack 을 활용하면 기존 wireshark 만으로 분석하는 방법보다 보다 편리하게 결과를 볼 수 있었습니다.
여러분들이 가지고 있는 데이터를 어떻게 보고싶은지 요구사항만 주시면 Elastic Stack을 활용하여 만들어드릴수 있습니다. 데이터를 어떻게 활용하면 좋을지, 무엇이 필요한지 많이 생각해주시고 얘기해주시면 감사하겠습니다.
'Elastic Stack 배우기' 카테고리의 다른 글
네트워크 보안 엔지니어를 위한 엘라스틱 강좌 - 8강 (1) | 2018.04.10 |
---|---|
네트워크 보안 엔지니어를 위한 엘라스틱 강좌 - 6강 (0) | 2018.03.27 |
네트워크 보안 엔지니어를 위한 엘라스틱 강좌 - 5강 (0) | 2018.03.13 |
네트워크 보안 엔지니어를 위한 엘라스틱 강좌 - 4강 (0) | 2018.02.27 |
네트워크 보안 엔지니어를 위한 엘라스틱 강좌 - 3강 (1) | 2018.02.06 |