Firewall integrations
import { Steps, Tabs, TabItem, Aside } from ‘@astrojs/starlight/components’;
Suricatavel integrates directly with perimeter firewalls to enforce network containment and block hostile traffic detected by Suricata sensors or threat intelligence feeds.
Supported integrations
Section titled “Supported integrations”Suricatavel supports the following firewall platforms:
- pfSense: Integrates via the pfSense REST API (requires the
pfsense-apipackage). - OPNsense: Integrates via the native OPNsense REST API (manages firewall Aliases).
- OpenWrt: Integrates via SSH/LuCI and
uci/nftablescommands. - MikroTik RouterOS: Integrates via the RouterOS v7+ REST API (manages dynamic
address-listentries and filter rules). - Generic Linux: Integrates via SSH to manage
nftablessets oripset.
Connecting a firewall
Section titled “Connecting a firewall”To connect a new firewall to Suricatavel:
Suricatavel tests the connection immediately to verify credentials and fetch adapter health.
Firewall actions
Section titled “Firewall actions”You can enforce containment blocks manually or automatically through Policies and Drongo.
Blocking an IP address
Section titled “Blocking an IP address”To manually block an address:
- Navigate to Firewalls > Actions (or click Block IP directly from any Event or Alert).
- Click New action.
- Select the target Firewall.
- Choose the action scope:
- Source IP: Blocks incoming traffic originating from the malicious address.
- Destination IP: Blocks outbound traffic targeting the address.
- Both: Restricts both traffic directions.
- Configure the TTL (Time to live):
- Enter a duration in seconds for a temporary ban (e.g.,
3600for 1 hour). - Leave empty or set to
0for a permanent ban.
- Enter a duration in seconds for a temporary ban (e.g.,
- Click Save.
The action is dispatched to the selected firewall immediately, and its status is recorded in Firewalls > History.
Automatic TTL expiration and pruning
Section titled “Automatic TTL expiration and pruning”Temporary blocks are tracked with their expiration timestamps:
- Firewalls with native TTL support (such as OpenWrt nftables sets or MikroTik timeout address lists) automatically expire entries on the device.
- Suricatavel runs a scheduled maintenance command (
php artisan suricatavel:prune-expired-firewall-blocks) to synchronize and clear expired bans from active tables and history.
Unblocking an address
Section titled “Unblocking an address”To release an active block:
- Navigate to Firewalls > Actions.
- Locate the active rule in the list.
- Click Unblock.
The rule is removed from the target firewall adapter immediately, and the action history is updated.
Domain feeds
Section titled “Domain feeds”Suricatavel publishes an active domain feed endpoint listing malicious domains identified by threat feeds and alerts. This endpoint is designed for firewall packages such as pfBlockerNG on pfSense, OPNsense Aliases, or MikroTik DNS address lists.
Feed endpoint
Section titled “Feed endpoint”GET /api/v1/feeds/domains?token=YOUR_PERSONAL_ACCESS_TOKENThe response returns a plain text list of domains, formatted one entry per line.