我正在尝试一个积极的防火墙,并用iptables阻止世界其他地方。 所以,我已经设置INPUT链默认DROP,允许特定的IP应该有访问权限。
基本上,
iptables -P INPUT DROP iptables -I INPUT -s XXX.XXX.XXX.XXX -j ACCEPT
但是,我将不得不启用连接下载,更新等。据我所知,这可以通过接受ESTABLISHED,RELATED连接通过状态或conntrack模块来完成。 说,
iptables -A INPUT -m状态 - 状态ESTABLISHED,RELATED -j ACCEPT # - -要么 - - iptables -A INPUT -m conntrack -ctstate ESTABLISHED,RELATED -j ACCEPT
在这一点上,我想知道是否有另外一种方式来获得连接(如下载),而不使用像state或conntrack这样的复杂模块。 如果可能的话,我喜欢坚持使用基本的iptables的东西,以避免在可能的攻击过程中变得混乱。
欣赏一些想法/投入。 谢谢!
将input链设置为DROP 并不会破坏任何东西,您仍可以更新系统(这是一个OUTPUT连接)并允许文件下载(只需打开与提供该文件的服务相关的端口)即可。
DROP意味着stream量将被丢弃, 除非有一个规则说明别的东西。 另外,使用conntrack模块是pipe理你的iptables规则的一个非常标准的方法。
如果您的防火墙的目的是仅接受来自已知IP /范围组的stream量,并且您希望避免在该组发生更改时编辑您的规则,则可以使用ipset 。