Zeek

Настройка Zeek

Описание подсистемы журналирования источника

Журналирование событий источника осуществляется путем записи в соответствующие файлы.

Для системы, установленной из пакета, стандартной директорией хранения журналов является /opt/zeek/logs. Текущие журналы находятся в директории current.

Полную справку по каждому журналу из директории current можно найти в официальной документации продукта Zeek.

Настройка отправки событий в SIEM на стороне источника

Чтобы настроить отправку событий на стороне источника:

  1. Настройте передачу событий из файла. Для этого создайте файл /etc/rsyslog.d/10-zeek.conf со следующим содержанием:

    module(load="imfile" mode="inotify")
    input(
        type="imfile"
        File="/opt/zeek/logs/current/http.log"
        Tag="Zeek_http"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/conn.log"
        Tag="Zeek_connections"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/dns.log"
        Tag="Zeek_dns"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/dhcp.log"
        Tag="Zeek_dhcp"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/files.log"
        Tag="Zeek_files"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/software.log"
        Tag="Zeek_software"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/ssh.log"
        Tag="Zeek_ssh"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/ssl.log"
        Tag="Zeek_ssl"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/tunnel.log"
        Tag="Zeek_tunnel"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/ntp.log"
        Tag="Zeek_ntp"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/weird.log"
        Tag="Zeek_weird"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/x509.log"
        Tag="Zeek_x509"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/stderr.log"
        Tag="Zeek_errors"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/ftp.log"
        Tag="Zeek_ftp"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/smtp.log"
        Tag="Zeek_smtp"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/pe.log"
        Tag="Zeek_pe"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/irc.log"
        Tag="Zeek_irc"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/dpd.log"
        Tag="Zeek_dpd"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/ldap.log"
        Tag="Zeek_ldap"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/ldap_search.log"
        Tag="Zeek_ldap_search"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/quic.log"
        Tag="Zeek_quic"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/notice.log"
        Tag="Zeek_notice"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/dce_rpc.log"
        Tag="Zeek_dce_rpc"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/smb_files.log"
        Tag="Zeek_smb_files"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/kerberos.log"
        Tag="Zeek_kerberos"
        Severity="info"
        Facility="local4"
    )
    input(
        type="imfile"
        File="/opt/zeek/logs/current/ntlm.log"
        Tag="Zeek_ntlm"
        Severity="info"
        Facility="local4"
    )
    if $syslogtag contains 'Zeek' then {
      action(type="omfwd" Target="<target>" Port="<port>" Protocol="<protocol>")
      stop
    }

    Здесь:

    • <target> — IP-адрес или полное доменное имя (FQDN) коллектора SIEM.

    • <port> — порт точки входа типа syslog в конвейере SIEM.

    • <protocol> — сетевой протокол: tcp или udp.

  2. Перезапустите службу rsyslog.service с помощью команды:

    systemctl restart rsyslog.service

Настройка в R-Vision SIEM

Для настройки сбора и нормализации событий источника в R-Vision SIEM выполните следующие шаги:

  1. Перейдите в раздел Ресурсы → Коллекторы и создайте новый конвейер в коллекторе.

  2. Добавьте на конвейер элемент Точка входа со следующими параметрами:

    • Тип точки входа: Syslog.

    • Порт точки входа и протокол: в соответствии с настройками на стороне источника.

  3. Добавьте на конвейер элемент Нормализатор с правилом Zeek TrafficParcer (идентификатор правила: RV-N-125). Соедините нормализатор с точкой входа.

  4. Добавьте на конвейер элемент Конечная точка типа Хранилище событий. Соедините конечную точку с нормализатором.

  5. Сохраните и установите конфигурацию конвейера.

Пример конфигурации конвейера:

zeek pipeline

После настройки передачи событий, если настройка выполнена корректно, в хранилище начнут поступать события Zeek:

Найти события в хранилище можно по следующему фильтру:

dproduct = "Zeek"

zeek event storage filter

Таблица маппинга

Таблица соответствия полей события для всех рассмотренных типов событий представлена по ссылке.