没有运行networking服务的系统是否需要防火墙?

我想问一下FreeBSD的默认安装。 它没有激活networking服务,也没有安装防火墙。 这与许多通常configuration基本防火墙的Linux发行版不同,但是也具有有限的networking服务,例如sshd,监听。

如果没有服务绑定任何networking端口,防火墙似乎没有什么东西可做。 (假设对出站stream量的信任,这在许多Linux发行版中默认安装的上述防火墙configuration中是典型的)。

我只专门询问bsd / linux系统,不包括osx。

简短的回答:是的!

假设没有其他服务可能会意外启动,并且您不会突然意识到您需要一个急于运行的服务,然后希望您已经正确设置了防火墙:-)

尽pipeFreeBSD可能性较小,但应用程序有时可能暂时打开端口。 如果没有防火墙,这些会popup。

即使没有服务运行,FreeBSD也会响应主机。 它可以响应ICMP回显请求(ping),当主机试图连接一个端口(或者假装试图连接一个端口)时,它也会响应,让主机知道端口是closures的。

这些反应会让攻击者知道盒子在那里,而且没有被挡住。 这是确定的,而且容易被攻击者去做。

稍微不那么容易,就是它也可能以这样一种方式作出反应,让攻击者确定它正在运行FreeBSD。

另一个问题是FreeBSD有一定程度的交互,以便告诉其他系统它的端口是closures的。 在这种情况下,就有可能利用恶意制作的数据包对系统产生不利影响,造成崩溃或其他问题。 虽然这种types的漏洞在最新的FreeBSD中还不是很清楚,但是它还是一个防火墙的另一个原因。

另一个问题是,攻击者可以伪造他们的源IP,并将上述types的请求发送到您的邮箱,但是带有伪造的源IP地址。 在这种情况下,FreeBSD会响应欺骗源IP地址,而不是攻击者。 那么,谁在欺骗IP谁会想知道为什么你的FreeBSD的盒子发送回应。

无论如何,在FreeBSD中你有三种防火墙select。 pf,ipfilter或ipfw。 我相信用一些简单的规则来阻止所有入站stream量(除了与来自FreeBSD服务器本身的请求有关的stream量外)将足以保护您免受上述所有问题的困扰。

如果你想知道上面3个是最好的,或者如何用正确的规则来设置上述3中的一个,那么问一个问题,因为我更熟悉Linux ;-)虽然我听说pf是好的,并没有听到太多的其他人。

https://www.freebsd.org/doc/en/articles/linux-users/firewall.html

没有运行networking服务的系统是否需要防火墙?

是。

如果一个系统有一个networking地址,那么数据包可以路由到它。 内核处理数据包,即使没有打开应用程序套接字。 已经有很多内核漏洞允许崩溃的系统,有些甚至允许通过内核bug修改系统或改变系统行为。

如果系统被打开的应用程序在networking上出站时使用,那么可能会有短暂的侦听程序端口打开,从而可能引入应用程序级别的漏洞。 虽然意图仅用于出站通信,但应用程序可能会打开允许入站连接的套接字,即使只是暂时的。