Skip to main content

Overview

ravenxcope-suricata-image is the containerized Suricata engine that the sensor launches (Docker launcher). It renders a Suricata configuration from templates at startup based on environment variables.

Entrypoint behavior

docker-entrypoint.sh renders the running config from a template selected by mode:

  • ModeSURICATA_MODE (ids default, or ips) selects /templates/${mode}.suricata.yaml.tmpl.
  • Capture interfaceINTERFACE1 is required; the container errors out if it is unset.
  • NetworksHOME_NET defaults to any; EXTERNAL_NET defaults to !$HOME_NET; INTERNAL_NET defaults to $HOME_NET.
  • af-packet — cluster IDs are assigned (AF_PACKET_CLUSTER_ID_BASE, else 99).
  • host-os-policy — derived from HOME_NET when it is a literal IP/CIDR list; otherwise rendered empty with a warning.

Layout

PathPurpose
docker-entrypoint.shRenders config from template + env, then runs Suricata.
templates/ids.suricata.yaml.tmplIDS-mode config template (af-packet capture).
templates/ips.suricata.yaml.tmplIPS-mode config template (inline).
configs/classification.configAlert classification definitions.
configs/reference.configReference URL definitions.
configs/threshold.configThresholding / rate-limiting rules.

Rules

Detection rules combine community rules and the custom rules served by the backend Suricata rules catalog. The sensor merges these into the ruleset the container loads.