这是命令 jail.conf0 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
jail.conf - fail2ban 服务器的配置
概要
失败2ban.conf 失败2ban.d/*.conf 失败2ban.local 失败2ban.d/*.local
监狱配置文件 监狱.d/*.conf jail.local 监狱.d/*.local
动作.d/*.conf 动作.d/*.local 动作.d/*.py
过滤器.d/*.conf 过滤器.d/*.local
商品描述
Fail2ban 有四种配置文件类型:
失败2ban.conf
Fail2Ban 全局配置(如日志记录)
过滤器.d/*.conf
指定如何检测身份验证失败的过滤器
动作.d/*.conf
定义禁止和取消禁止 IP 地址命令的操作
监狱配置文件
Jails 定义了过滤器和动作的组合。
配置 FILES FORMAT
*.conf 文件由 Fail2Ban 分发。 建议 *.conf 文件应该
保持不变以简化升级。 如果需要,应在
*。当地的 文件。 例如,如果您想启用 [ssh-iptables-ipset] jail
在 jail.conf 中指定,创建 jail.local 包含
jail.local
[ssh-iptables-ipset]
启用=真
在 .local 文件中仅指定您想要更改的设置,其余的
然后配置将来自相应的 .conf 文件,该文件首先被解析。
监狱.d/ 和 失败2ban.d/
除了 .local,jail.conf 或 fail2ban.conf 文件可以有
相应 .d/ 包含其他 .conf 文件的目录。 订单例如
监狱 配置将是:
监狱配置文件
jail.d/*.conf(按字母顺序)
jail.local
jail.d/*.local(按字母顺序)。
即所有 .local 文件都在原始配置中的 .conf 文件之后解析
.d 目录下的文件和文件。 稍后解析的文件中的设置
优先于先前解析的文件中的相同条目。 文件已排序
按字母顺序,例如
fail2ban.d/01_custom_log.conf - 使用不同的日志路径
监狱.d/01_enable.conf - 启用特定的监狱
监狱.d/02_custom_port.conf - 更改监狱的端口。
配置文件有部分,那些用 [section name] 指定的部分和 name = value
对。 对于那些可以接受多个值的名称项,指定分隔的值
由空格,或在单独的行中在行首缩进
第二个值。
配置文件可以包括其他(定义公共变量)配置文件,
这通常用于过滤器和操作。 此类包含在一节中定义
称为[包括]:
before 表示在当前文件之前解析指定的文件。
after 表示在当前文件之后解析指定的文件。
使用 Python 的“字符串插值”机制,允许其他定义并且可以
稍后在其他定义中用作 %(name)s。 例如。
baduseragents = IE|wget
failregex = useragent=%(baduseragents)s
注释:使用“#”作为注释行,“;” '(空格很重要)用于内联注释。
当使用 Python2.X '; ' 由于 Python 库错误,只能在第一行使用。
禁止失败 配置 文件 (失败2ban.conf)
这些文件有一个部分,[定义]。
可以设置的项目有:
日志级别
日志输出的详细级别:CRITICAL、ERROR、WARNING、NOTICE、INFO、DEBUG。
默认值:错误
日志目标
日志目标:文件名、SYSLOG、STDERR 或 STDOUT。 默认值: STDERR 。 只有一个日志
可以指定目标。 如果您从默认值更改 logtarget 并且您
正在使用 logrotate -- 还调整或禁用相应的旋转
配置文件(例如,Debian 系统上的 /etc/logrotate.d/fail2ban)。
插座 套接字文件名。 默认值: /var/run/fail2ban/fail2ban.sock 。 这用于
与 fail2ban 服务器守护进程通信。 请勿删除此文件
Fail2ban 正在运行。 将无法与服务器通信
之后。
pid文件
PID 文件名。 默认值:/var/run/fail2ban/fail2ban.pid。 这用于存储
fail2ban 服务器的进程 ID。
数据库文件 数据库文件名。 默认值:/var/lib/fail2ban/fail2ban.sqlite3 这定义了哪里
存储fail2ban 的持久数据。 这种持久性数据允许禁止
当fail2ban时恢复并从上次读取位置继续读取日志文件
重新启动。 一个值 没有 禁用此功能。
数据库清除
数据库清除时间(以秒为单位)。 默认值:86400(24 小时)这将设置年龄
应从数据库中清除禁令。
监狱 配置 文件 (监狱配置文件)
以下选项适用于任何监狱。 它们出现在指定
监狱名称或在 [默认] 如果不使用,则定义要使用的默认值的部分
在个别部分中指定。
过滤 过滤器名称 -- /etc/fail2ban/filter.d/ 中过滤器的文件名,不带
.conf/.local 扩展名。 只能指定一个过滤器。
日志路径
要监视的日志文件的文件名,以新行分隔。 球体——
包含 * 和 ? 或 [0-9] -- 可以使用但是只有存在的文件
在启动时将考虑匹配此 glob 模式。
可选的空格分隔选项 'tail' 可以添加到路径的末尾以导致
要从末尾读取的日志文件,否则默认的 'head' 选项将从中读取文件
一开始
确保 syslog 或生成日志文件的程序未配置为
将重复的日志消息压缩为“*最后的 消息 重复 5 时间*秒"否则它
将无法检测。 这就是所谓的 重复消息减少 在 rsyslog 中,应该是
关闭.
登录编码
用于解码的日志文件的编码。 “自动”的默认值使用当前
系统区域设置。
行动 来自 /etc/fail2ban/action.d/ 没有 .conf/。本地 延期。
可以将参数传递给操作以覆盖 [Init] 中的默认值
操作文件中的部分。 参数由以下指定:
[name=value,name2=value,name3="values,values"]
值也可以被引用(当值包含“,”时需要)。 不止一个
可以指定操作(在单独的行中)。
忽略ip
不禁止的 IP 列表。 它们也可以包含 CIDR 掩码。
忽略命令
执行的命令以确定当前的候选 IP 是否为禁止
不应该被禁止。 如果命令返回成功,IP 不会被禁止(退出
代码 0)。 像动作文件一样,标签像都可以包含在
忽略命令值并将在执行前被替换。 目前仅
支持,但稍后会添加更多。
班时间
有效禁止持续时间(以秒为单位)。
找时间
故障计数的当前时间之前的时间间隔(以秒为单位)
走向禁令。
最大重试
上次必须发生的故障数 找时间 秒禁然后IP。
后端
后端用于检测日志路径中的更改。 它默认为“自动”,即
将在“轮询”之前尝试“pyinotify”、“gamin”、“systemd”。 其中任何一个都可以
指定的。 “pyinotify”仅在带有“pyinotify”Python 的 Linux 系统上有效
图书馆。 “gamin”需要“gamin”库。
使用过的 使用 DNS 解析出现在日志中的 HOST 名称。 默认情况下它是“警告”
这会将主机名解析为 IP,但它也会记录警告。 如果你是
在这里使用 DNS 您可能会因为不对称的特性而阻止错误的 IP
反向 DNS(用于将域名写入日志的应用程序)与
fail2ban 用于将其解析回 IP 的转发 DNS(但不一定
同一个)。 理想情况下,您应该将应用程序配置为记录真实 IP。
这可以设置为“是”以防止日志中出现警告或“否”以禁用 DNS
完全解析(因此忽略记录主机名而不是 IP 的条目)。
正则表达式失败
正则表达式(Python 章乌拉尔 expression) 添加到过滤器的失败正则表达式中。 如果这
对使用您的应用程序的其他人很有用,请分享您的正则表达式
通过报告问题与fail2ban 开发人员联系(请参阅下面的报告错误)。
忽略正则表达式
正则表达式,如果日志行匹配,将导致 Fail2Ban 不考虑该行。
即使此行与 jail 或其任何一个失败正则表达式匹配,也将被忽略
过滤器。
后端
下面列出了可用的选项。
pyinotify
需要安装 pyinotify(文件更改监视器)。 如果 pyinotify 不是
安装后,Fail2ban 将使用自动。
孩子 需要安装 Gamin(文件更改监视器)。 如果 Gamin 不是
安装后,Fail2ban 将使用自动。
轮询
使用不需要外部库的轮询算法。
systemd
使用 systemd python 库访问 systemd 日志。 指定 日志路径 is
对此后端无效,而是利用 期刊比赛 来自监狱
关联的过滤器配置。
行动
每个 jail 只能配置一个过滤器,但可能有多个操作。 经过
默认情况下,动作的名称是动作文件名,在 Python 动作的情况下,
“.py”文件扩展名被剥离。 如果要使用多个相同的动作,
此 名称 可以将选项分配给操作以避免重复,例如:
[ssh-iptables-ipset]
启用=真
动作 = smtp.py[dest=[电子邮件保护], actname=smtp-克里斯]
smtp.py[目标=[电子邮件保护], actname=smtp-sally]
活动正式启动 配置 FILES (动作.d/*.conf)
操作文件指定执行哪些命令来禁止和取消禁止 IP 地址。
与 jail.conf 文件一样,如果您希望进行本地更改,请创建一个 [动作名称].local 文件
,在 /etc/fail2ban/action.d 目录并覆盖所需的设置。
动作文件有两个部分, 定义 和 在里面 .
[Init] 部分启用特定于操作的设置。 在 监狱.conf/jail.local 这些可以是
为特定监狱覆盖作为该监狱中动作规范的选项。
以下命令可以出现在 [Definition] 部分。
行动开始
监狱启动时执行的命令。
动作停止
监狱停止时执行的命令。
动作检查
命令在任何其他操作之前运行。 它旨在验证环境是否
还可以。
行动禁令
之后禁止 IP 地址的命令 最大重试 日志行在最后匹配
找时间 秒。
禁止行动
在之后解除 IP 地址的命令 班时间.
[Init] 部分允许进行特定于操作的设置。 在 监狱.conf/jail.local 这些可以
被特定监狱覆盖,作为监狱的选项。 以下是特别的
可以在 [Init] 部分设置的标签:
超时
命令在被执行之前可以执行的最长时间(以秒为单位)
被杀。
[Definition] 部分中指定的命令是通过系统 shell 执行的,因此
允许 shell 重定向和进程控制。 命令应该返回 0,否则
错误将被记录。 此外如果 动作检查 以非 0 状态退出,视为
表明防火墙状态已更改,fail2ban 需要重新初始化自身
(即问题 动作停止 和 行动开始 命令)。 标签包含在 <> 中。 一切
[Init] 的元素是在所有动作命令中替换的标签。 可以添加标签
由 fail2ban 客户端 使用“集行动“ 命令。 是一个标签
总是一个新行 (\n)。
允许指定多个命令。 每个命令都需要在
单独的行并用空格缩进,没有空行。 下面的例子
定义了两个要执行的命令。
actionban = iptables -I fail2ban- - 来源-j 删除
回声ip= , 匹配 = ,时间= >> /var/log/fail2ban.log
操作 标签
以下标签在 actionban、actionunban 和 actioncheck 中被替换(当
在 actionban/actionunban) 命令之前调用。
ip 要禁止的 IPv4 IP 地址。 例如 192.168.0.2
失败
日志文件中发生故障的次数。 例如 3
ip失败
按照 失败,但所有监狱中该IP地址的所有失败总数
来自fail2ban 持久数据库。 因此必须为此设置数据库
标记以发挥作用。
ipjail失败
按照 ip失败,但总数基于当前监狱的 IP 失败。
次 UNIX(纪元)时间的禁令。 例如 1357508484
火柴
生成禁令的匹配的日志文件行的串联字符串。
shell 解释的许多字符都会被转义以防止注入,但是
谨慎使用。
匹配项
按照 火柴,但包括 IP 中包含的所有行
fail2ban 持久数据库。 因此,必须将此标记的数据库设置为
功能。
ipjail匹配
按照 匹配项,但匹配仅限于 IP 和当前监狱。
蟒蛇 活动正式启动 FILES
也可以使用基于 Python 的操作,其中文件名必须是 [动作名称].py。 该
Python 文件必须包含一个变量 操作 它指向 Python 类。 这个类必须
实现一个最小的接口,如所描述的 fail2ban.server.action.ActionBase,这可以
继承自以简化实施。
FILTER FILES (过滤器.d/*.conf)
过滤器定义是那些 /etc/fail2ban/filter.d/*.conf 和 过滤器.d/*.local.
这些用于识别日志文件中失败的身份验证尝试并提取
主机 IP 地址(或主机名,如果 使用过的 is true).
与动作文件一样,过滤器文件是 ini 文件。 主要部分是[定义]
部分。
[Definition] 部分使用了两个过滤器定义:
正则表达式失败
是正则表达式(章乌拉尔 expression) 将匹配失败的尝试。 标签
用作正则表达式的一部分,它本身就是 IPv4 地址的正则表达式(和
主机名如果 使用过的)。 Fail2Ban 将计算出它实际上是其中的哪一个。
对于多行正则表达式标签 应该用于分隔线。 这个
允许匹配行之间的行继续搜索其他
失败。 标签可以多次使用。
忽略正则表达式
是标识应该被 Fail2Ban 忽略的日志条目的正则表达式,即使
他们匹配failregex。
与动作类似,过滤器有一个 [Init] 部分,可以在
监狱.conf/jail.local. 过滤器 [Init] 部分仅限于以下选项:
最大线
指定要缓冲以匹配多行正则表达式的最大行数。 为了
某些日志格式不需要更改。 其他日志可能需要
如果频繁写入特定日志文件,请增加此值。
日期模式
指定自定义日期模式/正则表达式作为默认日期的替代
检测器,例如 %Y-%m-%d %H:%M(?::%S)?。 有关有效格式指令的列表,请参阅
strptime 行为的 Python 库文档。
此外,特殊值 时代 (UNIX 时间戳), 泰64N 和 ISO8601 可以使用。
注意: 由于配置文件字符串替换,该 % 必须由 % 转义
配置文件。
期刊比赛
指定用于过滤日志条目的 systemd 日志匹配。 看
日记(1) 和 systemd.journal 字段(7) 匹配语法和更多细节
特殊期刊领域。 此选项仅适用于 systemd 后端。
过滤器也可以有一个名为 [INCLUDES] 的部分。 这是用来阅读其他
配置文件。
before 表示在 [Definition] 部分之前读取此文件。
after 表示在 [Definition] 部分之后读取此文件。
使用 onworks.net 服务在线使用 jail.conf0