Fail2Ban
Vinza Store Fail2Ban
Fail2Ban
Free Security
fail2banbrute-forceiptablessshsecurityintrusion
Get this app
Free
Available to all users. No license needed.

This plugin manages an installed Fail2Ban service: jails, bans, and the two protection presets the panel cares about. fail2ban-client talks to a root-owned socket, so every jail query, ban and unban is issued through the root agent, while read-only probes such as the server version and whether the service is active are plain local calls. You can start, stop and restart the service, list jails with their filter and ban counters, open a single jail to see currently banned addresses, and ban or unban an address by hand after it is validated as an IP.

The defaults that matter most — bantime, findtime, maxretry and the ignore list — are readable and editable from the settings tab, with values clamped to sane ranges before they are written. Panel protection installs a managed filter and jail that watches the panel's own authentication log for its failure lines and bans on the panel's port; it can be enabled and disabled from the page, and its status reports separately whether the jail exists on disk and whether it is actually loaded. There is an equivalent toggle for the FTP jail, and a Service Jails tab enables ready-made jails for web-server HTTP auth, WordPress logins, Postfix, Dovecot and recidive (repeat offenders) — only where the service runs and its logs exist, including the panel's per-site logs. Any jail can get its own bantime, findtime and maxretry; each change is validated with fail2ban-client -t and undone if rejected.

The ban-candidates view lists addresses that are accumulating failures but have not crossed maxretry yet, aggregated from Fail2Ban's own Found lines inside the current findtime window and with already-banned addresses excluded, sorted by risk. That view depends on Fail2Ban logging at INFO level, which is the default — raise the log level and the Found lines disappear, so the list will simply be empty. The plugin requires the fail2ban package on the host and a reachable agent; without the agent, jail data cannot be read at all.

Availability: Free on every plan, including the Free plan.

Min Panel Version
1.0.0
Platform
Ubuntu 20.04+ / 22.04+ / 24.04+
License
Free — no key needed
Permissions
firewall.manage
VinzaPanel handles installation automatically via the Vinza Store. Make sure the panel agent has internet access to download dependencies.
1.0.4 — Service jails you can switch on from the new Service Jails tab: nginx/Apache HTTP auth, WordPress login (a custom filter on POST /wp-login.php answered 200), Postfix, Postfix SASL, Dovecot and recidive (repeat offenders banned for a week on all ports). Only jails whose service runs and whose log files exist are offered, and the panel's per-site logs under /home/USER/logs are watched. Per-jail ban time, find window and max retries, written to jail.d/vinza-JAIL.local and checked with fail2ban-client -t (undone if Fail2Ban rejects it). 1.0.3 — Ban candidates use the server's local time (the window was off by the UTC offset), and the default ban policy shows the jail.local values in force. Security: names shown in the page (from the server, its sites or its users) are passed to buttons safely; a quote in one could run script in the admin's browser. 1.0.2 — Manual ban refuses the server's own loopback address and the address you signed in from (a manual ban skips Fail2Ban's ignore list). Initial release — jail management, IP ban/unban, whitelist, activity log, custom filter, email notification.

Use VinzaPanel's REST API to download and install this app programmatically.

Download app files
HTTP
POST /plugins/api/download/fail2ban/
Content-Type: application/json

{
  "panel_version": "1.0.0"
}
Example response
JSON
{
  "success": true,
  "plugin_id": "fail2ban",
  "version": "1.0.4",
  "download_url": "..."
}