我正在想办法保护暴露于物理访问的Linux服务器。 我的具体平台是PC Engines品牌alix2d13主板上的小型Linux服务器。 小尺寸会带来攻击者从场所移走的额外风险。
假设有物理访问服务器:
1)ROOT-PASSWORD:你连接一个控制台电缆到服务器,你会得到一个提示input密码。 如果您不知道密码,则可以在单用户模式下重启机器并重置密码。 Voilà,你可以访问root。
为了确保上述安全,在GRUB菜单上插入一个密码,所以当服务器重新启动以进入单用户模式时,您必须提供GRUB密码。
2)GRUB_PASSWORD。 如果closures机器,请将硬盘驱动器卸下,然后将其安装在另一个工作站上,您将可以浏览包含grub.cfg文件的/boot
目录,在其中可findGRUB密码。 您可以更改GRUB密码或将其删除。
显然,当我们谈论大型生产机器时,很可能不会有任何物理访问,除此之外,即使有人访问服务器,也不会closures服务器。
什么是可能的解决scheme,以防止在物理上容易窃取的服务器上的数据窃取?
我看到它的方式,可以获得对包含数据的一种或另一种访问。
我一直从事的工作就是一旦攻击者有机会接触到你的主机,他们最终可以闯入它 – 除非像kasperd所说的那样,你使用强大的全盘encryption和启动密码,并愿意每当主机启动时就进入它。
我知道的解决scheme是encryption磁盘并使用TPM: 可信平台模块
通过这种方式现在可以将硬盘解密为:
全盘encryption应用程序可以使用此技术[TPM]来保护用于encryption计算机硬盘的密钥,并为受信任的引导path(例如BIOS,引导扇区等)提供完整性身份validation。第三方全盘encryption产品也支持TPM。 但是,TrueCrypt决定不使用它。 – 维基百科
当然,我可能是错的,TPM很容易被破解,或者我可能不知道其他解决scheme。
全盘encryption对于笔记本电脑和小型家庭服务器来说是个好主意。
全盘encryption不需要TPM。 即使是TPM也无法保护你免受复杂的邪恶女仆攻击 。 所以为了真正保护您的小型家庭Linux服务器(或数据中心),您需要适当的其他物理对策。
对于你的家庭用例,安装一些有创意的DIY硬件可能就足够了:
对于面对一些大公司或政府机构为敌人的记者和举报人来说,这可能还不够安全。 这三个信函机构可能需要法医设备 ,以便在断电后几分钟内从RAM中清除明文。
这里有一个简单的解决scheme:在没有单用户模式的情况下重build内核!
更恰当地说,编辑你正在使用的linux内核,以便模式S重新映射到默认模式(3,4,5)。 这样,任何启动到单用户模式的尝试都会正常启动系统。 你可能可以在init脚本中做同样的事情。 这样,在不知道密码的情况下就没有特别的方法进入系统。
去电子网站上询问。 我很确定有embedded式的SOCdeviseencryption一切,一旦你融合,是不可能的反向工程。
也就是说,我在DefCon的展示会上展示了他们如何把它拆开。 在很多情况下,这些芯片没有熔合,或者芯片devise愚蠢地包含了一个未连接的debugging端口。 在别人身上,他们用化学方法去掉芯片层,用电子显微镜扫描芯片。 你永远不会从真正的专门黑客安全。
如果你愿意考虑破坏性预防措施,我想提供一个不同的方法。 考虑将一个大容量电容器焊接到您的硬盘驱动器和RAM上,在篡改检测(您决定使用方法/传感器)时,这些电容器将会损坏数据。
这个“防止”在没有人的空间意义上的访问可以在之后访问系统。 所以它逐字回答这个问题,而可能完全失去了你的意图。
电容器就是一个例子。 其他可能性存在。 问题是设备的天气破坏(或至less它所包含的数据)是可以接受的。
基于定时器的解决scheme也是可能的 – 除非设备每隔几分钟/小时就能ping回家… …自我破坏。 这个主题有许多不同的可能性。
一个潜在的解决scheme是使用全盘encryption,把钥匙放在USB存储卡上,然后把电脑放在一个带开门开关的金属盒子里,还有一些环境传感器。
一旦将USB驱动器放入端口(在“Vault”外部),然后从那里读取FDE密钥并引导系统,启动设备。 如果“Vault”被打开,打开开关将重置系统,擦除内存中的密钥。
如果环境允许,可以添加更多的传感器,如温度,加速度,湿度等。如果在报告的值中检测到突然的变化,则系统重置,所以如果小偷试图拿走系统在他的口袋里,它甚至在连接线断开之前就已经被重置了。