mirror of https://github.com/fail2ban/fail2ban
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.7 KiB
92 lines
2.7 KiB
# Fail2Ban configuration file
|
|
#
|
|
# OpenBSD pf ban/unban
|
|
#
|
|
# Author: Nick Hilliard <nick@foobar.org>
|
|
# Modified by: Alexander Koeppe making PF work seamless and with IPv4 and IPv6
|
|
#
|
|
#
|
|
|
|
[Definition]
|
|
|
|
# Option: actionstart
|
|
# Notes.: command executed once at the start of Fail2Ban.
|
|
# Values: CMD
|
|
#
|
|
# we don't enable PF automatically; to enable run pfctl -e
|
|
# or add `pf_enable="YES"` to /etc/rc.conf (tested on FreeBSD)
|
|
actionstart = echo "table <<tablename>-<name>> persist counters" | pfctl -f-
|
|
echo "block proto <protocol> from <<tablename>-<name>> to <actiontype>" | pfctl -f-
|
|
|
|
# Option: start_on_demand - to start action on demand
|
|
# Example: `action=pf[actionstart_on_demand=true]`
|
|
actionstart_on_demand = false
|
|
|
|
# Option: actionstop
|
|
# Notes.: command executed once at the end of Fail2Ban
|
|
# Values: CMD
|
|
#
|
|
# we only disable PF rules we've installed prior
|
|
actionstop = pfctl -sr 2>/dev/null | grep -v <tablename>-<name> | pfctl -f-
|
|
pfctl -t <tablename>-<name> -T flush
|
|
pfctl -t <tablename>-<name> -T kill
|
|
|
|
|
|
# Option: actioncheck
|
|
# Notes.: command executed once before each actionban command
|
|
# Values: CMD
|
|
#
|
|
actioncheck = pfctl -sr | grep -q <tablename>-<name>
|
|
|
|
|
|
# Option: actionban
|
|
# Notes.: command executed when banning an IP. Take care that the
|
|
# command is executed with Fail2Ban user rights.
|
|
# Tags: <ip> IP address
|
|
# <failures> number of failures
|
|
# <time> unix timestamp of the ban time
|
|
# Values: CMD
|
|
#
|
|
actionban = pfctl -t <tablename>-<name> -T add <ip>
|
|
|
|
|
|
# Option: actionunban
|
|
# Notes.: command executed when unbanning an IP. Take care that the
|
|
# command is executed with Fail2Ban user rights.
|
|
# Tags: <ip> IP address
|
|
# <failures> number of failures
|
|
# <time> unix timestamp of the ban time
|
|
# Values: CMD
|
|
#
|
|
# note -r option used to remove matching rule
|
|
actionunban = pfctl -t <tablename>-<name> -T delete <ip>
|
|
|
|
[Init]
|
|
# Option: tablename
|
|
# Notes.: The pf table name.
|
|
# Values: [ STRING ]
|
|
#
|
|
tablename = f2b
|
|
|
|
# Option: protocol
|
|
# Notes.: internally used by config reader for interpolations.
|
|
# Values: [ tcp | udp | icmp | ipv6-icmp ] Default: tcp
|
|
#
|
|
protocol = tcp
|
|
|
|
# Option: actiontype
|
|
# Notes.: defines additions to the blocking rule
|
|
# Values: leave empty to block all attempts from the host
|
|
# Default: Value of the multiport
|
|
actiontype = <multiport>
|
|
|
|
# Option: allports
|
|
# Notes.: default addition to block all ports
|
|
# Usage.: use in jail config: "banaction = pf[actiontype=<allports>]"
|
|
allports = any
|
|
|
|
# Option: multiport
|
|
# Notes.: addition to block access only to specific ports
|
|
# Usage.: use in jail config: "banaction = pf[actiontype=<multiport>]"
|
|
multiport = any port <port>
|