2006-07-17 19:26:14 +00:00
|
|
|
# Fail2Ban configuration file
|
|
|
|
#
|
2020-01-16 19:08:35 +00:00
|
|
|
# Authors: Sergey G. Brester (sebres), Cyril Jaquier, Daniel Black,
|
|
|
|
# Yaroslav O. Halchenko, Alexander Koeppe et al.
|
2006-07-17 19:26:14 +00:00
|
|
|
#
|
|
|
|
|
2020-01-16 19:08:35 +00:00
|
|
|
[Definition]
|
2013-05-07 21:52:08 +00:00
|
|
|
|
2020-01-16 19:08:35 +00:00
|
|
|
# Option: type
|
|
|
|
# Notes.: type of the action.
|
|
|
|
# Values: [ oneport | multiport | allports ] Default: oneport
|
|
|
|
#
|
|
|
|
type = oneport
|
2013-05-07 21:52:08 +00:00
|
|
|
|
2020-01-16 19:08:35 +00:00
|
|
|
# Option: actionflush
|
|
|
|
# Notes.: command executed once to flush IPS, by shutdown (resp. by stop of the jail or this action)
|
|
|
|
# Values: CMD
|
|
|
|
#
|
|
|
|
actionflush = <iptables> -F f2b-<name>
|
2006-06-26 20:05:00 +00:00
|
|
|
|
2006-12-18 22:33:01 +00:00
|
|
|
# Option: actionstart
|
2018-09-12 14:00:40 +00:00
|
|
|
# Notes.: command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
|
2006-10-01 21:19:56 +00:00
|
|
|
# Values: CMD
|
2006-06-26 20:05:00 +00:00
|
|
|
#
|
2022-01-24 23:00:40 +00:00
|
|
|
actionstart = { <iptables> -C f2b-<name> -j <returntype> >/dev/null 2>&1; } || { <iptables> -N f2b-<name> || true; <iptables> -A f2b-<name> -j <returntype>; }
|
|
|
|
{ %(_ipt_check_rule)s >/dev/null 2>&1; } || { <iptables> -I <chain> %(_ipt_chain_rule)s; }
|
2006-06-26 20:05:00 +00:00
|
|
|
|
2008-03-04 22:41:28 +00:00
|
|
|
# Option: actionstop
|
2018-09-12 14:00:40 +00:00
|
|
|
# Notes.: command executed at the stop of jail (or at the end of Fail2Ban)
|
2006-10-01 21:19:56 +00:00
|
|
|
# Values: CMD
|
2006-06-26 20:05:00 +00:00
|
|
|
#
|
2020-01-16 19:08:35 +00:00
|
|
|
actionstop = <iptables> -D <chain> %(_ipt_chain_rule)s
|
2017-03-29 21:20:43 +00:00
|
|
|
<actionflush>
|
2015-07-24 01:38:10 +00:00
|
|
|
<iptables> -X f2b-<name>
|
2006-06-26 20:05:00 +00:00
|
|
|
|
2006-12-18 22:33:01 +00:00
|
|
|
# Option: actioncheck
|
|
|
|
# Notes.: command executed once before each actionban command
|
2006-10-01 21:19:56 +00:00
|
|
|
# Values: CMD
|
2006-06-26 20:05:00 +00:00
|
|
|
#
|
2022-01-24 21:30:33 +00:00
|
|
|
actioncheck = <_ipt_check_rule>
|
2006-06-26 20:05:00 +00:00
|
|
|
|
2006-12-18 22:33:01 +00:00
|
|
|
# Option: actionban
|
2006-06-26 20:05:00 +00:00
|
|
|
# Notes.: command executed when banning an IP. Take care that the
|
|
|
|
# command is executed with Fail2Ban user rights.
|
2013-03-16 23:52:49 +00:00
|
|
|
# Tags: See jail.conf(5) man page
|
2006-06-26 20:05:00 +00:00
|
|
|
# Values: CMD
|
|
|
|
#
|
2015-07-24 01:38:10 +00:00
|
|
|
actionban = <iptables> -I f2b-<name> 1 -s <ip> -j <blocktype>
|
2006-06-26 20:05:00 +00:00
|
|
|
|
2006-12-18 22:33:01 +00:00
|
|
|
# Option: actionunban
|
2006-06-26 20:05:00 +00:00
|
|
|
# Notes.: command executed when unbanning an IP. Take care that the
|
|
|
|
# command is executed with Fail2Ban user rights.
|
2013-03-16 23:52:49 +00:00
|
|
|
# Tags: See jail.conf(5) man page
|
2006-06-26 20:05:00 +00:00
|
|
|
# Values: CMD
|
|
|
|
#
|
2015-07-24 01:38:10 +00:00
|
|
|
actionunban = <iptables> -D f2b-<name> -s <ip> -j <blocktype>
|
2006-07-16 21:35:08 +00:00
|
|
|
|
2020-01-16 19:08:35 +00:00
|
|
|
# Option: pre-rule
|
|
|
|
# Notes.: prefix parameter(s) inserted to the begin of rule. No default (empty)
|
|
|
|
#
|
|
|
|
pre-rule =
|
|
|
|
|
2020-01-17 07:56:15 +00:00
|
|
|
rule-jump = -j <_ipt_rule_target>
|
|
|
|
|
2020-01-16 19:08:35 +00:00
|
|
|
# Several capabilities used internaly:
|
|
|
|
|
|
|
|
_ipt_chain_rule = <pre-rule><ipt_<type>/_chain_rule>
|
|
|
|
_ipt_check_rule = <iptables> -C <chain> %(_ipt_chain_rule)s
|
2020-01-17 07:56:15 +00:00
|
|
|
_ipt_rule_target = f2b-<name>
|
2020-01-16 19:08:35 +00:00
|
|
|
|
|
|
|
[ipt_oneport]
|
|
|
|
|
2020-01-17 07:56:15 +00:00
|
|
|
_chain_rule = -p <protocol> --dport <port> <rule-jump>
|
2020-01-16 19:08:35 +00:00
|
|
|
|
|
|
|
[ipt_multiport]
|
|
|
|
|
2020-01-17 07:56:15 +00:00
|
|
|
_chain_rule = -p <protocol> -m multiport --dports <port> <rule-jump>
|
2020-01-16 19:08:35 +00:00
|
|
|
|
|
|
|
[ipt_allports]
|
|
|
|
|
2020-01-17 07:56:15 +00:00
|
|
|
_chain_rule = -p <protocol> <rule-jump>
|
2020-01-16 19:08:35 +00:00
|
|
|
|
|
|
|
|
2006-07-16 21:35:08 +00:00
|
|
|
[Init]
|
|
|
|
|
2020-01-16 19:08:35 +00:00
|
|
|
# Option: chain
|
|
|
|
# Notes specifies the iptables chain to which the Fail2Ban rules should be
|
|
|
|
# added
|
|
|
|
# Values: STRING Default: INPUT
|
|
|
|
chain = INPUT
|
|
|
|
|
|
|
|
# Default name of the chain
|
|
|
|
#
|
|
|
|
name = default
|
|
|
|
|
|
|
|
# Option: port
|
|
|
|
# Notes.: specifies port to monitor
|
|
|
|
# Values: [ NUM | STRING ] Default:
|
|
|
|
#
|
|
|
|
port = ssh
|
|
|
|
|
|
|
|
# Option: protocol
|
|
|
|
# Notes.: internally used by config reader for interpolations.
|
|
|
|
# Values: [ tcp | udp | icmp | all ] Default: tcp
|
|
|
|
#
|
|
|
|
protocol = tcp
|
|
|
|
|
|
|
|
# Option: blocktype
|
|
|
|
# Note: This is what the action does with rules. This can be any jump target
|
|
|
|
# as per the iptables man page (section 8). Common values are DROP
|
|
|
|
# REJECT, REJECT --reject-with icmp-port-unreachable
|
|
|
|
# Values: STRING
|
|
|
|
blocktype = REJECT --reject-with icmp-port-unreachable
|
|
|
|
|
|
|
|
# Option: returntype
|
|
|
|
# Note: This is the default rule on "actionstart". This should be RETURN
|
|
|
|
# in all (blocking) actions, except REJECT in allowing actions.
|
|
|
|
# Values: STRING
|
|
|
|
returntype = RETURN
|
|
|
|
|
|
|
|
# Option: lockingopt
|
|
|
|
# Notes.: Option was introduced to iptables to prevent multiple instances from
|
|
|
|
# running concurrently and causing irratic behavior. -w was introduced
|
|
|
|
# in iptables 1.4.20, so might be absent on older systems
|
|
|
|
# See https://github.com/fail2ban/fail2ban/issues/1122
|
|
|
|
# Values: STRING
|
|
|
|
lockingopt = -w
|
|
|
|
|
|
|
|
# Option: iptables
|
|
|
|
# Notes.: Actual command to be executed, including common to all calls options
|
|
|
|
# Values: STRING
|
|
|
|
iptables = iptables <lockingopt>
|
|
|
|
|
|
|
|
|
|
|
|
[Init?family=inet6]
|
|
|
|
|
|
|
|
# Option: blocktype (ipv6)
|
|
|
|
# Note: This is what the action does with rules. This can be any jump target
|
|
|
|
# as per the iptables man page (section 8). Common values are DROP
|
|
|
|
# REJECT, REJECT --reject-with icmp6-port-unreachable
|
|
|
|
# Values: STRING
|
|
|
|
blocktype = REJECT --reject-with icmp6-port-unreachable
|
|
|
|
|
|
|
|
# Option: iptables (ipv6)
|
|
|
|
# Notes.: Actual command to be executed, including common to all calls options
|
|
|
|
# Values: STRING
|
|
|
|
iptables = ip6tables <lockingopt>
|