用于阻止 IP 地址的 Shell 脚本

用于阻止 IP 地址的 Shell 脚本

是否可以编写一个 shell 脚本来检查 Apache 服务器中的连接,并自动阻止具有大量连接的可疑 IP 地址,并向系统管理员发送邮件。请帮忙。

我也听说过 fail2ban。使用 fail2ban 或 shell 脚本会不会很方便,因为 shell 脚本需要定期运行。有什么意见吗?

答案1

当我读第一段时,我在思考fail2ban

这里最大的问题是检测不良用户。如果您手动执行此操作,请跳过fail2ban并使用sudo ufw deny from 1.2.3.4。这将是永久性的阻止,但您已经成功了。

fail2ban当您的系统(任何服务,包括动态网站)将内容发送到日志(系统日志或特定于服务)时效果最佳。fail2ban然后有一堆要查找的内容,然后如果找到内容该做什么。

例如,我目前雇用了一名fail2banWordpress 插件它会将事件发送到 syslog。fail2ban 检测到三次错误尝试,然后阻止 IP 五分钟。这是一个天才的东西,几乎完全阻止了暴力攻击。我提到这个插件是因为它是一个简单的自定义规则集的一个很好的例子。很容易看出它是如何工作的,并根据自己的需要进行调整。

电子邮件通知非常简单但你可以更进一步电子邮件 nmap 扫描结果。想想看,当你禁止某个用户时(解释原因),可能值得通过 whois 运行 IP,提取滥用电子邮件并自动发送滥用报告。

答案2

fail2ban 将完全按照您所描述的进行操作。

它会检查尝试连接过于频繁的连接。您可以使用 fail2ban 进行一些配置来检查不同的情况,并在特定时间或永久禁止某个 IP 地址。当然,它还可以向您发送邮件报告。

我将它与 logcheck 一起使用,这样可以获得更易读的 fail2ban 消息输出。

答案3

您还可以使用 AIPA (https://aipa.elineo.eu)阻止列入黑名单的 IP,例如 abuseipdb.com、blocklist.de 或 myip.ms

相关内容