fail2ban的配置主要由基础配置(fail2ban.conf)和监禁配置(jail.conf)两部分组成。
fail2ban的配置采用标签块"[块名]"和键值"key=value"的形式描述配置。
在fail2ban配置中可以使用"#"来注释行,可以写入一行关于配置的描述信息。
配置块 - [INCLUDES]
在fail2ban的配置中,"[INCLUDES]"配置块是公共的,它主要用于在当前配置文件中关联其他配置文件,它主要由"after"和"before"两个配置选项组成,"after"表示在在加载当前文件中的配置项之后再加载指定的另一个文件中的配置内容,"before"表示在加载当前文件中的配置项之前加载指定的另一个文件中的配置内容。
基础配置(fail2ban.conf)
fail2ban.conf主要是"[Definition]"配置块下进行配置,配置Fail2ban服务端的常规配置项,这是特定的配置。
监禁配置(jail.conf)
jail.conf主要由默认的监禁配置"[DEFAULT]"和自定义的监禁配置"[自定义监禁名称]"两部分组成。
"[DEFAULT]"中定义的配置项将是在所有监禁(jail)中生效的全局配置项,如果"[自定义监禁名称]"的配置项覆盖了"[DEFAULT]"中定义的配置项则以"[自定义监禁名称]"中的配置有效,即局部优先于全局,如果全局配置中未定义则局部自动引用全局的配置。
在fail2ban的配置中每个配置项都是一个变量,可使用"%(变量)s"的方式在其他位置调用。
过滤器配置(filter)
filter主要由"[Definition]"定义过滤器和"[Init]"初始化过滤器两个配置块组成。
在"[Definition]"中"failregex"配置项用于使用正则表达式定义要从日志中匹配到要禁止主机的IP地址,在正则表达式中使用关键字"
"[Init]"配置块用于初始化过滤器,即定义关于过滤器的一些固定配置项,常见的有"maxlines"和"journalmatch","maxlines"定义过滤器每次从日志中读取的日志行最大数量;"journalmatch"定义当Fail2ban使用"backend=systemd"后端文件监视器时,从指定的系统服务的journal日志中匹配要禁止的主机IP。
动作配置(action)
action主要由"[Definition]"定义动作和"[Init]"初始化动作两个配置块组成。
在动作(action)配置项中可以使用"<关键字>"的方式定义要执行动作的参数。例如:"actionstart =
在动作中"