我正在尝试更多地了解安全的最佳实践,以获得个人知识。
实际上,如果我可以信任我的服务器的设置,我就无法理解配置像 iptable 这样的防火墙的必要性。
在我的实际心理状态下,可以这样解释:如果我只知道:
- 监听 80 端口的 Web 服务器
- 监听 22 端口的 ssh 服务器
- 一个监听 8080 端口的 API 服务器
在我的服务器上运行,我的(唯一)以太网适配器 eth0 上任何不使用端口 80、22 或 8080 的传入流量都将丢失,因为没有进程监听这些端口。
这意味着不会消耗任何传入的数据包,因此它们会被简单地丢弃。
考虑到这一点,我不明白配置 iptable 以仅接受端口 80、22 和 8080 上的 tcp 流量的必要性。
在我观看这个精彩视频之前,这一切都是:
https://serversforhackers.com/video/firewalls-basics-of-iptables
该视频介绍了如何设置 iptable 配置来做到这一点:仅接受端口 80、22 和 8080 上的传入流量并丢弃所有其他输入数据包。
我猜想这样做是有原因的,但我实际上找不到。
你能解释一下为什么需要这个 iptable 配置吗?
iptable 丢弃的数据包和未被服务器上运行的任何应用程序“消耗”的数据包之间有区别吗?
多谢。
答案1
尝试连接其他端口仍会生成 RST 回复数据包,可能发送到欺骗的目的地。
此外,它还会阻止新进程在您的节点上启动并使其自身可用。