我计划构建一个仅用于一个用途的 Raspberry Pi。
- 仅开放一个端口
- 每个人都应该能够连接到此端口
- 监听此端口的应用程序没有root权限
- 它不路由。也就是说,没有其他电脑可以通过这台 Raspberry Pi 访问
- 没有出站连接。即 Raspberry Pi 不会主动连接到另一台 PC
- 我将进行端口扫描,以确保没有其他端口开放
那么,我需要在此设备上运行防火墙吗?
答案1
好吧,如果您在公共网络上,我仍然会设置(当然现有的)netfilter 防火墙。
也就是说,我会阻止任何其他流量类型,如 ICMP 等。此外,大多数端口/系统扫描器通过各种错误响应(“端口不可达”)等检测系统类型,因此您可以明确减少攻击面;您的目标是尽可能少地泄露有关系统的信息。
此外,如果您不主动阻止 ICMP 响应(“ping”),它们将会被返回。我想您也不希望出现这种情况(至少我希望如此)。
答案2
防火墙工作由 Linux 上的 netfilter/iptables 完成
因此,防火墙只会导致 iptables 配置丢弃所有传入的 tcp 连接。(并且可能阻止传出连接。)
我个人不会创建这样的防火墙配置。如果你知道只运行一个服务器应用程序,那就没有必要了。
跑步
netstat -ltw
查看是否只有一个应用程序监听 TCP 连接。也许有一些预安装的服务器应用程序你想消除。
-l means listen
-t means tcp
-w means raw (will show the ping server)
您还应该检查绑定 IP 地址。您可能只想接受同一 LAN 中的客户端,而忽略来自互联网(是的,互联网)的客户端。