【发布时间】:2018-09-18 23:30:13
【问题描述】:
在我的公司,我们正在开发一种由 ARM 处理器驱动的产品。我们正在使用 Buildroot 为它制作一个 Linux 系统。
出于调试/维护目的,将使用以太网启用 SSH 访问,并且设备将具有用于串行 TTY 的 UART。该产品将出售给公司,并且可能只有员工可以实际使用该设备。
我想知道在用户密码和私钥存储方面我们必须遵循什么策略:
- 密码:我们必须选择什么用户密码?为所有人选择一个密码似乎不是一个好主意。如果有人发现了这个密码,他就可以访问我们所有的设备,而且我们无法更新它们,因为它们处于离线状态。我们甚至需要选择密码吗?有没有其他安全且不依赖密码的解决方案?类似于 SSH 密钥的东西,也许...
- SSH 私钥:我正在考虑生成一个密钥对并将公钥添加到所有设备的 authorized_keys 文件中。这样,我们公司任何需要维护的成员都可以将私钥导入他的计算机并直接访问所有设备。但是我们如何存储这个私钥以保证它的合理安全(并且不会丢失它)?
此设备的安全性并不重要,因为它不太可能成为一个有趣的黑客目标,它的功能根本不重要,它是离线的,对它的物理访问将受到合理限制。知道了这一点,我想知道以上几点的答案,这样我们就有了合理的安全性,而不会使一切过于复杂。
我对 SSH 密钥的一些想法:
- 把它写在纸上并保存在我们的办公室:我不太喜欢这个,因为我不相信它不会丢失、被毁......
- 将它保存在我们在 Bitbucket 中的私有 Git 存储库中:我不太喜欢这个,因为应该允许有权访问存储库的同一个人拥有私钥,但我不知道我必须多少为此请信任云服务
我记得在这种情况下安全要求不高,但仍然希望有相当好的做法。
【问题讨论】:
标签: security passwords ssh-keys