Suricata Integration
Drop in a Suricata IP dataset backed by the ipinsights.io blocklist and a one-line rule that alerts (or drops) on every hit.
Overview
Suricata
supports IP datasets — large external IP lists that can be referenced from
rules with iprep / ipset-style matchers. We'll register the
ipinsights.io blocklist as a dataset, write two rules (alert on inbound
hit, alert on outbound hit) and refresh the dataset on a timer.
Prerequisites
- Suricata 7.x (dataset / datarep support is mature here)
- Outbound HTTPS to
https://ipinsights.io - Write access to
/var/lib/suricata/rules/(or wherever your rules tree lives)
Step 1 — Refresh Script
/usr/local/bin/ipinsights-suricata-sync.sh:
Step 2 — Rules File
Create /var/lib/suricata/rules/ipinsights.rules:
Change the rule action to drop (only effective in IPS / inline mode) once you're
comfortable with the false-positive rate. The two rules can also be collapsed to a single
alert ip any any -> any any … if you don't care about direction.
Step 3 — Load the Rules
In /etc/suricata/suricata.yaml add the rules file:
Step 4 — Verify
On any internet-facing sensor you should see hits within minutes — opportunistic scanning is near-constant from blocklisted IPs.
API Key: Not required for the public blocklist used by this integration.
Request Higher API Limit
Running a high-volume Suricata deployment? If the default rate limit isn't enough for your environment, submit a request below and we'll review it.