Ubuntu 17.10远程磁盘解锁

Ubuntu 17.10远程磁盘解锁

我有一个关于使用 Ubuntu 内置磁盘加密设置远程解锁的问题。

我知道有很多方法可以用 dropbear 来做到这一点,但我不确定。

这就是我想做的。

我们公司在美国和加拿大管理着多个大型加密货币矿场。我们有一个专门的挖矿软件,安装在设施内的服务器上。

现在因为该软件是用Python编写的,所以我们需要一种方法来让客户端能够监视我的软件,但不能获取我们的代码。

我们这是通过给客户端一个完全加密的黑匣子来完成的,我们是唯一知道密钥的人。但这是问题所在。

如果系统重新启动,目前必须有人手动输入密钥。我们也不可能每次系统重新启动时都会有技术人员出现,因为只有管理层才能访问服务器上的磁盘加密密钥。

我们需要做的是,当系统重新启动时,它通过 ssh 进入密钥服务器(IP 限制将设置为仅接受来自某些 IP 地址的传入连接)检索将解锁驱动器的密钥文件,解锁驱动器,然后删除密钥文件从设施服务器。

我知道你可以使用 dropbear 来做到这一点,但是我见过的每个示例都需要从密钥服务器向加密客户端发出 ssh 命令。我们希望它相反,因此客户端从密钥服务器请求密钥文件。

如果有人知道如何做到这一点的好教程,或者有人可以为我指明正确的方向,这将对我和团队有很大帮助。

谢谢!

答案1

巨大的安全感伴随着巨大的责任......

你想要做的就是鱼与熊掌兼得:你想要手动输入密钥,但你想要自动化它,所以你有三种可能性:

  • 确保服务器具有远程 KVM(键盘-视频-鼠标)功能(又名远程控制台访问):大多数现代服务器都内置了以下功能:这仍然是手动工作,但现在可以远程完成,只需支付少量额外费用但排除了 VPS 解决方案
  • 部署商用静态加密软件,为您远程输入密钥。这是完全自动化的、基于规则的,并由安全专业人员进行审查。
  • 更改您的设置:允许不安全启动,然后 mount /,启动连接到远程服务器的启动脚本,提醒远程资源手动安装加密分区:FLOSS,如果你坚持的话,你可以使用 水滴熊但我会坚持使用您选择的发行版中的 ssh 客户端,该客户端会自动更新什么时候将来会出现任何安全问题......

答案2

我实际上已经通过一个名为 Mandos 的插件解决了这个问题。 Mandos 使用开放的 PGP 和 ssh 隧道来安全地获取密钥并将其输入系统。另外,我确实了解物理访问的安全问题,但是通过全磁盘加密加上 2 因素硬件解锁来进入启用管理员的帐户,没有面向外部的 ssh(它在解锁后立即关闭)几乎即使有物理访问,也无法打开盒子。加密密钥也不存储在服务器上,因为这会破坏这里的目的。我已经对这个系统进行了全面的审核,甚至试图嗅探它为捕获它而发出的请求,但没有任何东西通过它。

该系统对两个端点也有非常严格的 IP 限制,并通过 VPN 进行通信,并由 Meraki 设备保护。嗅探流量只会产生加密的垃圾,任何人都需要很长时间才能破解这些垃圾。

我们已将其中一个盒子交给了外部安全团队,但他们也无法破解。

密钥服务器本身也符合 PCI-DSS 标准。

要点是我们必须提供一个系统,我们的代码需要在矿井网络上本地运行才能正常运行。这给我们带来了必须向客户提供代码库的问题(无法将 python 编译为二进制文件),因为它不能作为 SaaS 运行。为了保护我们的知识产权,我们必须找到一个可行的系统。

相关内容