Fail2ban 配置详解 监禁配置(jail.conf)
###
# 包含配置
###
[INCLUDES]
# after =
# 在加载本配置文件之后再加载指定的独立配置文件。
before = paths-debian.conf
# 在加载本配置文件之前加载指定的独立配置文件。
###
# 默认配置
###
# 以下是将jail、filter、action混合的选项说明。
[DEFAULT]
ignoreip = 127.0.0.1/8
# 设置要忽略的IP地址,这可以是以空格分隔的多个IP、IP/掩码、DNS。
bantime = 600
# 设置IP被禁止的持续时间,单位为秒。
findtime = 600
# 设置匹配时间间隔,单位为秒,即从日志中匹配条目,若指定时间内匹配到"maxretry"项设置的条目数量时,将会
# 执行封禁IP动作。
maxretry = 5
# 设置从日志中匹配到IP的最大数量,即尝试次数。
logpath = /var/log/secure
# 设置提供给过滤器所使用的日志文件路径。
backend = auto
# 设置Fail2ban的后端要使用的文件系统监视器。有效的监视器有:pyinotify、gamin、polling、systemd和auto。
# 设置为"auto"则会轮询前面几个监视器,直到获取到有效的,一般情况下使用pyinotify。默认情况下安装时已经安
# 装了该监视器,所以该配置项无需设置。
# 当使用了systemd监视器时,则应该使用过滤器配置中的"journalmatch"配置项匹配日志。"logpath"选项则失效。
usedns = warn
# 设置使用DNS查找功能,如果遇到主机名则会执行DNS查询功能,将主机名解析成IP地址。
# no - 如果遇到主机名,则不会进行DNS解析成IP地址,即不会禁止该主机,但会记录到日志中。
# yes - 如果遇到主机名,则会进行DNS解析成IP地址,即会禁止该主机,并将信息记录到日志中,为INFO级别。
# warn - 如果遇到主机名,则会进行DNS解析成IP地址,即会禁止该主机,并将信息记录到日志中,为WARN级别。
logencoding = auto
# 设置日志文件所使用的字符编码,若设置为"auto"则自动使用系统设置的字符编码。
enabled = false
# 设置是否启用该监禁项。false为禁用,true为启用。
###
# 关联过滤器
###
filter = %(__name__)s
# 设置该监禁项(jail)要使用的过滤器,该配置会执行"filter.d"对应名称的过滤器。"__name__"是Python的内置
# 变量,表示要引用的过滤器配置文件的名字。
###
# 关联动作
###
destemail = root@localhost
# 设置收件人邮箱地址。
sender = root@localhost
# 设置发件人邮箱。
mta = sendmail
# 设置要使用的邮件传输代理设备。默认使用"sendmail"发送邮件,如果想要使用常规客户端方式发送邮件,则可以
# 将其设置为"mail"。
protocol = tcp
# 设置默认使用的传输协议。
chain = INPUT
# 设置要将规则应用到IPtables的指定链。
port = 0:65535
# 设置要禁用的IP端口范围。
banaction = iptables-multiport
# 设置要指定动作的快捷建。
action_ = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
# 定义要进行的动作。
action = %(action_)s
# 设置默认要执行的动作。
# 传递bantime参数表示设置动作的监禁IP时长。
###
# 自定义一个监禁(jail)
###
[sshd]
# 创建一个监禁并设置项目的名字。
# 如果没有具体配置某一项,则自动引用默认配置。
乐在分享!~~