如何使用 Apache 创建包含禁令系统的防火墙?

如何使用 Apache 创建包含禁令系统的防火墙?

我有一个暴露在互联网上的家庭服务器,并为朋友托管一些服务,例如 Nextcloud 和 Gitea。但是,我希望通过 IP 禁令将某些人排除在我的网络之外。我如何让虚拟主机位于服务和互联网之间,根据禁令列表检查传入连接,并在检查失败时相应地重定向到用户或应用程序尝试访问的站点?如果检查通过,则向用户显示一个“被禁止”页面,即使我需要为其编写一个 Node.js 应用程序也是更好的选择,但这不是必需的,只需将它们超时即可。

答案1

正如 Gantendo 在他的评论中提到的,fail2ban 正是我所寻找的。谢谢!

我使用的答案是https://stackoverflow.com/a/68209797/在文件中创建永久监狱/etc/fail2ban/jail.d/recidive.conf

[recidive]
enabled = true
logpath = /var/log/fail2ban.log
banaction = %(banaction_allports)s
bantime = -1        ; permanent
findtime = 86400    ; 1 day
maxretry = 6

并使用命令手动添加IP sudo fail2ban-client set recidive banip <IP_ADDRESS>

相关内容