ubuntu – 使用fail2ban和libvirt kvm管理iptables的任何非自定义方式?

我有一个运行libvirt / kvm和 fail2ban的Ubuntu 9.04服务器(用于SSH攻击).

libvirt和fail2ban都以不同的方式与iptables集成. Libvirt使用(我认为)一些XML配置并在启动期间(?)配置转发到VM子网. Fail2ban安装自定义链(可能在init)并定期修改它以禁止/取消可能的攻击者.

我还需要安装自己的规则来将各种端口转发到运行在VM和其他机器上的服务器,并设置基本的安全性(例如,除了我想要打开的几个端口之外,丢弃所有的INPUT流量),当然我喜欢能够安全地添加/删除规则而无需重新启动.

在我看来,iptables是一个强大的工具,非常缺乏某种标准化的方式来处理所有这些东西.每个项目和每个系统管理员似乎都采用不同的方式! (而且我认为这里有很多“货物崇拜”管理员,人们克隆原油方法,比如“使用iptables-save就像这样”.)

如果没有弄清楚这些(以及可能的其他)工具如何操纵netfilter表,开发我自己的脚本或只是手动执行iptables命令的详细信息,有没有办法安全地使用iptables而不破坏功能这些其他工具?是否有任何新生标准或项目旨在为这一领域带来理智?即使是我错过的一个有用的网页,至少可以覆盖这两个包?

这真的很旧,但对于搜索和发现它的人来说,fail2ban和许多其他实用程序一样非常易于配置.
你可以改变你的fail2ban动作文件,比如iptables-multiport.conf来调用iptables并以你想要的方式创建链.

例如.

actionstart = iptables -N fail2ban-<name>
          iptables -A fail2ban-<name> -j RETURN
          iptables -I INPUT -p <protocol> -m multiport --dports <port> -j fail2ban-<name>

这会在您的INPUT链中创建一个规则,这种规则很丑陋且难以管理,但您可以很容易地将它放在您控制中的一个链中.您可以创建一个INPUT过滤器,然后将其链接到fail2ban的其他过滤器,以便将所有内容保留在INPUT链中,如下所示.

actionstart = iptables -N fail2ban-<name>
          iptables -A fail2ban-<name> -j RETURN
          iptables -I INPUT-FAIL2BAN -p <protocol> -m multiport --dports <port> -j fail2ban-<name>

libvirt或Xen也是如此,其中有脚本被调用来完成工作.例如,Xen使用/ etc / xen / scripts,你可以找到网络桥和其他调用iptables的脚本.根据需要设计它.最坏的情况是,更改代码.我一个人使用fail2ban修改中央防火墙,所以所有服务器都受到保护,这意味着本地机器上的iptables无论如何都不会显示规则.

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...