设想:
在一家公司中,有连接到其网络环境的树莓派。不怀好意的人可以更换 SD 卡并用他自己的方式替换它,这使 Pi 成为“嗅探器”,或者该人可能以其他有害方式使用它。
我对防止此类攻击的想法:
一个锁定的 Raspberry Pi 外壳,它是攻击者的物理屏障。
不是这个问题的主题:
保护/加密 SD 卡上的数据。
问题:
有没有其他方法可以防止这种威胁?
设想:
在一家公司中,有连接到其网络环境的树莓派。不怀好意的人可以更换 SD 卡并用他自己的方式替换它,这使 Pi 成为“嗅探器”,或者该人可能以其他有害方式使用它。
我对防止此类攻击的想法:
一个锁定的 Raspberry Pi 外壳,它是攻击者的物理屏障。
不是这个问题的主题:
保护/加密 SD 卡上的数据。
问题:
有没有其他方法可以防止这种威胁?
您必须在用于启动 Pi 的 sdcard 上使用全盘加密。使用它,如果攻击者将 sdcard 拿走,它将无法读取其内容。这将保护存储在卡中的 802.1x 凭据。
其次,在网络上使用 802.1x 认证。802.1x 需要客户端登录名和密码才能获取 IP 地址。如果没有有效的登录名和密码,即使攻击者插入网络电缆,Pi 也将无法加入网络。
有了这个,您必须将键盘和显示器连接到 Pi,以输入磁盘密码和 802.1x 凭据。如果这个 Pi 是为了运行一个安全的环境,请在其他地方保存一个已知良好的磁盘映像,并在每次 Pi 关闭时重新刷卡。这将防止攻击者进入、关闭 Pi 和后门引导加载程序(Evil Maid 攻击)。这是必需的,除非您希望攻击者同时获得 802.1x 凭据和全盘加密密钥。
加分项:没有有效凭据的任何人都无法进入无人监督的房间并插入笔记本电脑。
忘记MAC地址认证,改MAC很简单。
我认为将 Pis 放在有可上锁的门的橱柜或服务器机架中应该以最少的麻烦来解决问题。
ThoriumBRs 的答案非常好,但设置起来非常复杂。每次关闭 Pi 时重新刷新 sd 卡肯定是一种选择,但除非您为一个非常注重安全的雇主工作(考虑到您的硬件平台是 Raspberry Pi,这不太可能)这实际上不太可能实现在实践中。
Pi 没有任何机制来确保只启动已知良好的软件映像。它也没有任何机制允许在攻击者无法找出映像中的内容的情况下启动映像。
所以你的选择基本上是。
PS注意MAC地址限制不是很安全,攻击者插入嗅探器,获取合法设备的MAC地址然后用该MAC地址重新配置他的设备是微不足道的。
如果您让人们在没有监督的情况下轻松地物理访问您的 RPI,您应该将其放置在网络中最不可信的部分(最好是用于 IOT 的专用 vlan)。
在您的情况下,我会担心漏洞利用与设备被物理盗窃一样多。看到您的问题,可以安全地假设修补设备可能不会被发现。
到目前为止,所有答案都集中在缓解非常狭窄的攻击向量上。我会建议自上而下的方法,您可以专注于您的网络安全,而不是 RPI 的安全。配置您的网络,使每个 RPI 都被视为受感染的设备,您就可以开始使用了。拥有“粘性”MAC 地址实际上是一种非常好的安全措施,与普遍认为的相反。必须对其进行配置,以便使用除您的 RPI 之外的任何 MAC 地址会导致交换机上的端口关闭(此线路跳闸也应向管理员发送警报)。它是否会阻止准备充分的攻击者获得访问权限?不,不是的。它会让每个有嗅探器的业余爱好者的生活变得更加困难吗?是的,它确实。你想让任何人嗅探你的网络吗?不,你没有,所以使用它,因为它很便宜,
来自 IoT 的所有流量都应通过代理,以确保只有合法的查询/连接才能进入内部网络。在理想情况下,RPI 应该位于状态防火墙之后,扮演服务器的角色,您的客户端服务器将在其中启动连接,确保 RPI 仅在被要求时才响应。通过这种方式,攻击者将拥有与在公共 Wi-Fi 上相同的访问权限(如果每个设备都可以拥有自己的 VLAN 标签,则更少)。
总之,如果您有一个易于访问的 Linux 机器网络,并且您担心它们可能会受到损害,那么将它们视为已经受到损害,您将尽可能安全。