Giter VIP home page Giter VIP logo

docker-zeek's People

Contributors

caffeinatedpixel avatar ethack avatar fullmetalcache avatar william-stearns avatar zalgo2462 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

docker-zeek's Issues

Include Maxmind geolocation in default image

Make these errors in reporter.log go away.

/usr/local/zeek/share/zeek/policy/protocols/ssh/geo-data.zeek, line 30  Reporter::ERROR Failed to open GeoIP location database (lookup_location(SSH::lookup_ip))
/usr/local/zeek/share/zeek/policy/protocols/ssh/geo-data.zeek, line 30  Reporter::ERROR Failed to open GeoIP location database (lookup_location(SSH::lookup_ip))

Release Documentation

  • Default Zeekcfg version in Dockerfile (if changed)
    This an any other non-Zeek version changes only need to be made and pushed to master to trigger a new Docker image to be built and pushed.

If the Zeek version changes:

  • Default Zeek version in Dockerfile (if changed)
  • Readme.md (list of tags)
  • Github workflow (zeek versions that actually get built)

If the Readme changes:
Update the Readme on Dockerhub manually. Due to using Github Actions to push images the readme there doesn't get automatically updated. And updating through an API is currently and anti-feature according to Docker.

Template for disabling logs

Maybe create a commented out block in the local.zeek file that lists all logs. Then you can uncomment the logs to disable.

event zeek_init()
    {
    Log::disable_stream(Syslog::LOG);
    }

In the zeek source code you can find the names of the logs with:

grep -R -F 'Log::create_stream(' scripts/

References:

Barnyard2::LOG
Broker::LOG
Cluster::LOG
Conn::LOG
DCE_RPC::LOG
DHCP::LOG
DNP3::LOG
DNS::LOG
DPD::LOG
Files::LOG
FTP::LOG
HTTP::LOG
IRC::LOG
Known::CERTS_LOG
Known::HOSTS_LOG
Known::MODBUS_LOG
Known::SERVICES_LOG
KRB::LOG
LoadedScripts::LOG
LOG
Modbus::LOG
Modbus::REGISTER_CHANGE_LOG
MQTT::CONNECT_LOG
MQTT::PUBLISH_LOG
MQTT::SUBSCRIBE_LOG
mysql::LOG
NetControl::DROP_LOG
NetControl::LOG
Notice::ALARM_LOG
Notice::LOG
NTLM::LOG
NTP::LOG
OpenFlow::LOG
PacketFilter::LOG
PRINTLOG
RADIUS::LOG
RDP::LOG
Reporter::LOG
RFB::LOG
Signatures::LOG
SIP::LOG
SMB::CMD_LOG
SMB::FILES_LOG
SMB::MAPPING_LOG
SMTP::LOG
SNMP::LOG
SOCKS::LOG
Software::LOG
SSH::LOG
SSL::LOG
Stats::LOG
Syslog::LOG
Traceroute::LOG
Tunnel::LOG
Unified2::LOG
Weird::LOG
WeirdStats::LOG
X509::LOG

Workflow caching ineffective

The cache_froms lines in the github wrokflow is meant to speed up building by allowing docker to use the cache. However, this run should not have busted the cache and caused a full Zeek rebuild, but it did.

My current suspicion is that because we are using a multi-stage build the layers from the first stage are not being pushed to the docker repository and thus can't be used for caching. Look into the target config to see if we can push the builder stage to Dockerhub (e.g. activecm/zeek:builder) and then add that tag to the cache_froms config line.

Load 8021q module to recognize vlan-tagged traffic on networks with vlans

While Zeek will process vlan-tagged traffic, that traffic has to make it from the interface up to Zeek during the raw packet capture. This won't happen unless the 8021q module is loaded.
Requests:

  1. load the 8021q module by hand during initial install:
    sudo modprobe 8021q || true
  2. add the line "8021q" to /etc/modules so it's automatically loaded after following boots
    echo -e '\n8021q' | sudo tee -a /etc/modules >/dev/null
    The above change should have no effect on networks that do not use vlans.
    Should this be built into the kernel (as opposed to being a loadable module), step 1 may come back with a failure so we need to add "|| true" to the modprobe command line. (No change is needed for (2) )

Write tests

At the very least ensure that running zeek --version and zeekctl --version don't error. Another test would be to run zeekctl check to make sure no plugin has caused issues. But to do that we'll need to make a node.cfg file. Maybe a static one will work, otherwise use the "auto" feature of zeekcfg and generate one on the fly.

Any failures should prevent the zeek image from being pushed to Dockerhub.

current logs symlink is broken on the host

PR #30 introduced a regression where the current symlink is linked to the wrong folder on the host. Before PR #30, the symlink would point to the host's manager spool directory. Now, it points to the container's manager spool directory.

The host's manager spool directory lies in /opt/zeek, while the container's manager spool directory lies in /usr/local/zeek. As a result the symlink can only work for either the host or the container. The symlink should be switched back to work for the host.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.