我在 /var/log/fail2ban.log 中有多个类似以下的实例:
2015-12-27 14:31:21,949 fail2ban.filter [1020]: INFO [sshd] Found ###.###.###.###
Run Code Online (Sandbox Code Playgroud)
(其中 # 替代了多种 IP 地址。)
这个日志条目的确切含义是什么?特别是,Found表示什么?
我在这里和http://www.fail2ban.org搜索了日志文件的解释。如果我错过了这个问题的明显信息来源,我很抱歉 - 请指出正确的方向。
这是 /etc/fail2ban/filter.d/sshd.config 中 FailRegex 的配置:
failregex = ^%(__prefix_line)s(?:error: PAM: )?[aA]uthentication (?:failure|error) for .* from <HOST>( via \S+)?\s*$
^%(__prefix_line)s(?:error: PAM: )?User not known to the underlying authentication module for .* from <HOST>\s*$
^%(__prefix_line)sFailed \S+ for .*? from <HOST>(?: port \d*)?(?: ssh\d*)?(: (ruser .*|(\S+ ID \S+ \(serial \d+\) CA )?\S+ %(__md5hex)s(,$
^%(__prefix_line)sROOT LOGIN REFUSED.* FROM <HOST>\s*$
^%(__prefix_line)s[iI](?:llegal|nvalid) user …Run Code Online (Sandbox Code Playgroud) 我们在面向 Web 的服务器上使用 fail2ban 来阻止反复无法正确验证的 IP 地址。我们的正常禁止时间是一小时;使用recidivefail2ban 示例配置中包含的jail 将已被多次禁止的 IP 阻止一天。
选择一天的阻塞持续时间是为了不会过多地影响动态 IP,特别是考虑到recursivejail 不会阻塞特定端口,而是所有传入连接。但是,我们希望在更长的时间内禁止非常顽固的攻击者。目前,这是通过自定义super-recidive过滤器和监狱实现的。每个被禁止recidive两次的主机都会被这个监狱封锁整整一周(这个 IP 显然不是动态分配的)。
然而,理想情况下,我想将recidive过去(例如一周)禁止的每个 IP 禁止一周,并且在取消禁止后再次被任何监狱禁止。我知道这样的事情必须可以通过failregex包含反向引用的复杂来实现- 但是有没有更优雅的方法来做到这一点?
我有一台在 VPS 上运行的 Debian 10 服务器。我安装的唯一软件是:tinyproxy(http代理)和fail2ban
我已经包含了使用 ss 进行端口扫描的结果
我已将我的具体设置包含在fail2ban jam.local 文件中。
我在下面包含了fail2ban 日志和auth 日志的完整示例。
我不明白fail2ban 是否起作用,即根据fail2ban 所做的IP 表中的条目导致IP 被阻止。
例如:
auth.log 显示了 103.226.138.245 的大量条目,我不明白为什么。
我认为基于 IP 被阻止,恶意用户将无法尝试登录。然而,这些用户似乎确实能够尝试登录。
我的问题:
2024-01-23 10:54:06,466 fail2ban.filter [29045]: INFO [sshd] Found 139.59.92.218 - 2024-01-23 10:54:06
2024-01-23 10:54:06,467 fail2ban.filter [29045]: INFO [sshd] Found 139.59.92.218 - 2024-01-23 10:54:06
2024-01-23 10:54:06,504 fail2ban.actions [29045]: WARNING [sshd] 139.59.92.218 already banned
2024-01-23 10:54:07,171 …Run Code Online (Sandbox Code Playgroud)