如何删除 Ubuntu 中的所有 fail2ban 禁令?我尝试了一切,但我不明白。
我只想删除所有禁令 - 但我不知道任何 IP 地址。
我正在使用 @GarethTheRed 对这个问题的回答在远程 CentOS 7 服务器上安装 fail2ban。我能够完成所有步骤,直到tail -f /var/log/fail2ban.log,此时我得到的结果与他在回答中得到的结果不同。
这是我在这一步得到的结果:
[root@remotecentosserver.com ~]# tail -f /var/log/fail2ban.log
2014-12-02 16:55:53,548 fail2ban.server.server[6667]: INFO Changed logging target to /var/log/fail2ban.log for Fail2ban v0.9.0
2014-12-02 16:55:53,550 fail2ban.server.database[6667]: INFO Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3'
2014-12-02 16:55:54,239 fail2ban.server.database[6667]: WARNING New database created. Version '2'
Run Code Online (Sandbox Code Playgroud)
在最后一行之后,我只得到一个光标,但没有命令提示符,除非我输入Ctrl-C.
当我输入时systemctl status fail2ban,它告诉我它fail2ban处于活动状态。当我退出系统并稍后重新登录时,sshd告诉我自上次登录以来有很多登录尝试失败。所以应该有fail2ban日志。但我似乎无法找到它们。
有人可以告诉我如何设置此设置以便fail2ban生成我可以跟踪的日志吗?
我已经安装fail2ban在 Debian Jessie LXC 容器上,目前它失败的原因是:
Starting authentication failure monitor: fail2ban
ERROR No file(s) found for glob /var/log/auth.log
ERROR Failed during configuration: Have not found any log file for ssh jail
Run Code Online (Sandbox Code Playgroud)
系统上没有syslogor rsyslog,因此/var/log/auth.log不会生成。有没有办法如何告诉fail2ban使用输出journalctl _COMM=sshd?
我在 FreeBSD 上使用带有 ipfw 的 fail2ban。有没有办法忽略特定的 IP 地址,确保 fail2ban 永远不会阻止或报告它?
我知道如何使用fail2ban 以及如何配置jail,但我对它的实际工作方式并不满意。
问题是,有一个特别的监狱选项激起了我的好奇心:findtime.
当我配置过滤器时,需要使用HOST关键字(匹配IP地址),以便fail2ban可以知道IP进行比较并在必要时禁止。好吧。
但是时间没有这样的东西:fail2ban 无法知道将一行添加到日志文件的确切时间,因为没有TIME关键字,对吧?实际上,它可以扫描文件而无需任何时间,它仍然可以工作。
我猜这意味着fail2ban 正在定期扫描文件:它在内部设置了一个扫描时间,因此它可以findtime通过比较自己的扫描日期来处理选项。
首先,我说得对吗?如果是,扫描频率是多少?如果要经常扫描的大日志文件很多,这不是瓶颈吗?
那么,如果扫描频率优于findtime选项会发生什么?这是否意味着fail2ban适应findtime它发现的设置其最小扫描频率的最小选项?
我服务器上的 fail2ban 数据库非常大(420MB)。
fail2ban 日志非常繁忙(每两秒有一个“过滤器”条目)但iptables只显示了几个被禁止的地址。
dbpurgeage 为 86400 秒(24 小时)
这个大小与活动一致还是有什么事情发生?
我假设如果我停止/擦除数据库/启动我会恢复到合理的大小,但这不会使主动禁令永久化吗?
Fail2Ban 在我的系统上使用了大量内存 (1.2 GB)。有几篇文章描述了如何减少它。以下是 Debian 的示例。
/etc/default/fail2ban文件中。在最后一行添加(到文件):
ulimit -s 256
Run Code Online (Sandbox Code Playgroud)不幸的是,CentOS 7 上没有这样的文件或目录。如何在我的系统上应用它?
经过一些提示后,我的 Fail2Ban Systemd 文件是
[Unit]
Description=Fail2ban Service
[Service]
Type=forking
ExecStart=/usr/bin/fail2ban-client -x start
ExecStop=/usr/bin/fail2ban-client stop
ExecReload=/usr/bin/fail2ban-client reload
PIDFile=/var/run/fail2ban/fail2ban.pid
Restart=always
LimitSTACK=256`
Run Code Online (Sandbox Code Playgroud)
不幸的是,结果仍然是 1251888 KB。
我正在尝试使用正则表达式自己构建过滤器。这是我想过滤的一行,例如:
Aug 30 11:07:38 *** postfix/smtpd[17969]: connect from vps10685425.123-vps.co.uk[46.32.239.160]
Run Code Online (Sandbox Code Playgroud)
这是我目前的正则表达式:
^%(__prefix_line).*:.*connect from.*\[<HOST>\].*$
^%(__prefix_line)s\w{14}:.*connect from[-._\w]+\[<HOST>\].*$
Run Code Online (Sandbox Code Playgroud)
两行都告诉我
server.failregex.RegexException: No 'host' group in '/etc/fail2ban/filter.d/smtp-auth.conf'
Run Code Online (Sandbox Code Playgroud)
为什么fail2ban 无法识别我的正则表达式中的主机组?我在这里做错了什么?
提前致谢 :)
我有一个运行良好的 fail2ban 实例。
但我也喜欢偶尔手动检查日志并尝试识别围绕我的标准 f2b 定义工作的系统探测器。
我正在寻找的是如何定义一个可以持续很长时间的监狱,我可以在这样的命令中手动使用它:
fail2ban-client set $JAIL banip $IP
Run Code Online (Sandbox Code Playgroud)
有人可以给我在配置文件中指定一个不是从日志文件真正触发的自定义监狱的语法(或者它可能是一个标准监狱,它有一些可能不会使其实际触发的条件),我可以在手动声明?我想要做的是有更长的禁止时间来手动禁止我在查看日志时识别的个人。
如何排除无关紧要的\xc2\xb9 失败的 SSH 登录?
\n\n为了环境意识,我喜欢在我管理的每个 GNU/Linux 机器上有一些小背景窗口来显示系统错误日志。我以前使用 xconsole 执行此操作,但现在使用 xterm running journalctl -f。
不幸的是,在需要服务的机器上ssh,journalctl 日志是来自破解者尝试使用常用名称/密码列表 ssh 的持续混乱流。\xc2\xb2 我看到每秒滚动的失败帐户甚至不存在。这使得我很难在控制台日志中看到任何其他内容。
我对 systemd 的了解还不及我应有的一半,所以可能有一个巧妙、简单的答案,但我还没有找到。\xc2\xb3 欢迎任何解决方案。我怀疑这会涉及到 pam、journalctl 和/或grep -v.
我正在寻找一种解决方案,该解决方案仍会向我显示针对现有帐户的尝试。但是,如果这太困难,我将接受隐藏所有失败登录尝试的答案。
\n\n请勿显示以下内容:
\n\nDec 12 17:19:21 gaia sshd[10146]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=139.59.90.40 user=root\nDec 12 17:19:21 gaia sshd[10148]: Invalid user git from 14.29.201.30\nDec 12 17:19:21 gaia sshd[10148]: input_userauth_request: invalid user git [preauth]\nDec …Run Code Online (Sandbox Code Playgroud)