|
|
|
# Fail2Ban configuration file
|
|
|
|
#
|
|
|
|
# Author: Daniel Black
|
|
|
|
#
|
|
|
|
# This is for ipset protocol 4 (ipset v4.2). If you have a later version
|
|
|
|
# of ipset try to use the iptables-ipset-proto6.conf as it does some things
|
|
|
|
# nicer.
|
|
|
|
#
|
|
|
|
# This requires the program ipset which is normally in package called ipset.
|
|
|
|
#
|
|
|
|
# IPset was a feature introduced in the linux kernel 2.6.39 and 3.0.0 kernels.
|
|
|
|
#
|
|
|
|
# If you are running on an older kernel you make need to patch in external
|
|
|
|
# modules.
|
|
|
|
#
|
|
|
|
# On Debian machines this can be done with:
|
|
|
|
#
|
|
|
|
# apt-get install ipset xtables-addons-source
|
|
|
|
# module-assistant auto-install xtables-addons
|
|
|
|
|
|
|
|
[Definition]
|
|
|
|
|
|
|
|
# Option: actionstart
|
|
|
|
# Notes.: command executed once at the start of Fail2Ban.
|
|
|
|
# Values: CMD
|
|
|
|
#
|
|
|
|
actionstart = ipset --create fail2ban-<name> iphash
|
|
|
|
iptables -I INPUT -p <protocol> -m multiport --dports <port> -m set --match-set fail2ban-<name> src -j <blocktype>
|
|
|
|
|
|
|
|
# Option: actionstop
|
|
|
|
# Notes.: command executed once at the end of Fail2Ban
|
|
|
|
# Values: CMD
|
|
|
|
#
|
|
|
|
actionstop = iptables -D INPUT -p <protocol> -m multiport --dports <port> -m set --match-set fail2ban-<name> src -j <blocktype>
|
|
|
|
ipset --flush fail2ban-<name>
|
|
|
|
ipset --destroy fail2ban-<name>
|
|
|
|
|
|
|
|
# Option: actionban
|
|
|
|
# Notes.: command executed when banning an IP. Take care that the
|
|
|
|
# command is executed with Fail2Ban user rights.
|
|
|
|
# Tags: See jail.conf(5) man page
|
|
|
|
# Values: CMD
|
|
|
|
#
|
|
|
|
actionban = ipset --test fail2ban-<name> <ip> || ipset --add fail2ban-<name> <ip>
|
|
|
|
|
|
|
|
# Option: actionunban
|
|
|
|
# Notes.: command executed when unbanning an IP. Take care that the
|
|
|
|
# command is executed with Fail2Ban user rights.
|
|
|
|
# Tags: See jail.conf(5) man page
|
|
|
|
# Values: CMD
|
|
|
|
#
|
|
|
|
actionunban = ipset --test fail2ban-<name> <ip> && ipset --del fail2ban-<name> <ip>
|
|
|
|
|
|
|
|
[Init]
|
|
|
|
|
|
|
|
# Default name of the ipset
|
|
|
|
#
|
|
|
|
name = default
|
|
|
|
|
|
|
|
# Option: port
|
|
|
|
# Notes.: specifies port to monitor
|
|
|
|
# Values: [ NUM | STRING ] Default: ssh
|
|
|
|
#
|
|
|
|
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
|