使用加密文件系统自动引导和保护Linux服务器


16

我正在设置一些新的Ubuntu服务器,并希望保护其中的数据免遭盗窃。威胁模型是攻击者想要硬件,或者天真的攻击者想要数据。


请注意本节。

威胁模型并没有包括智能攻击者希望的数据; 我认为他们将执行以下一项或多项操作:

  1. 将UPS连接到电源线中,以保持机器连续运行。

  2. 在计算机和网络终结点之间插入一对以太网桥,这将桥接范围足以使主机保持网络连接的无线网络上的流量。

  3. 打开包装盒,然后使用内存总线上的探针抓取有趣的东西。

  4. 使用TEMPEST设备来探测主机正在做什么。

  5. 使用法律手段(例如法院命令)强迫我披露数据

  6. 等等


因此,我想要的是在加密分区上的磁盘上存储部分或全部数据,并提供在某种外部介质上访问数据所必需的密钥材料。我可以想到的两种存储密钥材料的方法是:

  1. 将其存储在可通过网络访问的远程主机上,并配置足够的网络以在引导过程中对其进行检索。仅允许检索分配给安全主机的IP地址(如果在另一个网络连接上引导,则不允许访问加密数据),如果发现机器被盗,则管理员可以禁用该检索。

  2. 将其存储在USB存储设备上,这种存储在某种程度上比主机本身更难于窃取。将其放置在远离主机的位置,例如,一条五米长的USB电缆的末端引到房间的另一个角落,甚至到另一个房间,都可能会大大降低攻击者使用它的机会。以某种方式保护它,例如将其链接到不动的东西上,或者甚至将其放入保险箱中,效果会更好。

那么我有什么设置方法呢?如前所述,我希望对所有内容(除了可能不包含/ etc的小型启动分区进行加密)进行加密,这样我就不必担心我将文件放置在何处或存放在何处了。重新意外降落。

如果有什么不同,我们正在运行Ubuntu 9.04。


1
您的威胁模型穿着带三个字母的制服吗?:)
斯文

他们不穿制服。:-)但是严重的是,没有;任何一个政府机构,无论是否秘密,都可能足够聪明,可以使用所有硬件,而不仅仅是可以快速获取的硬件。
Curt J. Sampson

1
您的问题似乎自相矛盾。首先,您说“我想保护其上的数据免遭盗窃”,然后说“不包括想要数据的聪明攻击者”。您是否关心数据?
Zoredache

1
我在乎。如果您能够以类似的费用保护它免受聪明的攻击者以及愚蠢的攻击者的侵害,那很好,我会做到的。如果没有,至少我避免了有人在回收店购买旧驱动器并发现我所有客户的数据的情况。
Curt J. Sampson,2009年

+1是通过威胁模型进行实际思考的方法,许多有类似问题的人都忘记了做。
sleske,2010年

Answers:


8

我知道选项1的一个聪明变体,叫做Mandos。

它使用GPG密钥对,Avahi,SSL和IPv6的组合,这些密钥对均已添加到您的初始RAM磁盘中,以安全地检索其根分区的密钥密码。如果LAN上不存在Mandos服务器,则您的服务器是加密的砖块,或者Mandos服务器在给定的时间内没有看到Mandos客户端软件的检测信号,它将忽略以后对该密钥对和服务器的请求是下次启动时的加密砖。

Mandos主页

Mandos自述文件


1
有趣的主意。我假设您将通过PXE引导客户端,以便公用/专用密钥对不在硬盘驱动器上。尽管如此,您仍可以从网络上窥探密钥对,然后将其与服务器计算机对批量加密密钥的嗅探结合使用,以对驱动器进行解密。整个“服务器如果没有在xxx时间窗口内听到心跳信号,也不会发出密钥”,这听起来也像是一种巧妙的方法,可以使人员进入循环。整洁的项目。如果您有身体接触,则不难击败,但要整洁。
埃文·安德森

2
埃文,你想读的Mandos README的常见问题,我想....
科特J.桑普森

嗯 对于Mandos为什么仅在LAN上运行,我还不清楚。是因为它无法设置IP地址和路由以使用互联网吗?
Curt J. Sampson

1
Curdo,Mandos使用ipv6链接本地地址进行通信,该地址仅限于本地局域网。但是,这确实意味着它不需要任何外部配置(dhcp)或与同一LAN上的其他服务器发生冲突。 en.wikipedia.org/wiki/…– 2009
Haakon

1
作为Mandos的合著者,我只能同意Haakon。Mandos实际上有一种使用内核ip=mandos=connect参数来使用全局IPv4地址的方法,请参阅以下邮件:mail.fukt.bsnet.se/pipermail/mandos-dev/2009-February/…但请注意,由于客户端只会尝试连接到指定的服务器一次,否则将不可避免地失败。推荐的配置是通过LAN。我还要提到的是,Mandos自9.04起可以在Ubuntu中使用(也可以在Debian测试中使用)
Teddy

6

如果您只是想防御非技术攻击者,我认为最好的选择是更好的物理安全性。

因此,我的想法是:

如果您正在寻找一种不需要人工干预即可输入关键材料的靴子,那么您将不会想出任何解决方案,即使有任何技术技能的附着者随意盗窃,该解决方案也是安全的(或更恰当地说,能够付钱给有技术技能的人)。

将密钥材料放在USB拇指驱动器之类的文件中不会提供任何真正的安全性。攻击者可能只是从拇指驱动器上读取了密钥。拇指驱动器无法知道其插入的计算机是服务器计算机还是攻击者的便携式计算机。攻击者所要做的就是确保他们采取一切措施,或者将您的USB钥匙放在15英尺长的USB扩展电缆末端,将其插在保险箱中,只需将扩展电缆插入其PC并阅读钥匙。

如果要通过网络传输密钥,则可能会对其进行“加密”。攻击者所需要做的就是窃听加密过程,窃取服务器,然后对通过网络发送密钥时所做的任何“加密”进行反向工程。根据定义,从计算机网络接收“加密”密钥的服务器计算机必须能够对该密钥进行“解密”才能使用它。因此,实际上,您不是在加密密钥,而是在对其进行编码。

最终,您需要一个(人工的?)智能来将密钥输入服务器。可以说“我知道我不会将密钥泄露给除服务器计算机以外的任何人,而且我知道它还没有被盗。” 人类可以做到这一点。USB拇指驱动器不能。如果您发现其他可以做到的情报,那么我认为您将有一些可销售的东西。>微笑<

我认为,很可能会丢失密钥并破坏数据,同时又无法获得任何安全性。代替您使用加密游戏的策略,我认为您最好拥有更强的物理安全性。

编辑:

我认为我们可能正在对“威胁模型”一词进行不同的定义。

如果您的威胁模型是硬件盗窃,那么您建议的解决方案是:如我所见,磁盘加密对于抵御威胁没有任何帮助。您提出的解决方案似乎是针对数据盗窃的对策,而不是硬件盗窃的对策。

如果要阻止硬件被盗,则需要将其固定,锁定,用混凝土包裹等。

我已经说过我想说的:数据被盗,因此我不会再对此进行竖琴,只是说:如果您要将密钥放入物理设备中而无法保护服务器计算机不会被盗,那么您也无法保护关键设备也不会被盗。

我猜您最好的“便宜”解决方案是安装某种基于网络的密钥交换。如果重新启动,我会将一个或多个人员放入循环中以验证密钥的“释放”。这将导致停机,直到人工“释放”密钥为止,但至少它会给您机会来找出为什么要求“释放”密钥并决定是否这样做。


这是对安全性分析的一个很好的补充,因此我对此表示赞同,但这并不是我的问题的答案,因为您使用的是不同的威胁模型。请注意我在关于我在为谁而不在为谁辩护的问题中所说的话。
Curt J. Sampson,2009年

1
至于更好的物理安全性,我想先看看价格便宜的选择。在当前环境下,安装一些无法用一对断线钳快速击败的东西将花费我们数千美元。
Curt J. Sampson,2009年

重新阅读此内容,我不确定您是否清楚我的威胁模型本身不是硬件盗窃,这基本上只是一个不便,而是随之而来的数据盗窃。这就是为什么我提出的解决方案是针对数据盗窃而不是硬件盗窃的对策。
Curt J. Sampson

看到有关一个已有8年历史的问题的评论很有趣。如果您的解决方案对您有用,那么我当然会感到高兴。
埃文·安德森

我只是在想“我不应该死角”,然后我看到了这些最​​后的评论。我认为Curt的威胁模型与我的威胁模型相同……可以保护数据,防止他人窃取硬件。关于此和类似帖子的几条评论说,人们可以“窃听”关键过程并在以后解决。任何重播都只会破坏一个非常荒谬的糟糕过程。另外...“攻击者所要做的就是” ...“对您所做的任何加密进行逆向工程” ...我们在谈论谁?普通小偷拥有这种能力的机会是什至甚至渴望如此?
darron
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.