如果 IP 连接到端口 22,则阻止该 IP

如果 IP 连接到端口 22,则阻止该 IP

我怎样才能有效地(在谈论防火墙级别时做到快速,并且可以使用许多IP来做到这一点)在给定时间内阻止一个IP地址,例如:一个月,如果它试图以任何方式联系端口22 TCP,所以端口检查,通过连接ssh等等。

iptables我怎样才能用OpenBSD做到这一点pf

主要思想是 SSHD 在非默认端口上运行,通过这种阻止方法,我们可以在不需要任何额外软件的情况下强化我们的保护。

它应该阻止 IP DROP,而不是RFC REJECT

更新:我的意思是它应该自动完成。我不想手动给出每个 IP 地址。

答案1

您可以使用fail2ban或类似的软件,并使用自定义规则来阻止任何尝试连接到端口 22 的 IP 地址。

fail2ban管理自动阻止主机进行不需要的连接(基于各种标准,包括连接尝试次数、特定日志文件中的错误消息、尝试获取特定 URL 或几乎任何您能想到的内容并编写脚本来测试for) 以及此类块的自动过期。

fail2ban适用于大多数/所有 Linux 发行版,主页位于:http://www.fail2ban.org/

答案2

阻止来自 IP 1.2.3.4 的传入请求

以下命令将丢弃来自 IP 地址 1.2.3.4 的任何数据包:

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port {PORT-NUMBER-HERE} -s {IP-ADDRESS-HERE} -j DROP

示例端口 22:

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 22 -s 1.2.3.4 -j DROP

阻止结果

/sbin/iptables -A OUTPUT -i eth0 -p tcp --destination-port {PORT-NUMBER-HERE} -s {IP-ADDRESS-HERE} -j DROP

示例端口 22:

/sbin/iptables -A OUTPUT -i eth0 -p tcp --destination-port 22 -s 1.2.3.4 -j DROP

相关内容