好吧,我很困惑...为什么 fail2ban 在我的 ubuntu 电脑上运行良好,但在我的 aws bitnami 堆栈上却找不到 error_log 文件。好像它讨厌 bitnami 将错误日志放在非标准位置。access_log 没有问题 fail2ban 运行良好,但当我尝试使用 error_log 的任何东西时,我收到错误“未找到任何日志文件”,我显然可以验证我的 error_log 文件确实存在。我每天都会查看它。发生了什么事??有没有人遇到过 fail2ban:
logpath = /opt/bitnami/apache/logs/access_log <-- 有效!
logpath = /opt/bitnami/apache/logs/error_log <-- 不起作用??
logpath = /opt/bitnami/apache2/logs/error_log <-- 不起作用??
怎么回事?现在我刚刚删除了观察 error_log 文件的 jail,这样我就可以保持服务器正常运行。有什么想法、意见或问题吗?如果我弄明白了,我会告诉你们。谢谢大家的帮助 :)
答案1
您需要在 Fail2ban 中使用的 jail 的配置文件中更新 error_log 文件的路径。
默认情况下,Fail2ban 的配置文件存储在 /etc/fail2ban 中。您可以通过查看 jail.d 目录来找到您正在使用的 jail 的配置文件。例如,如果您使用的是 ssh jail,则配置文件位于 /etc/fail2ban/jail.d/sshd.conf。
在配置文件中,您需要找到 logpath 选项并更新它以指向 AWS Bitnami 堆栈上 error_log 文件的正确路径。
更新配置文件后,您需要重新启动 Fail2ban 以使更改生效。您可以运行以下命令执行此操作:
sudo service fail2ban restart
。 。
似乎您已经知道 error_log 的路径,但万一不知道或者对于其他读者来说,请参见下文。
要确定 AWS Bitnami 堆栈上 error_log 文件的正确路径,您可以尝试以下步骤:
- 使用 SSH 连接到您的 AWS Bitnami 堆栈。
- 使用locate命令搜索error_log文件。locate命令使用文件位置数据库来快速查找系统上的文件。例如,您可以尝试运行locate error_log。这将返回系统上文件名中包含“error_log”的所有文件的列表。
- 使用locate命令找到error_log文件后,可以使用pwd命令打印文件的完整路径。例如,如果error_log文件位于/opt/bitnami/apache2/logs/error_log,则可以运行pwd /opt/bitnami/apache2/logs/error_log来打印完整路径。
- 使用 error_log 文件的完整路径作为 Fail2ban 配置文件中 logpath 选项的值。