Fail2ban自带了很多相关服务日志的过滤器。
###
# 包含配置
###
[INCLUDES]
before = common.conf
# 还包含其他文件中的配置,在加载本配置文件中配置之前先加载"common.conf"文件中的配置。
###
# 定义过滤器
###
[Definition]
_daemon = sshd
# 定义一个变量,用于描述要过滤的服务名称。
failregex = ^%(__prefix_line)s(?:error: PAM: )?[aA]uthentication (?:failure|error) for .* from <HOST>( via S+)?s*$
# 使用正则表达式定义要监禁的主机(登录失败的主机),用"<HOST>"标识主机IP地址部分。
ignoreregex =
# 使用正则表达式定义忽略的主机。
###
# 初始化过滤器
###
[Init]
maxlines = 10
# 设置过滤器每次读取日志的行数,每次读取10行做匹配。
# 过滤器每次从日志中缓冲多少行,进行匹配处理,如果一次读取大量的行,程序会崩溃,系统内存将会不够用。
journalmatch = _SYSTEMD_UNIT=sshd.service + _COMM=sshd
# 当在监禁(jail)的配置中定义要使用的后端监视器是"systemd"时,此项则生效,定义一个服务名,从journa日志
# 中获取IP地址。