Skip to content

Feature Toggles

This page documents how to enable and disable features across Horizon and Synapse.

Synapse Detection Categories

Toggle individual detection categories in config.yaml:

yaml
detection:
  sqli: true              # SQL injection
  xss: true               # Cross-site scripting
  path_traversal: true    # Path traversal
  command_injection: true # Command injection
  action: "block"         # block | log | challenge

Set action: "log" to monitor without blocking — useful during initial deployment or rule tuning.

Shadow mode

For zero-risk evaluation, enable shadow mirroring to test detection against live traffic without affecting responses.

Detection Actions

ActionBehavior
blockReturn HTTP 403 (or block_status) immediately
logForward request to upstream, log the detection event
challengePresent a CAPTCHA or JS challenge before forwarding

DLP (Data Loss Prevention)

yaml
dlp:
  enabled: true          # Toggle DLP scanning
  action: "mask"         # mask | hash | block | log
  scan_text_only: true   # Skip binary content types

DLP supports 22 built-in pattern types including credit cards (with Luhn validation), SSN, IBAN, and API keys.

Rate Limiting

yaml
rate_limit:
  enabled: true
  rps: 10000             # Per client IP

Set enabled: false to disable rate limiting entirely (e.g., behind an upstream rate limiter).

TLS Termination

yaml
tls:
  enabled: true
  cert_path: "/etc/synapse/certs/default.pem"
  key_path: "/etc/synapse/keys/default.key"
  min_version: "1.3"     # Recommended for production

Bot / Crawler Detection

Bot detection is part of the crawler module. It performs DNS verification of known crawlers and blocks bad bots. Configuration is managed via the admin API.

Telemetry to Horizon

Enable or disable the Horizon telemetry connection:

yaml
telemetry:
  enabled: true           # Set to false for standalone mode
  horizon_url: "wss://horizon.example.com/ws/sensors"
  sensor_id: "sensor-id"
  token: "sensor-token"

When enabled: false, Synapse runs in standalone mode with no hub dependency.

ClickHouse (Horizon)

Toggle ClickHouse integration in the Horizon .env:

sh
CLICKHOUSE_ENABLED=true   # or false

When disabled, hunt queries route exclusively to PostgreSQL and time-series endpoints return HTTP 503.

WAF Master Switch

Disable all WAF detection while keeping the proxy running:

yaml
waf_enabled: false

This passes all traffic through without inspection — useful for maintenance or debugging.

Feature Summary

FeatureComponentToggleDefault
SQLi detectionSynapsedetection.sqlitrue
XSS detectionSynapsedetection.xsstrue
Path traversalSynapsedetection.path_traversaltrue
Command injectionSynapsedetection.command_injectiontrue
DLP scanningSynapsedlp.enabledfalse
Rate limitingSynapserate_limit.enabledtrue
TLS terminationSynapsetls.enabledfalse
Bot detectionSynapseAdmin APIEnabled
TelemetrySynapsetelemetry.enabledfalse
ClickHouseHorizonCLICKHOUSE_ENABLEDfalse
WAF (master)Synapsewaf_enabledtrue

Licensed under AGPL-3.0 · atlascrew.dev