Gua*_*apo 6 linux iptables rules
我终于设法安装了我的 VM 主机,现在我正在使用 iptables 来创建、测试和学习。
我将以下规则放在规则的开头还是结尾有关系吗?
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
Run Code Online (Sandbox Code Playgroud)
我已经测试过,没有区别,但我想确认一下。
到目前为止我选择的答案: 尽早应用您的政策是个好主意。把它们放在开头。内部流量的 DROP 规则可能会导致问题。
具有以下规则将被视为防火墙故障?
$IPT -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
如果没有这个规则,我需要为我的 ssh 连接添加一个 OUTPUT 规则,例如:
$IPT -A OUTPUT -p tcp --sport 2013 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
答:
经过更多测试并与#iptables@freenode 上的人交谈后,我得出的结论是,使用-m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTINPUT 和 OUPUT 是一个很好的方法,可以帮助您处理很多事情,例如 FTP,这是一个很好的方法,因为除非您打开该给定端口并被接受,否则不会有恶意连接。
这是一个不使用上述内容的正常示例:
$IPT -A INPUT -p tcp --dport 20:21 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 20:21 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
现在这里是使用上面的规则的样子:
$IPT -A INPUT -p tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
这就是您所需要的,因为一旦建立连接,输出将立即跟进,您无需为 ftp-data 端口制定规则。
拥有以下规则有什么不好的地方,您能否举例说明为什么不拥有它,而只是定义您可能需要使用的任何东西?
$IPT -P OUTPUT ACCEPT
Run Code Online (Sandbox Code Playgroud)
到目前为止我选择的答案: 此策略规则允许所有传出流量。作为一项策略,允许一切显然不如只允许明确类型的流量安全。因此,如果安全是您的重中之重,您将需要在输出链上设置 DROP 策略。请注意,您随后必须包含许多规则,以允许将传出流量发送到可能大量的普通事物,例如:DNS、SMTP、IMAP、POP3、HTTP、HTTPS 等。
在下面的上下文中,conntrack 和 state 之间有什么区别?
状态示例:
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
连接示例:
$IPT -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
回答: 在#iptables@freenode 上与人们进行了一些研究谈话后,我得出的结论是我应该从这里开始使用 conntrack。
从技术上讲,conntrack 匹配取代了 - 因此过时了 - 状态匹配。但实际上状态匹配并没有以任何方式过时。
我也很欣赏好的在线 iptables 阅读材料。
您可能需要查看Shorewall文档以了解 iptables 可以做什么。我用它在我的所有 Linux 实例(包括 OpenWRT)上构建防火墙。它为具有 1、2 或 3 个接口的服务器提供了详细记录的示例(默认/基本)配置。
Linux 文档项目也有文档。
| 归档时间: |
|
| 查看次数: |
5929 次 |
| 最近记录: |