메뉴 닫기

zeek 를 이용한 네트워크 모니터링

Zeek 란?

Zeek 는 네트워크의 트래픽을 분석하고 기록할 수 있는 오픈소스 프로그램으로 과거 “Bro” 라고 불렸습니다.

Zeek 는 네트워크 패킷을 감시하고, 이벤트를 자세히 설명하는 로그를 생성해서 네트워크 활동에 대한 분석을 할 수 있게 해주는 도구 입니다. 일반적인 IDS 와 달린 네트워크에서 발생하는 모든 통신을 기록해서 잠재적인 위협이나 이상 징후의 파악할 수 있도록 도와줍니다.

Zeek 를 이용해서 네트워크 트래픽을 감시하고 의심스러운 활동이나 비정상적인 활등을 탐지하여 위협을 식별할 수 있습니다.

 

 

설치 방법

패키지 설치

추가 패키지 설치를 위한 저장소를 추가합니다.

저장소 추가

 

 

최소 설치를 했다면, 패키지 설치를 위해 필요한 추가 저장소를 활성화 합니다.

저장소 활성화

 

 

설치에 필요한 개발 도구와 라이브러리를 설치합니다.

개발 도구 및 라이브러리 설치

 

파일 다운로드

파일을 다운로드 합니다.

설치 파일 다운로드

 

 

다운로드가 완료되었다면 압축을 해제 합니다.

압축 해제

 

 

압축이 해제됬다면, 압축 해제된 디렉토리로 이동을 해서 ./configure 를 진행합니다.

  • 여기서 –prefix=/opt/zeek 는 경로를 지정하는 옵션 입니다.

설치 환경 설정 진행

 

 

성공적으로 ./configure 이 끝났으면, make 와 make install 을 통해서 설치를 진행합니다.

make&make install

 

 

설치가 완료되면 이용의 편의성을 위해서 환경 변수를 추가합니다.

환경변수 설정

 

 

 

기본 설정

설치가 완료되었다면, 기본 설정을 진행합니다.

파일의 경로는 지정했던 것 처럼 /opt/zeek 에 있습니다.

이곳에서 etc 디렉토리의 network.cfg 파일에서 현재 사용하고 있는 네트워크 대역을 추가해줍니다.

  • /opt/zeek/etc/network.cfg

zeek 기본 설정

 

 

 

 

사용 방법

초기화 및 실행

기본 설정까지 완료 되었다면 zeekctl 명령어를 이용해서 설정파일을 기반으로 재 적용을 합니다.

  • 명령어의 양식은 zeekctl deploy 입니다.

zeek 실행

 

 

 

 

 

 

 

실행 여부 확인

zeekctl status 명령어를 사용해서 현재 zeek 의 상태를 확인합니다.

  • Status 의 값이 running 로 나오고 있다면 정상적으로 실행된 상태입니다.

zeek 상태 확인

 

 

 

 

로그 확인

zeek 가 정상적으로 실행중이라면 수집되는 데이터들은 /opt/zeek/logs/current 에 로그로 만들어지기 시작합니다.

이 경로에 존재하는 로그에 tail -f 명령어를 사용해서 실시간으로 발생되는 로그를 확인해보거나 vi 명령어로 파일을 열어 지난 로그를 확인해 볼 수 있습니다.

실시간 로그 확인

 

 

 

 

 

 

주요 로그 파일 

zeek 를 통해 생성되는 주요 로그와 역할을 다음과 같습니다.
– 여기서는 자주 볼만한 일부 로그만 설명합니다.

  • conn.log : 모든 네트워크 연결에 대한 기본 정보를 기록하는 로그입니다. (소스/목적지 IP, 포트, 프로토콜, 기간 등)
  • dns.log : DNS 쿼리 및 응답에 대한 정보를 기록합니다.
  • http.log : HTTP 통신에 대한 자세한 정보를 기록 합니다. (URL, User-Agent, HTTP 메서드, 응답 코드 등)
  • ssl.log : SSL/TLS 핸드셰이크 정보와 인증서 정보 등을 기록 합니다.

 

 

[참고] https://docs.zeek.org/en/master/index.html

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x