我在我们的一台服务器上安装了 Fedora 并安装fail2ban
在上面。在 中jail.conf
,我添加了以下文本,但iptables -L
仍然不会显示fail2ban-ssh。我错过了什么吗?
文本添加到jail.conf
:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
iptables-L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
更新
当前文件:
更改为 sshd.conf 会出现以下错误:
2018-02-22 08:45:14,029 fail2ban.actions [10124]: ERROR Failed to start jail 'ssh' action 'firewallcmd-ipset': Error starting action
答案1
您的默认禁令配置错误。以下是我尝试修复它的方法:
编辑
/etc/fail2ban/jail.conf
文件并更改行banaction = firewallcmd-ipset
到
banaction = iptables-allports
如果你重新加载你的fail2ban-client,它现在应该可以正确启动,但是......
由于我建议根本不要更改默认的 Jail.conf 文件,因此我会创建一个单独的 Jail.local 配置文件并在其中添加自定义选项。
编辑
/etc/fail2ban/jail.conf
文件并删除手动添加的 [ssh] 监狱部分。创建单独的配置文件
/etc/fail2ban/jail.local
并在此文件中添加:[DEFAULT] banaction = iptables-allports [sshd] enabled = true
就是这样。这将设置正确的banaction并激活默认的sshd监狱(如jail.conf中所示)。这个 sshd 监狱将查找过滤器文件,
/etc/fail2ban/filter.d/sshd.conf
因为我们没有指定任何其他过滤器文件。而且,只要您没有任何特殊配置,默认的 sshd.conf 过滤器文件就应该可以正常工作。
答案2
首先检查您的fail2ban 服务是否正在运行。如果是,请检查filter.d 目录中是否有过滤器ssh.conf。
您可以在fail2ban.conf中激活fail2ban的日志:loglevel = DEBUG logtarget = path_to_log
编辑后重新启动fail2ban。而且总有可饮用性,没有任何东西被禁止,因为没有人尝试以错误的权限访问超过 6 次。
答案3
恢复一个旧线程说我自己也遇到了这个。 Fail2ban 似乎已经切换到即时机制,在 IP 被禁止之前它不会创建链和跳转规则。
手动禁止 IP ( fail2ban-client set recidive banip 1.2.3.4
),并且该链以及跳转规则会添加到 iptables 中。