Zeek 란?
Zeek 는 네트워크의 트래픽을 분석하고 기록할 수 있는 오픈소스 프로그램으로 과거 “Bro” 라고 불렸습니다.
Zeek 는 네트워크 패킷을 감시하고, 이벤트를 자세히 설명하는 로그를 생성해서 네트워크 활동에 대한 분석을 할 수 있게 해주는 도구 입니다. 일반적인 IDS 와 달린 네트워크에서 발생하는 모든 통신을 기록해서 잠재적인 위협이나 이상 징후의 파악할 수 있도록 도와줍니다.
Zeek 를 이용해서 네트워크 트래픽을 감시하고 의심스러운 활동이나 비정상적인 활등을 탐지하여 위협을 식별할 수 있습니다.
설치 방법
패키지 설치
추가 패키지 설치를 위한 저장소를 추가합니다.
![]()
최소 설치를 했다면, 패키지 설치를 위해 필요한 추가 저장소를 활성화 합니다.
![]()
설치에 필요한 개발 도구와 라이브러리를 설치합니다.

파일 다운로드
파일을 다운로드 합니다.
![]()
다운로드가 완료되었다면 압축을 해제 합니다.
![]()
압축이 해제됬다면, 압축 해제된 디렉토리로 이동을 해서 ./configure 를 진행합니다.
- 여기서 –prefix=/opt/zeek 는 경로를 지정하는 옵션 입니다.
![]()
성공적으로 ./configure 이 끝났으면, make 와 make install 을 통해서 설치를 진행합니다.
![]()
설치가 완료되면 이용의 편의성을 위해서 환경 변수를 추가합니다.

기본 설정
설치가 완료되었다면, 기본 설정을 진행합니다.
파일의 경로는 지정했던 것 처럼 /opt/zeek 에 있습니다.
이곳에서 etc 디렉토리의 network.cfg 파일에서 현재 사용하고 있는 네트워크 대역을 추가해줍니다.
- /opt/zeek/etc/network.cfg
![]()
사용 방법
초기화 및 실행
기본 설정까지 완료 되었다면 zeekctl 명령어를 이용해서 설정파일을 기반으로 재 적용을 합니다.
- 명령어의 양식은 zeekctl deploy 입니다.

실행 여부 확인
zeekctl status 명령어를 사용해서 현재 zeek 의 상태를 확인합니다.
- Status 의 값이 running 로 나오고 있다면 정상적으로 실행된 상태입니다.

로그 확인
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



