Skip to content

Security/IDS

Field Value
Purpose Defines intrusion detection/prevention configuration — fail2ban jails, Suricata/Snort rules, alerting
Repo AmadlaOrg/Entities/Security/IDS
Entity URI amadla.org/entity/security/ids@v1.0.0
Parent Security

Schema

Property Type Description
backend string IDS/IPS backend: fail2ban, ossec, suricata, snort, crowdsec. Auto-detected if omitted
mode string detection (log only) or prevention (block). Default: detection
jails array Fail2ban-style jail definitions
jails[].name string Jail name (required)
jails[].enabled boolean Whether the jail is active (default: true)
jails[].port integer/string Port to protect
jails[].protocol string Protocol: tcp, udp, all (default: tcp)
jails[].filter string Filter name or path to filter config
jails[].log_path string Log file to monitor
jails[].max_retry integer Max failures before ban (default: 5)
jails[].find_time string Window for counting failures (default: 10m)
jails[].ban_time string Ban duration (default: 1h)
jails[].action string Action on ban (e.g., iptables-multiport)
rules array IDS rules (Suricata/Snort-style)
rules[].name string Rule name (required)
rules[].source string Path to rules file or URL (required)
rules[].enabled boolean Whether the rule is active (default: true)
rules[].category string Rule category (e.g., emerging-threats, malware)
whitelist array of strings IP addresses or CIDRs to exclude from detection
alerting object Alert configuration
alerting.log_path string Where to write alerts
alerting.syslog boolean Send alerts to syslog (default: false)
alerting.email string Email address for alert notifications

Example

_type: amadla.org/entity/security/ids@v1.0.0
_body:
  backend: fail2ban
  mode: prevention
  jails:
    - name: sshd
      port: 22
      filter: sshd
      log_path: /var/log/auth.log
      max_retry: 3
      find_time: 10m
      ban_time: 1h
      action: iptables-multiport

    - name: nginx-http-auth
      port: 80,443
      filter: nginx-http-auth
      log_path: /var/log/nginx/error.log
      max_retry: 5
      ban_time: 30m

  whitelist:
    - 10.0.0.0/8
    - 192.168.1.0/24
  alerting:
    log_path: /var/log/fail2ban.log
    syslog: true

Suricata example

_type: amadla.org/entity/security/ids@v1.0.0
_body:
  backend: suricata
  mode: detection
  rules:
    - name: et-open
      source: https://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz
      category: emerging-threats
    - name: custom-rules
      source: /etc/suricata/rules/local.rules
  alerting:
    log_path: /var/log/suricata/eve.json
    syslog: true
    email: security@example.com

Consumers

Tool How It Uses Security/IDS
enjoin Installs and configures the IDS backend, deploys jails and rules
judge Validates that IDS is running and configured as declared