cjs*_*cjs 16 security boot encrypting-file-system
我正在设置一些新的 Ubuntu 服务器,我想保护它们上的数据免遭盗窃。威胁模型是需要硬件的攻击者,或者需要数据的幼稚攻击者。
请注意本节。
威胁模型并没有包括智能攻击者希望的数据; 我认为他们会执行以下一项或多项操作:
将 UPS 接入电源线,以保持机器持续运行。
在计算机和网络终端点之间插入一对以太网桥接器,该桥接器将桥接无线网络上的流量,使主机保持网络连接的足够范围。
打开盒子并使用内存总线上的探针来抓取有趣的东西。
使用 TEMPEST 设备来探测主机正在做什么。
使用法律手段(例如法院命令)强迫我披露数据
等等等等。
所以我想要的是在加密分区上的磁盘上拥有一些或理想的全部数据,以及在某种外部媒体上访问它所需的关键材料。我能想到的两种存储密钥材料的方法是:
将其存储在可通过网络访问的远程主机上,并配置足够的网络以在引导过程中检索它。只允许检索分配给安全主机的 IP 地址(因此,如果加密数据是在另一个网络连接上启动的,则不允许访问加密数据),如果发现机器被盗,管理员可以禁用该地址。
将其存储在 USB 存储设备上,该设备在某种程度上比主机本身更难窃取。将它放置在远离主机的位置,例如在通向房间另一个角落甚至另一个房间的 5 米 USB 电缆的末端,可能会显着降低攻击者获取它的机会。以某种方式保护它,例如将它链接到固定不动的东西,甚至将其放入保险箱中,效果会更好。
那么我有哪些设置选项呢?正如我之前所说,我更愿意将所有内容(除了可能不包含 /etc 的小引导分区)加密,这样我就不必担心我将文件放在哪里,或者文件放在哪里”不小心降落了。
我们正在运行 Ubuntu 9.04,如果它有什么不同的话。
我知道选项 1 的一个巧妙变体,称为 Mandos。
它使用 GPG 密钥对、Avahi、SSL 和 IPv6 的组合,所有这些都添加到您的初始 RAM 磁盘中,以安全地检索其根分区的密钥密码。如果 LAN 上不存在 Mandos 服务器,则您的服务器是一个加密的砖块,或者 Mandos 服务器在给定的时间内没有看到来自 Mandos 客户端软件的心跳,它将忽略对该密钥对和服务器的未来请求是下次启动时加密的砖块。
如果您只是想防范非技术攻击者,我认为您最好的选择是更好的物理安全性。
我的想法是这样的:
如果您正在寻找一种无需人工干预即可输入关键材料的靴子,那么您将无法想出任何解决方案,即使是具有任何技术技能的连接者(或者,更恰当地说,支付具有技术技能的人的能力)。
将密钥材料放在 USB 拇指驱动器之类的东西中不会提供任何真正的安全性。攻击者可以从拇指驱动器中读取密钥。拇指驱动器无法知道它插入的计算机是服务器计算机还是攻击者的笔记本电脑。攻击者所要做的就是确保他们拿走所有东西,或者如果您的 USB 密钥位于 15 英尺长的 USB 延长线的末端,卡在保险箱内,只需将延长线插入他们的 PC 并读取钥匙。
如果您要通过网络传输密钥,您可能会对它进行“加密”。攻击者所要做的就是窃听密钥过程,窃取服务器,然后对您通过网络发送密钥时所做的任何“加密”进行逆向工程。根据定义,从网络接收“加密”密钥的服务器计算机必须能够“解密”该密钥才能使用它。所以,实际上,您不是在加密密钥——您只是在对其进行编码。
最终,您需要一个(人工?)智能来将密钥输入服务器。一个可以说“我知道我不会将密钥泄露给服务器计算机之外的任何人,我知道它没有被盗。” 一个人可以做到这一点。USB 拇指驱动器不能。如果你找到另一个可以做到这一点的智能,那么我认为你会有一些适销对路的东西。>微笑<
我认为,您很可能会丢失密钥并破坏您的数据,而不会获得任何安全性。代替您使用加密游戏的策略,我认为您最好拥有更强的物理安全性。
编辑:
我认为我们可能正在根据术语“威胁模型”的不同定义进行工作。
如果您的威胁模型是硬件盗窃,那么您提出的解决方案是:在我看来,磁盘加密对抵消威胁没有任何作用。您提出的解决方案看起来像是一种防止数据被盗的对策,而不是硬件被盗的对策。
如果你想阻止硬件被盗,你需要用螺栓固定、锁上、用混凝土包起来等。
我已经说了我想说的:数据被盗,所以我不会再强调这一点,只是说:如果你要将密钥放入物理设备而你无法保护服务器计算机被盗,那么您也无法保护关键设备不被盗。
我想你最好的“便宜”解决方案是安装某种基于网络的密钥交换。我会将一个或多个人置于循环中以在重新启动时验证密钥的“释放”。它会导致停机,直到人类“释放”密钥,但至少它会让您有机会找出请求“释放”密钥的原因并决定是否这样做。
归档时间: |
|
查看次数: |
5586 次 |
最近记录: |