mirror of https://github.com/fail2ban/fail2ban
MRG: complete merge from master
commit
76468942f9
17
ChangeLog
17
ChangeLog
|
@ -92,7 +92,9 @@ ver. 0.8.12 (2013/12/XX) - things-can-only-get-better
|
|||
- Fix apache-common for apache-2.4 log file format. Thanks Mark White.
|
||||
Closes gh-516
|
||||
- Asynchat changed to use push method which verifys whether all data was
|
||||
send. This ensures that all data is sent before closing the connection.
|
||||
send. This ensures that all data is sent before closing the connection.
|
||||
- Removed unnecessary reference to as yet undeclared $jail_name when checking
|
||||
a specific jail in nagios script.
|
||||
|
||||
- Enhancements:
|
||||
- added firewallcmd-ipset action
|
||||
|
@ -108,13 +110,20 @@ ver. 0.8.12 (2013/12/XX) - things-can-only-get-better
|
|||
- exim-spam filter to match spamassassin log entry for option SAdevnull.
|
||||
Thanks Ivo Truxa. Closes gh-533
|
||||
- filter.d/nsd.conf -- also amended Unix date template to match nsd format
|
||||
- Added to sshd filter expression for "Received disconnect from <HOST>: 3:
|
||||
...: Auth fail". Thanks Marcel Dopita. Closes gh-289
|
||||
- loglines now also report "[PID]" after the name portion
|
||||
|
||||
- New Features:
|
||||
|
||||
- Added filter for solid-pop3d -- thanks to Jacques Lav!gnotte on mailinglist.
|
||||
- Added filter for apache-modsecurity
|
||||
- Added filter for openwebmail thanks Ivo Truxa. Closes gh-543
|
||||
- filter.d/solid-pop3d -- added thanks to Jacques Lav!gnotte on mailinglist.
|
||||
- Add filter for apache-modsecurity
|
||||
- filter.d/nsd.conf -- also amended Unix date template to match nsd format
|
||||
- Added openwebmail filter thanks Ivo Truxa. Closes gh-543
|
||||
- Added filter for freeswitch. Thanks Jim and editors and authors of
|
||||
http://wiki.freeswitch.org/wiki/Fail2ban
|
||||
- Added groupoffice filter thanks to logs from Merijn Schering.
|
||||
Closes gh-566
|
||||
- Added filter for horde
|
||||
|
||||
ver. 0.8.11 (2013/11/13) - loves-unittests-and-tight-DoS-free-filter-regexes
|
||||
|
|
4
MANIFEST
4
MANIFEST
|
@ -116,6 +116,8 @@ fail2ban/tests/files/logs/dropbear
|
|||
fail2ban/tests/files/logs/ejabberd-auth
|
||||
fail2ban/tests/files/logs/exim
|
||||
fail2ban/tests/files/logs/exim-spam
|
||||
fail2ban/tests/files/logs/freeswitch
|
||||
fail2ban/tests/files/logs/groupoffice
|
||||
fail2ban/tests/files/logs/gssftpd
|
||||
fail2ban/tests/files/logs/guacamole
|
||||
fail2ban/tests/files/logs/lighttpd-auth
|
||||
|
@ -213,6 +215,8 @@ config/filter.d/3proxy.conf
|
|||
config/filter.d/apache-common.conf
|
||||
config/filter.d/exim-common.conf
|
||||
config/filter.d/exim-spam.conf
|
||||
config/filter.d/freeswitch.conf
|
||||
config/filter.d/groupoffice.conf
|
||||
config/filter.d/perdition.conf
|
||||
config/filter.d/uwimap-auth.conf
|
||||
config/filter.d/courier-auth.conf
|
||||
|
|
1
THANKS
1
THANKS
|
@ -62,6 +62,7 @@ Markus Hoffmann
|
|||
Marvin Rouge
|
||||
mEDI
|
||||
Мернов Георгий
|
||||
Merijn Schering
|
||||
Michael C. Haller
|
||||
Michael Hanselmann
|
||||
Nick Munger
|
||||
|
|
|
@ -1,45 +1,17 @@
|
|||
# Fail2Ban configuration file
|
||||
# https://www.rfxn.com/projects/advanced-policy-firewall/
|
||||
#
|
||||
# Author: Mark McKinstry
|
||||
# Note: APF doesn't play nicely with other actions. It has been observed to
|
||||
# remove bans created by other iptables based actions. If you are going to use
|
||||
# this action, use it for all of your jails.
|
||||
#
|
||||
# DON'T MIX APF and other IPTABLES based actions
|
||||
[Definition]
|
||||
|
||||
# Option: actionstart
|
||||
# Notes.: command executed once at the start of Fail2Ban.
|
||||
# Values: CMD
|
||||
#
|
||||
actionstart =
|
||||
|
||||
# Option: actionstop
|
||||
# Notes.: command executed once at the end of Fail2Ban
|
||||
# Values: CMD
|
||||
#
|
||||
actionstop =
|
||||
|
||||
# Option: actioncheck
|
||||
# Notes.: command executed once before each actionban command
|
||||
# Values: CMD
|
||||
#
|
||||
actioncheck =
|
||||
|
||||
# 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 = apf --deny <ip> "banned by Fail2Ban <name>"
|
||||
|
||||
# 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 = apf --remove <ip>
|
||||
|
||||
[Init]
|
||||
|
@ -48,3 +20,6 @@ actionunban = apf --remove <ip>
|
|||
#
|
||||
name = default
|
||||
|
||||
# DEV NOTES:
|
||||
#
|
||||
# Author: Mark McKinstry
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# Fail2Ban configuration file
|
||||
#
|
||||
# Enable "log-auth-failures" on each Sofia profile to monitor
|
||||
# <param name="log-auth-failures" value="true"/>
|
||||
# -- this requires a high enough loglevel on your logs to save these messages.
|
||||
#
|
||||
# In the fail2ban jail.local file for this filter set ignoreip to the internal
|
||||
# IP addresses on your LAN.
|
||||
#
|
||||
|
||||
[Definition]
|
||||
|
||||
failregex = ^\.\d+ \[WARNING\] sofia_reg\.c:\d+ SIP auth (failure|challenge) \((REGISTER|INVITE)\) on sofia profile \'[^']+\' for \[.*\] from ip <HOST>$
|
||||
^\.\d+ \[WARNING\] sofia_reg\.c:\d+ Can't find user \[\d+@\d+\.\d+\.\d+\.\d+\] from <HOST>$
|
||||
|
||||
ignoreregex =
|
||||
|
||||
# Author: Rupa SChomaker, soapee01, Daniel Black
|
||||
# http://wiki.freeswitch.org/wiki/Fail2ban
|
||||
# Thanks to Jim on mailing list of samples and guidance
|
||||
#
|
||||
# No need to match the following. Its a duplicate of the SIP auth regex.
|
||||
# ^\.\d+ \[DEBUG\] sofia\.c:\d+ IP <HOST> Rejected by acl "\S+"\. Falling back to Digest auth\.$
|
|
@ -0,0 +1,14 @@
|
|||
# Fail2Ban filter for Group-Office
|
||||
#
|
||||
# Enable logging with:
|
||||
# $config['info_log']='/home/groupoffice/log/info.log';
|
||||
#
|
||||
|
||||
[Definition]
|
||||
|
||||
failregex = ^\[\]LOGIN FAILED for user: "\S+" from IP: <HOST>$
|
||||
|
||||
|
||||
|
||||
# Author: Daniel Black
|
||||
|
|
@ -1,7 +1,11 @@
|
|||
# Fail2Ban filter for pureftp
|
||||
#
|
||||
# Disable hostname based logging by:
|
||||
#
|
||||
# Start pure-ftpd with the -H switch or on Ubuntu 'echo yes > /etc/pure-ftpd/conf/DontResolve'
|
||||
#
|
||||
#
|
||||
|
||||
[INCLUDES]
|
||||
|
||||
before = common.conf
|
||||
|
@ -17,3 +21,4 @@ ignoreregex =
|
|||
|
||||
# Author: Cyril Jaquier
|
||||
# Modified: Yaroslav Halchenko for pure-ftpd
|
||||
# Documentation thanks to Blake on http://www.fail2ban.org/wiki/index.php?title=Fail2ban:Community_Portal
|
||||
|
|
|
@ -20,6 +20,7 @@ failregex = ^%(__prefix_line)s(?:error: PAM: )?[aA]uthentication (?:failure|erro
|
|||
^%(__prefix_line)sUser .+ from <HOST> not allowed because listed in DenyUsers\s*$
|
||||
^%(__prefix_line)sUser .+ from <HOST> not allowed because not in any group\s*$
|
||||
^%(__prefix_line)srefused connect from \S+ \(<HOST>\)\s*$
|
||||
^%(__prefix_line)sReceived disconnect from <HOST>: 3: \S+: Auth fail$
|
||||
^%(__prefix_line)sUser .+ from <HOST> not allowed because a group is listed in DenyGroups\s*$
|
||||
^%(__prefix_line)sUser .+ from <HOST> not allowed because none of user's groups are listed in AllowGroups\s*$
|
||||
^(?P<__prefix>%(__prefix_line)s)User .+ not allowed because account is locked<SKIPLINES>(?P=__prefix)(?:error: )?Received disconnect from <HOST>: 11: Bye Bye \[preauth\]$
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Fail2Ban filter for vsftp
|
||||
#
|
||||
# Configure VSFTP for "dual_log_enable=YES", and have fail2ban watch
|
||||
# /var/log/vsftpd.log instead of /var/log/secure. vsftpd.log file shows the
|
||||
# incoming ip address rather than domain names.
|
||||
|
||||
[INCLUDES]
|
||||
|
||||
|
@ -16,3 +19,4 @@ failregex = ^%(__prefix_line)s%(__pam_re)s\s+authentication failure; logname=\S*
|
|||
ignoreregex =
|
||||
|
||||
# Author: Cyril Jaquier
|
||||
# Documentation from fail2ban wiki
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
# failJSON: { "time": "2013-12-31T17:39:54", "match": true, "host": "81.94.202.251" }
|
||||
2013-12-31 17:39:54.767815 [WARNING] sofia_reg.c:1533 SIP auth challenge (INVITE) on sofia profile 'internal' for [011448708752617@192.168.2.51] from ip 81.94.202.251
|
||||
# failJSON: { "time": "2013-12-31T17:39:54", "match": true, "host": "5.11.47.236" }
|
||||
2013-12-31 17:39:54.767815 [WARNING] sofia_reg.c:1478 SIP auth failure (INVITE) on sofia profile 'internal' for [000972543480510@192.168.2.51] from ip 5.11.47.236
|
||||
# failJSON: { "time": "2013-12-31T17:39:54", "match": false }
|
||||
2013-12-31 17:39:54.767815 [DEBUG] sofia.c:7954 IP 185.24.234.141 Rejected by acl "domains". Falling back to Digest auth.
|
||||
|
||||
# failJSON: { "time": "2013-12-31T17:39:54", "match": true, "host": "5.11.47.236" }
|
||||
2013-12-31 17:39:54.767815 [WARNING] sofia_reg.c:2531 Can't find user [1001@192.168.2.51] from 5.11.47.236
|
||||
# failJSON: { "time": "2013-12-31T17:39:54", "match": true, "host": "185.24.234.141" }
|
||||
2013-12-31 17:39:54.767815 [WARNING] sofia_reg.c:2531 Can't find user [100@192.168.2.51] from 185.24.234.141
|
|
@ -0,0 +1,4 @@
|
|||
# failJSON: { "time": "2014-01-06T10:59:38", "match": true, "host": "127.0.0.1" }
|
||||
[2014-01-06 10:59:38]LOGIN FAILED for user: "asdsad" from IP: 127.0.0.1
|
||||
# failJSON: { "time": "2014-01-06T10:59:49", "match": false, "host": "127.0.0.1" }
|
||||
[2014-01-06 10:59:49]LOGIN SUCCESS for user: "admin" from IP: 127.0.0.1
|
|
@ -119,7 +119,6 @@ Sep 29 17:15:02 spaceman sshd[12946]: Failed password for user from 127.0.0.1 po
|
|||
Nov 11 08:04:51 redbamboo sshd[2737]: Failed password for invalid user from 10.10.1.1 from 127.0.0.1 port 58946 ssh2
|
||||
|
||||
|
||||
|
||||
# failJSON: { "match": false }
|
||||
Nov 23 21:50:19 sshd[8148]: Disconnecting: Too many authentication failures for root [preauth]
|
||||
# failJSON: { "time": "2004-11-23T21:50:37", "match": true , "host": "61.0.0.1", "desc": "Multiline match for preauth failures" }
|
||||
|
@ -129,3 +128,7 @@ Nov 23 21:50:37 sshd[8148]: Connection closed by 61.0.0.1 [preauth]
|
|||
Nov 23 21:50:19 sshd[9148]: Disconnecting: Too many authentication failures for root [preauth]
|
||||
# failJSON: { "match": false , "desc": "Pids don't match" }
|
||||
Nov 23 21:50:37 sshd[7148]: Connection closed by 61.0.0.1 [preauth]
|
||||
|
||||
# failJSON: { "time": "2005-07-13T18:44:28", "match": true , "host": "89.24.13.192", "desc": "from gh-289" }
|
||||
Jul 13 18:44:28 mdop sshd[4931]: Received disconnect from 89.24.13.192: 3: com.jcraft.jsch.JSchException: Auth fail
|
||||
|
||||
|
|
|
@ -108,6 +108,7 @@ my ($critical,$warning) = (2,1);
|
|||
my $fail2ban_client_path = '/usr/bin/fail2ban-client';
|
||||
my $fail2ban_socket = '';
|
||||
my $jail_specific = '';
|
||||
my $jail_name = '';
|
||||
|
||||
GetOptions (
|
||||
'P=s' => \ $fail2ban_client_path,
|
||||
|
@ -190,7 +191,7 @@ if ($jail_specific) {
|
|||
else {
|
||||
$how_many_banned = int($current_ban_number);
|
||||
$return_print = $how_many_banned.' current banned IP(s) for the specific jail '.$jail_specific;
|
||||
$perf_print .= "$jail_name.currentBannedIP=$current_ban_number " if ($perfdata_value);
|
||||
$perf_print .= "$current_ban_number " if ($perfdata_value);
|
||||
}
|
||||
}
|
||||
### To analyze all the jail
|
||||
|
|
|
@ -3,23 +3,25 @@
|
|||
jail.conf \- configuration for the fail2ban server
|
||||
.SH SYNOPSIS
|
||||
|
||||
.I fail2ban.conf fail2ban.d/*.conf fail2ban.d/*.local
|
||||
.I fail2ban.conf fail2ban.d/*.conf fail2ban.local fail2ban.d/*.local
|
||||
|
||||
.I jail.conf / jail.local
|
||||
.I jail.conf jail.d/*.conf jail.local jail.d/*.local
|
||||
|
||||
.I action.d/*.conf action.d/*.local action.d/*.py
|
||||
|
||||
.I filter.d/*.conf filter.d/*.local
|
||||
|
||||
.SH DESCRIPTION
|
||||
Fail2ban has three configuration file types. Action files are the commands for banning and unbanning of IP address,
|
||||
Filter files tell fail2ban how to detect authentication failures, and Jail configurations combine filters with actions into jails.
|
||||
Fail2ban has four configuration file types. Failban configuration files that contain global configuration items, Action configuration files are the commands for banning and unbanning of IP address, Filter configuration files tell fail2ban how to detect authentication failures, and Jail configuration files combine filters with actions into jails.
|
||||
|
||||
.SH "CONFIGUATION FILES"
|
||||
|
||||
There are *.conf files that are distributed by fail2ban and *.local file that contain user customizations.
|
||||
All configuration files should be UTF-8 encoded for python3.
|
||||
It is recommended that *.conf files should remain unchanged. If needed, customizations should be provided in *.local files.
|
||||
For instance, if you would like to customize the [ssh-iptables-ipset] jail, create a jail.local to extend jail.conf
|
||||
(the configuration for the fail2ban server). The jail.local file will be the following if you only need to enable
|
||||
it:
|
||||
it as follows:
|
||||
|
||||
.TP
|
||||
\fIjail.local\fR
|
||||
|
@ -31,12 +33,21 @@ enabled = true
|
|||
Override only the settings you need to change and the rest of the configuration will come from the corresponding
|
||||
*.conf file.
|
||||
|
||||
\fI*.d/\fR
|
||||
.RS
|
||||
In addition to .local, for any .conf file there can be a corresponding
|
||||
\fIfilter.d/\fR and \fIaction.d/\fR
|
||||
These directories contains \fI*.conf\fR and \fI*.local\fR files that contain filter and action configurations.
|
||||
\fI.local\fR files are read first and only need to set the directives that are different from the \fI.conf\fR file.
|
||||
Directives not overwritten are read from the \fI.conf\fR file.
|
||||
.RE
|
||||
|
||||
.RS
|
||||
\fIjail.d/\fR and \fIfail2ban.d/\fR
|
||||
.RS
|
||||
In addition to .local, for any jail.conf or fail2ban.conf file there can be a corresponding
|
||||
\fI.d/\fR directory to contain additional .conf files that will be read after the
|
||||
appropriate .local file. Last parsed file will take precidence over
|
||||
identical entries, parsed alphabetically, e.g.
|
||||
.RE
|
||||
|
||||
.RS
|
||||
\fIjail.d/01_enable.conf\fR - to enable a specific jail
|
||||
|
@ -48,6 +59,7 @@ identical entries, parsed alphabetically, e.g.
|
|||
\fIfail2ban.d/01_custom_log.conf\fR - containing specific configuration entry to use a different log path.
|
||||
.RE
|
||||
.RE
|
||||
.RE
|
||||
|
||||
The order \fIjail\fR configuration is parsed is:
|
||||
|
||||
|
@ -56,41 +68,72 @@ jail.d/*.conf (in alphabetical order),
|
|||
jail.local, followed by
|
||||
jail.d/*.local (in alphabetical order).
|
||||
|
||||
Likewise for fail2ban configuration.
|
||||
Likewise for fail2ban configuration except the filenames/directories begin with "fail2ban" and not "jail".
|
||||
|
||||
Comments: use '#' for comment lines and ';' (following a space) for inline comments
|
||||
Configuration files have sections, those specified with [section name], and name = value pairs. For those name items that can accept multiple values, specify the values separated by spaces, or new lines between the values which also requires space at the beginning of the line before the second value..
|
||||
|
||||
Comments: use '#' for comment lines and ';' (following a space) for inline comments. When using Python2.X ';' can only be used on the first line due to an Python library bug.
|
||||
|
||||
.SH DEFAULT
|
||||
The following options are applicable to all jails. Their meaning is described in the default \fIjail.conf\fR file.
|
||||
.SH "FAIL2BAN CONFIGURATION FILES"
|
||||
|
||||
These files have one section, [Definition].
|
||||
|
||||
The items that can be set are:
|
||||
.TP
|
||||
\fBloglevel\fR
|
||||
Set the log level output. , 1 = ERROR, 2 = WARN, 3 = INFO, 4 = DEBUG. Default: 1
|
||||
.TP
|
||||
\fBlogtarget\fR
|
||||
Set the log target. This could be a file, SYSLOG, STDERR or STDOUT. Only one log target can be specified.
|
||||
If you change logtarget from the default value and you are using logrotate -- also adjust or disable rotation in the
|
||||
corresponding configuration file (e.g. /etc/logrotate.d/fail2ban on Debian systems). Values can be [ STDOUT | STDERR | SYSLOG | FILE ] Default: STDERR.
|
||||
.TP
|
||||
\fBsocket\fR
|
||||
Set the socket file. This is used to communicate with the fail2ban server daemon. Do not remove this file when Fail2ban runs. It will not be possible to communicate with the server afterwards. Default: /var/run/fail2ban/fail2ban.sock
|
||||
.TP
|
||||
\fBpidfile\fR
|
||||
Set the PID file. This is used to store the process ID of the fail2ban server.
|
||||
# Values: [ FILE ] Default: /var/run/fail2ban/fail2ban.pid
|
||||
|
||||
.SH "JAIL CONFIGURATION FILES"
|
||||
The following options are applicable to all jails. They appear in a section specifing the jail name or in the \fI[DEFAULT]\fR section which is used if individual sections don't have a value specified.
|
||||
.TP
|
||||
\fBfilter\fR
|
||||
The filename of the filter in /etc/fail2ban/filter.d/ without the .conf/.local extension. Only one filter can be specified.
|
||||
.TP
|
||||
\fBlogpath\fR
|
||||
Specify one or more log files for monitoring for failures, separated by new lines. Optional space separated option 'tail' can be added to the end of the path to cause the log file to be read from the end, else default 'head' option reads file from the beginning
|
||||
the log filename(s)separated by new lines. Globs, like paths containing * and ? or [0-9], can be used however only the files that exist at startup matching this glob pattern will be read. Optional space separated option 'tail' can be added to the end of the path to cause the log file to be read from the end, else default 'head' option reads file from the beginning
|
||||
.TP
|
||||
\fBaction\fR
|
||||
action(s) from \fI/etc/fail2ban/action.d/\fR without the \fI.conf\fR/\fI.local\fR extension. Arguements can be passed to actions to override the default values from the [Init] section. Arguements are specified by [name=value,name2=value]. Values can also be quoted. More that one action can be specified.
|
||||
.TP
|
||||
\fBignoreip\fR
|
||||
A space separated list of IPs not to ban.
|
||||
A list of IPs not to ban. These can include a CIDR mask too.
|
||||
.TP
|
||||
\fBignorecommand\fR
|
||||
A command that is executed to determine if the current ban's actionban is to be executed. This command will return true if the current ban should be ignored. A false return value will result in the ban's actionban executed.
|
||||
Like ACTION FILES, tags like <ip> are can be included in the ignore command value and will be substitued before execution. Currently only <ip> is supported however more will be added later.
|
||||
.TP
|
||||
\fBbantime\fR
|
||||
effective ban duration (measured in seconds).
|
||||
.TP
|
||||
\fBfindtime\fR
|
||||
time interval (in seconds) before the current time where failures will count towards a ban.
|
||||
.TP
|
||||
\fBmaxretry\fR
|
||||
number of failures that can occur in the last \fBfindtime\fR seconds before a ban of that IP will result.
|
||||
.TP
|
||||
\fBbackend\fR
|
||||
This is the backend used to detect changes in the logpath. It defaults to "auto" which will try "pyinotify", "gamin" before "polling". Any of these can be specified. "pyinotify" is only valid on Linux systems with the "pyinotify" Python libraries. "gamin" requires the "gamin" libraries.
|
||||
.TP
|
||||
\fBusedns\fR
|
||||
This tells fail2ban to use DNS to resolve HOST names that appear in the logs. By default it is "warn" which will preform the resolving hostnames to IPs however it will also log a warning. If you are using DNS here you could be blocking the wrong IPs due to the asymetric nature of reverse DNS (that the application used to write the domain name to log) compared to forward DNS that fail2ban uses to resolve this back to an IP (but not necessarly the same one). Idealy configure your applications to log a real IP. This can be set to "yes" to prevent warnings in the log or "no" to disable DNS resolution.
|
||||
.TP
|
||||
\fBfailregex\fR
|
||||
Here a failregex can be added which is effectively added to the filter's failregexes. If this is useful for others using your application please tell the fail2ban developers by reporting an issue (REPORTING BUGS below).
|
||||
.TP
|
||||
\fBignoreregex\fR
|
||||
Here you can specify a Python regex that when applied to a log file line will be ignored. This will be ignored even if it matches a failregex of the jail or any of its filters.
|
||||
|
||||
.PP
|
||||
.SS Backends
|
||||
|
@ -118,13 +161,11 @@ Each jail can be configured with only a single filter, but may have multiple act
|
|||
.nf
|
||||
[ssh-iptables-ipset]
|
||||
enabled = true
|
||||
action = sendmail[name=ssh, dest=john@example.com, actname=mail-john]
|
||||
sendmail[name=ssh, dest=paul@example.com, actname=mail-paul]
|
||||
smtp.py[dest=chris@example.com, actname=smtp-chris]
|
||||
action = smtp.py[dest=chris@example.com, actname=smtp-chris]
|
||||
smtp.py[dest=sally@example.com, actname=smtp-sally]
|
||||
.fi
|
||||
|
||||
.SH "ACTION FILES"
|
||||
.SH "ACTION CONFIGURATION FILES"
|
||||
Action files specify which commands are executed to ban and unban an IP address. They are located under \fI/etc/fail2ban/action.d\fR.
|
||||
|
||||
Like with jail.conf files, if you desire local changes create an \fI[actionname].local\fR file in the \fI/etc/fail2ban/action.d\fR directory
|
||||
|
@ -252,7 +293,7 @@ indicates that this file is read after the [Definition] section.
|
|||
|
||||
.SH AUTHOR
|
||||
Fail2ban was originally written by Cyril Jaquier <cyril.jaquier@fail2ban.org>.
|
||||
At the moment it is maintained and further developed by Yaroslav O. Halchenko <debian@onerussian.com> and a number of contributors. See \fBTHANKS\fR file shipped with Fail2Ban for a full list.
|
||||
At the moment it is maintained and further developed by Yaroslav O. Halchenko <debian@onerussian.com>, Daniel Black <daniel.subs@internode.on.net> and Steven Hiscocks <steven-fail2ban@hiscocks.me.uk> along with a number of contributors. See \fBTHANKS\fR file shipped with Fail2Ban for a full list.
|
||||
.
|
||||
Manual page written by Daniel Black and Yaroslav Halchenko.
|
||||
.SH "REPORTING BUGS"
|
||||
|
|
Loading…
Reference in New Issue