iptables 配置问题

iptables 配置问题

纯粹作为一项学术练习,为了简单地学习,我一直在玩 iptables。到目前为止,我花了几天时间研究它,我认为我现在对它的工作原理有了很好的理解。我一开始只更改 INPUT 链上的设置,现在我可以接受/拒绝几乎所有我需要的东西。例如 ssh 访问。

然后我开始“玩”OUTPUT 链,虽然我认为我明白我在做什么,但我肯定在某个地方遗漏了一些东西。以下是我正在尝试做的事情(只是作为学习练习)。

阻止所有传入请求,阻止所有传出请求,然后手动逐个启用它们。我想用 http web 访问来测试它,但我无法让它工作。

我正在使用 webmin 来配置 iptables,但我也乐意使用 shell。

INPUT 链:默认为阻止。启用到目标端口 80 的 TCP 以建立新连接和已建立连接。启用到目标端口 53 的 TCP 以建立新连接和已建立连接。

输出链:默认为阻止。启用来自源端口 80 的 TCP 以建立新连接。启用来自源端口 53 的 TCP 以建立新连接。

我是这么想的,只要我发起连接,我就可以浏览互联网(我知道不是 HTTPS)。

正如我所说,我只是想更多地了解 iptables 和网络流量。

欢迎任何指出我做错的事情的指示。

PS:我是一个 Windows 皈依者...请温柔一点!

答案1

首先,在我看来,你永远不应该将默认策略设置为 DROP 或 REJECT。这是因为如果你刷新 iptables,你将被锁定(请注意,我从来没有把自己锁定过 =))。

其次,在我看来,你应该使用 REJECT 而不是 DROP。DROP 并不比 REJECT 更安全或更不安全,它不会通过“sealth”以任何方式“隐藏”你的 IP,它只是减慢了合法流量。黑客可以通过延迟判断你的 IP 存在,并且他们会设置工具不忽略超时。参见http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject

第三,OUTPUT 链仅阻止来自您的主机的流量(很抱歉这么说)。

最后,规则的顺序很重要,因此如果您需要帮助,请发布您的规则。

也可以看看:http://bodhizazen.com/Tutorials/iptables

相关内容