使用 Linux 时解锁路由器中的所有端口

使用 Linux 时解锁路由器中的所有端口

我听说 Linux 的开放端口不太容易受到攻击,因此正常的桌面 Linux 安装不需要防火墙。尽管如此,我的路由器 (Dlink) 仍会阻止某些端口,即使在 LAN 中也是如此。

解锁路由器中的所有端口是不是一个坏主意?

答案1

是的,这是一个非常糟糕的主意,Linux 确实比其他操作系统更安全,但是没有什么100% 安全。

例如,许多 Linux 发行版默认运行 sshd,如果您允许从互联网连接到此端口(默认为 22),则黑客或蠕虫可以进行暴力攻击并访问您的 Linux。

答案2

解锁路由器中的所有端口是不是一个坏主意?

是的。

太长了;博士

我不会考虑在我的网络中不具有合法用途的路由器上打开端口,即使这样,我也想过滤这些端口上的流量。

推理

出于讨论目的,“端口”通常不是特定漏洞所在的位置,而是指哪个服务或应用程序正在侦听某个端口。

与端口的连接是有状态的。它们有源地址和目标地址。当您的防火墙阻止某个端口时,它不仅会关闭该端口,还会禁止“传出”或“传入”连接,并且还会考虑每个连接的状态。

关于您听说过的有关 Linux 中开放端口的信息,即“开放端口不是很容易受到攻击”,请考虑以下因素:

场景1

拒绝所有未建立的入站,允许所有出站

我们有一个路由器,它阻止所有端口的所有传入连接,这些端口尚未由允许的传出连接建立。除非您从内部发起连接并建立连接,否则没有人可以从外部进行连接。还假设所有端口上的所有出站连接都打开。这安全吗?

场景2

允许所有入站、允许所有出站

与上面相同,但路由器还允许所有端口上未建立的出站连接,也称为“广泛开放”配置。这是不是不太安全?

场景3

拒绝所有入站、过滤所有出站

与方案 1 的不同之处仅在于防火墙还配置为仅允许特定白名单端口上的某些出站连接(即4438022)。这样更安全吗?

结论

不考虑任何网络地址转换...

除非您真的不关心安全性,否则我想说场景 3 是上述三个过于简单的场景中唯一远程安全的场景。允许的出站连接的显式白名单和入站连接的显式白名单(或完全禁止)。

场景 2 只是等待有人在侦听端口的任何服务或程序中找到可利用的漏洞。授予的配置超出了本答案的范围,并且如果没有发生任何情况,nat大多数路由器不会进行更多的监听。nat

场景 1 看起来比可怕的场景 2 更安全,但实际上,如果有任何从您的网络内部部署的恶意程序,它们可能会穿过您的防火墙,并通过此配置对您的网络造成各种邪恶。 Cryptolocker 我正在看着你。这种类型的路由器配置是迄今为止最常见的,但它仅比场景 2 稍微安全一些(读得不多)。

相关内容