![fail2ban 在 CentOS 7 上运行并出现“ssh 连接被拒绝”](https://linux22.com/image/640852/fail2ban%20%E5%9C%A8%20CentOS%207%20%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%B9%B6%E5%87%BA%E7%8E%B0%E2%80%9Cssh%20%E8%BF%9E%E6%8E%A5%E8%A2%AB%E6%8B%92%E7%BB%9D%E2%80%9D.png)
有人fail2ban
在 CentOS 7 上成功运行并能告诉我怎么做吗?
我尝试安装fail2ban
并运行它(根据我在网上找到的信息,yum install fail2ban
没有额外的规则,这似乎很奇怪)。iptables -L
一旦我重新启动服务器,我就无法通过 ssh 以 root 或其他用户身份登录。扫描时看不到端口,当然,当我尝试连接时会出现此错误:
ssh: connect to host XXX.XXX.XXX.XXX port 12321: Connection refused
我更改了 ssh 端口,但我也尝试使用端口 22,但没有成功。
我想知道是否有人知道解决这个问题的方法?
这肯定是一个问题,fail2ban
因为我没有安装任何其他东西。
更新 重启后我可以通过 ssh 登录。但没有提供 html 页面。输出iptables -L
:
链输入(策略接受)目标协议选择源
目标 f2b-sshd tcp——任何地方任何地方多端口 dports ssh 接受所有——任何地方任何地方 ctstate RELATED,ESTABLISHED 接受所有——任何地方
任何地方 INPUT_direct 所有——任何
地方任何地方 INPUT_ZONES_SOURCE 所有——任何地方
任何地方 INPUT_ZONES 所有——任何地方
任何地方接受 icmp——任何地方任何地方 REJECT 所有——任何地方任何地方
拒绝 icmp-host-prohibited链 FORWARD(策略接受)目标 prot opt 源
目标接受所有 -- 任何地方任何地方 ctstate RELATED,ESTABLISHED 接受所有 -- 任何地方任何
地方 FORWARD_direct 所有 -- 任何
地方任何地方 FORWARD_IN_ZONES_SOURCE 所有 -- 任何地方任何地方 FORWARD_IN_ZONES 所有 -- 任何地方任何地方 FORWARD_OUT_ZONES_SOURCE
所有
-- 任何地方
任何地方 FORWARD_OUT_ZONES 所有 -- 任何地方
任何地方 ACCEPT icmp -- 任何地方任何地方 REJECT 所有 -- 任何地方任何地方
rejection-with icmp-host-prohibited链输出(策略接受)目标 prot opt 源
目标 OUTPUT_direct 全部 -- 任何地方
任何地方链 FORWARD_IN_ZONES (1 个引用) 目标 保护 可选 源
目标 FWDI_public 全部 -- 任何地方 任何
地方 [goto] FWDI_public 全部 -- 任何地方
任何地方 [goto]链 FORWARD_IN_ZONES_SOURCE (1 个引用) 目标 prot opt 源 目标
链 FORWARD_OUT_ZONES (1 个引用) 目标 保护 优化 源
目标 FWDO_public 全部 -- 任意位置
任意位置 [goto] FWDO_public 全部 -- 任意位置 任意
位置 [goto]链 FORWARD_OUT_ZONES_SOURCE (1 个引用) 目标 prot opt 源 目标
链 FORWARD_direct (1 个引用) 目标 prot opt 源
目标链 FWDI_public (2 个引用) 目标 协议 优化 源
目标 FWDI_public_log 全部 -- 任何地方
任何地方 FWDI_public_deny 全部 -- 任何地方
任何地方 FWDI_public_allow 全部 -- 任何
地方 任何地方链 FWDI_public_allow (1 个引用) 目标 保护 可选 源
目标链 FWDI_public_deny (1 个引用) 目标 保护 可选 源
目标链 FWDI_public_log (1 个引用) 目标 保护 可选 源
目标链 FWDO_public (2 个引用) 目标 协议 优化 源
目标 FWDO_public_log 全部 -- 任何地方
任何地方 FWDO_public_deny 全部 -- 任何地方
任何地方 FWDO_public_allow 全部 -- 任何
地方 任何地方链 FWDO_public_allow (1 个引用) 目标 保护 可选 源
目标链 FWDO_public_deny (1 个引用) 目标 保护 可选 源
目标链 FWDO_public_log (1 个引用) 目标 保护 可选 源
目标链 INPUT_ZONES (1 个引用) 目标 prot opt 源
目标 IN_public 全部 -- 任何地方 任何地方 [goto] IN_public 全部 -- 任何地方 任何地方
[goto]链 INPUT_ZONES_SOURCE (1 个引用) 目标 prot opt 源
目标链 INPUT_direct (1 个引用) 目标 prot opt 源
目标链 IN_public (2 个引用) 目标 prot opt 源
目标 IN_public_log 全部 -- 任何地方
任何地方 IN_public_deny 全部 -- 任何地方
任何地方 IN_public_allow 全部 -- 任何
地方 任何地方链 IN_public_allow (1 个引用) 目标 prot opt 源
目标接受 tcp -- 任何地方任何地方 tcp dpt:ssh ctstate NEW链 IN_public_deny (1 引用) 目标 prot opt 源
目标Chain IN_public_log (1 引用) 目标 prot opt 源
目标链 OUTPUT_direct (1 个引用) 目标 prot opt 源
目标链 f2b-sshd (1 个引用) 目标 prot opt 源
目标 返回全部 -- 任意位置 任意位置
答案1
我安装了大约 20 台fail2ban
开箱即用的 CentOS 7 服务器,默认配置非常开放,因此只有在 5 次登录尝试失败后才会出现“连接被拒绝”的情况。
CentOS 7 现在使用firewalld
,但默认设置了 ssh(22) 规则。如果您在 中更改 ssh 端口sshd_config
,则还必须调整防火墙规则,即:
firewall-cmd --zone=public --add-port=12321/tcp --permanent
firewall-cmd --reload
请记住在更改配置后运行。
最好只是重新安装 CentOS 进行测试,安装fail2ban
,重新启动,我看不出有什么理由你不能登录,如果它以前工作正常(确保 eth0 已启动并且有 IP 地址!我往往会在安装时忘记“自动连接”)
答案2
像亚马逊这样的 ISP 都有自己的防火墙。如果您的 ISP 有此服务,您必须在那里打开您的 IP 才能通过。