在CentOS 7上运行fail2ban,并得到“ssh连接被拒绝”

有人在CentOS 7上成功运行fail2ban ,可以告诉我怎么做吗?

我试着用yum install fail2ban来安装fail2ban并运行它( iptables -L中没有额外的规则,根据我在网上find的,这看起来很奇怪)。

只要我重新启动服务器,我无法通过SSHlogin作为根或其他用户。 扫描时端口不可见,当然我在尝试连接时遇到这个错误:

 ssh: connect to host XXX.XXX.XXX.XXX port 12321: Connection refused 

我改变了SSH端口,但我也尝试了端口22没有运气。

我想知道是否有人知道解决这个问题?

它必须是fail2ban一个问题,因为我没有安装任何其他的东西。


更新我可以在重新启动后通过SSHlogin。 但没有提供HTML页面。 iptables -L输出:

链INPUT(策略ACCEPT)目标protselect源
目的地f2b-sshd tcp – 任何地方任何地方多端口dport ssh接受所有 – 任何地方任何地方ctstate RELATED,ESTABLISHED接受所有 – 任何地方
任何地方INPUT_direct全部 – 任何地方
任何地方INPUT_ZONES_SOURCE全部 – 任何地方
任何地方INPUT_ZONES全部 – 任何地方
随时随地接受icmp – 任何地方都可以拒绝任何地方
拒绝 – 与icmp主机禁止

链FORWARD(政策接受)目标保护select来源
目的地接受所有 – 任何地方ctstate RELATED,build立接受所有 – 任何地方
任何地方FORWARD_direct全部 – 任何地方
任何地方FORWARD_IN_ZONES_SOURCE全部 – 任何地方
随时随地FORWARD_IN_ZONES随时随地
任何地方FORWARD_OUT_ZONES_SOURCE – 任何地方
随时随地FORWARD_OUT_ZONES随处可见
随时随地接受icmp – 任何地方都可以拒绝任何地方
拒绝 – 与icmp主机禁止

链OUTPUT(策略ACCEPT)目标protselect源
目的地OUTPUT_direct全部 – 任何地方
随地

链FORWARD_IN_ZONES(1引用)目标protselect源
目的地FWDI_public所有 – 任何地方
任何地方[转到] FWDI_public所有 – 任何地方
任何地方[goto]

链FORWARD_IN_ZONES_SOURCE(1个引用)目标protselect源目的地

链FORWARD_OUT_ZONES(1引用)目标protselect源
目的地FWDO_public所有 – 任何地方
任何地方[转到] FWDO_public所有 – 任何地方
任何地方[goto]

链FORWARD_OUT_ZONES_SOURCE(1个引用)目标protselect源目的地

链FORWARD_direct(1引用)目标protselect源
目的地

链FWDI_public(2引用)目标protselect源
目的地FWDI_public_log全部 – 任何地方
任何地方FWDI_public_deny任何地方
任何地方FWDI_public_allow都可以 – 任何地方
随地

链FWDI_public_allow(1引用)目标protselect源
目的地

链FWDI_public_deny(1引用)目标protselect源
目的地

链FWDI_public_log(1引用)目标protselect源
目的地

链FWDO_public(2引用)目标protselect源
目的地FWDO_public_log全部 – 任何地方
随时随地FWDO_public_deny
任何地方FWDO_public_allow都可以
随地

链FWDO_public_allow(1引用)目标protselect源
目的地

链FWDO_public_deny(1引用)目标protselect源
目的地

链FWDO_public_log(1引用)目标protselect源
目的地

链INPUT_ZONES(1引用)目标protselect源
目的地IN_public所有 – 任何地方任何地方[转到] IN_public所有 – 任何地方的任何地方
[去]

链INPUT_ZONES_SOURCE(1引用)目标protselect源
目的地

链INPUT_direct(1引用)目标protselect源
目的地

连锁IN_public(2引用)目标protselect源
目的地IN_public_log全部 – 任何地方
随时随地在任何地方IN_public_deny
任何地方都可以在任何地方使用IN_public_allow
随地

链IN_public_allow(1引用)目标protselect源
目的地ACCEPT tcp – 任何地方任何地方tcp dpt:ssh ctstate新

链IN_public_deny(1引用)目标protselect源
目的地

链IN_public_log(1引用)目标protselect源
目的地

链OUTPUT_direct(1引用)目标protselect源
目的地

链f2b-sshd(1引用)目标protselect源
目的地返回所有 – 任何地方任何地方

我安装了大约20台CentOS 7服务器,其中fail2ban开箱即用,默认configuration非常开放,所以只有在5次login尝试失败后才会出现“连接被拒绝”的情况。

CentOS 7现在使用了firewalld ,但是默认情况下,ssh(22)的规则是build立的。 如果你改变了sshd_config的ssh端口,你还必须调整firewalld-rule,即:

  firewall-cmd --zone=public --add-port=12321/tcp --permanent 

请记住在更改configuration后运行firewall-cmd --reload

更好的方法是用一个新的CentOS重新安装testing,安装fail2ban ,重新启动,我看不到任何原因,为什么你不能login,如果它以前工作(确保eth0启动,并有一个IP地址!往往会忘记安装时的“自动连接”)