如果 siloviki 来找你的主人怎么办

如果 siloviki 来找你的主人怎么办kdpv - 路透社

如果您租用服务器,那么您就无法完全控制它。 这意味着经过专门培训的人员可以随时找到托管服务商并要求您提供任何数据。 如果依法提出正式要求,托管方将归还它们。

您确实不希望您的网络服务器日志或用户数据泄露给其他任何人。 建立理想的防御是不可能的。 要保护自己免受拥有虚拟机管理程序并为您提供虚拟机的托管服务商的侵害几乎是不可能的。 但或许可以稍微降低风险。 加密租赁汽车并不像乍看起来那么无用。 同时,我们来看看从物理服务器提取数据的威胁。

威胁模型

通常,托管方将尽力通过法律尽可能保护客户的利益。 如果官方机构的信函仅要求访问日志,则托管服务商将不会提供所有带有数据库的虚拟机的转储。 至少不应该。 如果他们要求提供所有数据,托管商将复制包含所有文件的虚拟磁盘,而您不会知道这一点。

无论哪种情况,您的主要目标都是使攻击变得过于困难和昂贵。 通常存在三种主要威胁选项。

官方

最常见的是,一封纸质信件会发送到主办方的官方办公室,要求其根据相关规定提供必要的数据。 如果一切正确,托管商将向官方机构提供必要的访问日志和其他数据。 通常他们只是要求您发送必要的数据。

有时,如果绝对必要,执法机构的代表也会亲自来到数据中心。 例如,当您拥有自己的专用服务器时,只能以物理方式获取其中的数据。

在所有国家,进入私人财产、进行搜查和其他活动都需要证据证明数据可能包含用于调查犯罪的重要信息。 此外,还需要根据所有规定执行搜查令。 当地立法的特殊性可能存在细微差别。 您需要了解的主要事情是,如果官方路径正确,数据中心代表不会让任何人通过入口。

此外,在大多数国家,您不能简单地拿出跑步设备。 例如,在俄罗斯,直到 2018 年底,根据俄罗斯联邦刑事诉讼法第 183 条第 3.1 部分,保证在扣押期间,扣押电子存储介质是在有参与的情况下进行的。专家的。 应扣押的电子存储介质的合法所有者或其所含信息的所有者的要求,参与扣押的专家在证人在场的情况下,将信息从扣押的电子存储介质复制到其他电子存储介质。

然后,不幸的是,这一点被从文章中删除了。

秘密和非官方

这已经是来自国家安全局、联邦调查局、军情五处和其他三个字母组织的受过专门训练的同志的活动领域。 大多数情况下,国家立法为此类结构提供极其广泛的权力。 此外,几乎总是有立法禁止直接或间接披露与此类执法机构合作的事实。 俄罗斯也有类似的 法律规定.

如果您的数据受到此类威胁,它们几乎肯定会被删除。 此外,除了简单的查封之外,还可以使用所有非官方的后门、零日漏洞、从虚拟机 RAM 中提取数据以及其他乐趣。 在这种情况下,托管方将有义务尽可能协助执法专家。

无良员工

并不是所有的人都同样优秀。 一位数据中心管理员可能会决定出售您的数据来赚取额外的钱。 进一步的发展取决于他的权力和渠道。 最烦人的是,有权访问虚拟化控制台的管理员可以完全控制您的计算机。 您可以随时拍摄 RAM 中所有内容的快照,然后慢慢研究。

VDS

所以你有一个托管商给你的虚拟机。 如何实施加密来保护自己? 事实上,几乎什么也没有。 此外,即使是其他人的专用服务器也可能最终成为插入必要设备的虚拟机。

如果远程系统的任务不仅仅是存储数据,而是执行一些计算,那么使用不受信任的机器的唯一选择就是实现 同态加密。 在这种情况下,系统将进行计算,但无法理解它到底在做什么。 不幸的是,实现这种加密的开销成本是如此之高,以至于它们的实际使用目前仅限于非常狭窄的任务。

另外,当虚拟机运行并执行某些操作时,所有加密卷都处于可访问状态,否则操作系统将无法使用它们。 这意味着,通过访问虚拟化控制台,您始终可以拍摄正在运行的计算机的快照并从 RAM 中提取所有密钥。

许多供应商尝试对 RAM 进行硬件加密,这样即使主机托管商也无法访问这些数据。 例如,英特尔软件保护扩展技术,它组织虚拟地址空间中的区域,防止其他进程(包括操作系统内核)从该区域外部读取和写入。 不幸的是,您将无法完全信任这些技术,因为您将仅限于虚拟机。 另外,现成的例子已经存在 攻击成功 对于这项技术。 不过,加密虚拟机并不像看起来那么毫无意义。

我们对 VDS 上的数据进行加密

让我立即表示保留,我们下面所做的一切并不构成全面的保护。 虚拟机管理程序将允许您制作必要的副本,而无需停止服务且不会引起您的注意。

  • 如果托管商根据请求传输虚拟机的“冷”映像,那么您就相对安全。 这是最常见的情况。
  • 如果托管商为您提供了正在运行的机器的完整快照,那么一切都非常糟糕。 所有数据都将以清晰的形式安装在系统中。 此外,还可以翻阅 RAM 来搜索私钥和类似数据。

默认情况下,如果您从普通映像部署操作系统,则托管者没有 root 访问权限。 您始终可以使用救援映像装载介质,并通过 chroot 虚拟机环境来更改 root 密码。 但这需要重新启动,这一点会被注意到。 另外,所有安装的加密分区都将被关闭。

但是,如果虚拟机的部署不是来自普通映像,而是来自预先准备的映像,则托管商通常可以添加特权帐户以在客户端出现紧急情况时提供帮助。 例如,更改忘记的 root 密码。

即使在完整快照的情况下,也并非一切都那么悲伤。 如果您从另一台计算机的远程文件系统安装加密文件,攻击者将不会收到这些文件。 是的,理论上,您可以选择 RAM 转储并从那里提取加密密钥。 但实际上,这并不是很简单,而且该过程不太可能超出简单的文件传输范围。

订购汽车

如果 siloviki 来找你的主人怎么办

出于测试目的,我们使用一台简单的机器 订购服务器部分。 我们不需要很多资源,因此我们将选择为实际花费的兆赫兹和流量付费。 玩玩就够了。

整个分区的经典 dm-crypt 并没有起飞。 默认情况下,磁盘是一块,整个分区的根目录。 缩小根挂载分区上的 ext4 分区实际上是一个有保证的砖块,而不是文件系统。 我尝试过)手鼓没有帮助。

创建加密容器

因此,我们不会加密整个分区,而是使用文件加密容器,即经过审计且可靠的 VeraCrypt。 对于我们的目的来说,这已经足够了。 首先,我们从官网提取并安装 CLI 版本的软件包。 您可以同时检查签名。

wget https://launchpad.net/veracrypt/trunk/1.24-update4/+download/veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb
dpkg -i veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb

现在我们将在家里的某个地方创建容器本身,以便我们可以在重新启动时手动安装它。 在交互选项中,设置容器大小、密码和加密算法。 您可以选择爱国密码 Grasshopper 和 Stribog 哈希函数。

veracrypt -t -c ~/my_super_secret

现在让我们安装 nginx,挂载容器并填充秘密信息。

mkdir /var/www/html/images
veracrypt ~/my_super_secret /var/www/html/images/
wget https://upload.wikimedia.org/wikipedia/ru/2/24/Lenna.png

让我们稍微修正一下 /var/www/html/index.nginx-debian.html 以获得所需的页面,您可以检查它。

连接并检查

如果 siloviki 来找你的主人怎么办
容器已安装,数据可访问并发送。

如果 siloviki 来找你的主人怎么办
这是重新启动后的机器。 数据安全地存储在 ~/my_super_secret 中。

如果您确实需要它并且想要它的核心,那么您可以加密整个操作系统,以便在重新启动时需要通过 ssh 连接并输入密码。 对于简单地提取“冷数据”的场景来说,这也足够了。 这里 dropbear使用说明 和远程磁盘加密。 尽管对于 VDS 来说这是困难且多余的。

裸机

在数据中心安装自己的服务器并不是那么容易。 其他人的专用设备可能会成为所有设备都转移到其中的虚拟机。 但是,当您有机会将可信的物理服务器放置在数据中心时,保护方面的一些有趣的事情就开始了。 在这里,您已经可以完全使用传统的 dm-crypt、VeraCrypt 或您选择的任何其他加密。

您需要了解,如果实施完全加密,服务器在重新启动后将无法自行恢复。 需要建立与本地 IP-KVM、IPMI 或其他类似接口的连接。 之后我们手动输入主密钥。 该方案在连续性和容错性方面看起来一般,但如果数据如此有价值,则没有特殊的替代方案。

如果 siloviki 来找你的主人怎么办
NCipher nShield F3 硬件安全模块

较软的选项假设数据已加密,并且密钥直接位于服务器本身的特殊 HSM(硬件安全模块)中。 一般来说,这些都是非常实用的设备,不仅提供硬件加密,而且还具有检测物理黑客攻击的机制。 如果有人开始使用角磨机检查您的服务器,具有独立电源的 HSM 将重置其存储在内存中的密钥。 攻击者将获得加密的肉末。 在这种情况下,可以自动重新启动。

与激活铝热炸弹或电磁避雷器相比,拔掉钥匙是一种更快、更人性化的选择。 对于这样的设备,你会在数据中心的机架上被邻居殴打很长一段时间。 此外,在使用的情况下 TCG 蛋白石 2 对媒体本身进行加密,您几乎不会遇到任何开销。 所有这一切对于操作系统来说都是透明的。 确实,在这种情况下,您必须信任有条件的三星,并希望它具有诚实的 AES256,而不是平庸的 XOR。

同时,我们不能忘记所有不必要的端口必须被物理禁用或简单地填充化合物。 否则,就会给攻击者提供实施的机会 DMA 攻击。 如果您有 PCI Express 或 Thunderbolt,包括支持 USB,那么您很容易受到攻击。 攻击者将能够通过这些端口进行攻击,并使用密钥直接访问内存。

在非常复杂的版本中,攻击者将能够进行冷启动攻击。 同时,它只是将大量液氮倒入您的服务器中,粗略地取出冻结的记忆棒,并从其中取出所有密钥的转储。 通常,定期的冷却喷雾和 -50 度左右的温度就足以进行攻击。 还有一个更准确的选项。 如果你没有禁用从外部设备加载,那么攻击者的算法会更简单:

  1. 无需打开外壳即可冻结记忆棒
  2. 连接可启动 USB 闪存驱动器
  3. 使用特殊实用程序从 RAM 中删除由于冻结而在重新启动后幸存下来的数据。

分而治之

好吧,我们只有虚拟机,但我想以某种方式降低数据泄露的风险。
原则上,您可以尝试修改架构并将数据存储和处理分布在不同的管辖区。 例如,具有加密密钥的前端来自捷克共和国的主机,而具有加密数据的后端位于俄罗斯的某个地方。 在标准扣押尝试的情况下,执法机构极不可能在不同的司法管辖区同时执行此操作。 另外,这在一定程度上保证了我们不会出现拍摄快照的情况。

好吧,或者您可以考虑一个完全纯粹的选项 - 端到端加密。 当然,这超出了规范的范围,并不意味着在远程机器一侧执行计算。 然而,当涉及到存储和同步数据时,这是一个完全可以接受的选项。 例如,这在 Nextcloud 中可以非常方便地实现。 与此同时,同步、版本控制和其他服务器端功能也不会消失。

在总

不存在完全安全的系统。 目标很简单,就是让攻击的价值超过潜在的收益。

通过将加密和与不同托管商的单独存储相结合,可以在一定程度上降低访问虚拟站点上的数据的风​​险。

一个或多或少可靠的选择是使用您自己的硬件服务器。

但无论如何,托管商仍然必须值得信任。 整个行业都以此为基础。

如果 siloviki 来找你的主人怎么办

如果 siloviki 来找你的主人怎么办

来源: habr.com

添加评论