|
|
|
# Fail2Ban configuration file
|
|
|
|
#
|
|
|
|
# Author: Guido Bozzetto
|
|
|
|
# Modified: Cyril Jaquier
|
|
|
|
#
|
|
|
|
# make "fail2ban-<name>" chain to match drop IP
|
|
|
|
# make "fail2ban-<name>-log" chain to log and drop
|
|
|
|
# insert a jump to fail2ban-<name> from -I <chain> if proto/port match
|
|
|
|
#
|
|
|
|
# $Revision$
|
|
|
|
#
|
|
|
|
|
|
|
|
[Definition]
|
|
|
|
|
|
|
|
# Option: actionstart
|
|
|
|
# Notes.: command executed once at the start of Fail2Ban.
|
|
|
|
# Values: CMD
|
|
|
|
#
|
|
|
|
actionstart = iptables -N fail2ban-<name>
|
|
|
|
iptables -A fail2ban-<name> -j RETURN
|
|
|
|
iptables -I <chain> 1 -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
|
|
|
|
iptables -N fail2ban-<name>-log
|
|
|
|
iptables -I fail2ban-<name>-log -j LOG --log-prefix "$(expr fail2ban-<name> : '\(.\{1,23\}\)'):DROP " --log-level warning -m limit --limit 6/m --limit-burst 2
|
|
|
|
iptables -A fail2ban-<name>-log -j DROP
|
|
|
|
|
|
|
|
# Option: actionstop
|
|
|
|
# Notes.: command executed once at the end of Fail2Ban
|
|
|
|
# Values: CMD
|
|
|
|
#
|
|
|
|
actionstop = iptables -D <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
|
|
|
|
iptables -F fail2ban-<name>
|
|
|
|
iptables -F fail2ban-<name>-log
|
|
|
|
iptables -X fail2ban-<name>
|
|
|
|
iptables -X fail2ban-<name>-log
|
|
|
|
|
|
|
|
# Option: actioncheck
|
|
|
|
# Notes.: command executed once before each actionban command
|
|
|
|
# Values: CMD
|
|
|
|
#
|
|
|
|
actioncheck = iptables -n -L fail2ban-<name>-log >/dev/null
|
|
|
|
|
|
|
|
# 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 = iptables -I fail2ban-<name> 1 -s <ip> -j fail2ban-<name>-log
|
|
|
|
|
|
|
|
# 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
|
|
|
|
#
|
|
|
|
actionunban = iptables -D fail2ban-<name> -s <ip> -j fail2ban-<name>-log
|
|
|
|
|
|
|
|
[Init]
|
|
|
|
|
|
|
|
# Defaut 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: chain
|
|
|
|
# Notes specifies the iptables chain to which the fail2ban rules should be
|
|
|
|
# added
|
|
|
|
# Values: STRING Default: INPUT
|
|
|
|
chain = INPUT
|