Packetbeat
네트워크 flow , Packet 정보 및 프로토콜에 대한 실시간 모니터링 메트릭을 볼수 있음.
활용 사례
* windows hyper-v 환경에서 호스트 서버 "가상 스위치"의 네트워크 packet metric 분석
A. 설치 방법은 인터넷 참고
B. 모니터링 Network Interface 선택
윈도우 호스트 서버(블레이드) 에서는 네트워크 인터페이스가 여러개 -> .\packetbeat.exe -devices
아래 리스트중 "가상 스위치"를 찾아서 환경파일(packetbeat.yml) -> packetbeat.interfaces.device: 2
( 2:번이 가상스위치 )
목적: 윈도우 hyper-v 호스트의 가상 스위치를 선택 -> Guest OS (VM) 의 모든 네트워크 트래픽의 정보를 보기 위함
C. packetbeat.yml (적절하게 튜닝 하여 사용)
packetbeat.interfaces.device: 2 (linux 에서는 : any 사용 가능) packetbeat.interfaces.snaplen: 1514 #packetbeat.interfaces.type: af_packet packetbeat.interfaces.buffer_size_mb: 100 packetbeat.interfaces.with_vlans: true packetbeat.flows: timeout: 30s period: 10s packetbeat.protocols.http: ports: [80, 8080, 8000, 5000, 8002] output.elasticsearch: hosts: ["x.x.x.x:9200"] |
D. kibana UI 에서 검색
dest.port:443 AND NOT dest.ip:17x.x.*
type:flow AND dest.port:80 AND NOT dest.ip:17x.x.*
source.port:445 AND NOT dest.ip:10.50.x.x AND NOT source.ip:10.50.x.x
* 특정 IP(dest)로 443 통신을 하는 source IP 찾기
* packetbeat dashboard 예
- network flow
- web transactions
- 특정 Protocol 및 Service (http,mysql,redis 등)
* 보안 이슈 대응 활용 예
참고 사이트 : https://www.elastic.co/blog/malware-analysis-wannacry-elastic-stack
요즘 보안 업계에서 핫 이슈인 랜섬웨어(ransomware) 감염 확산 여부 분석 / 비트코인 채굴기로 감염된 서버 분석 등
인프라 내 감염 여부 및 상태에 대해 빠르고 신속하게 대응 할수 있음.
만약, 패턴을 잘 알고 있다면(수시로 바뀌겠지만) 위와 같은 방법으로 보안 이슈 사전 인지 가능
* WannaCry 실행 파일 다운로드 분석
* TCP / 445 Port 모니터링 / dest.port:445 검색 / SMB 트래픽 Flow 확인
E. 고려 사항 (주의 사항)
* packetbeat 사용시 위와 같이 "가상 스위치"의 모든 트래픽을 elastic 으로 저장시 잠깐만 실행해도
elastic 서버의 indices 용량이 증가함 (모든 Guest OS 의 네트워크 packet metric를 수집함)
logstash 로 필터를 하던, elastic 저장소(DISK) 용량 산정 및 확보, beat 환경 설정 수정을 하던
여러가지 방법으로 최적화하여 운영해야함
F. 결론
Network flow, packet 분석에 있어 tcpdump , 보안 장비 로그 활용등 다양한 방법이 있지만
elastic + packetbeat 의 장점은
- 찾고자 하는 로그성 키워드에 대하여 lucene 쿼리를 사용하여 좀더 편하게 찾을수 있고
- kibana 를 통하여 결과물을 다양한 형태의 그래프로 사람이 보기 쉽게 직관적으로 시각화 할수 있음.