今天,我们的一位开发人员的笔记本电脑从他家偷走了。显然,他拥有公司源代码的完整 svn checkout,以及 SQL 数据库的完整副本。
这是我个人反对允许公司使用个人笔记本电脑工作的一个重要原因。
但是,即使这是公司拥有的笔记本电脑,我们仍然会遇到同样的问题,尽管我们在整个磁盘上强制执行加密 (WDE) 方面会处于一个稍微强一点的位置。
问题是这些:
我有一个虚拟化的 CentOS 7 服务器,它需要挂载多个受密码保护的加密卷。我无法在启动时自动映射设备,因为在启动过程中我无法访问控制台以输入解密密码。重新启动系统后,我必须手动运行
cryptsetup luksOpen <device> <name>
Run Code Online (Sandbox Code Playgroud)
将每个底层块设备映射到加密设备。这需要记录每个底层块设备的 UUID 及其映射到的名称。有没有简单的方法来自动化这个过程?我可以/etc/crypttab使用noauto关键字添加信息以防止设备在启动时挂载。但是,我无法让 cryptsetup 使用此文件中的信息。
如果有这样的命令这将是巨大的cryptsetup luksOpen <name>,将读取/etc/crypttab找到基本块设备(类似于你可以能方式的名称mount <mountpoint>,如果被定义/etc/fstab)。
有没有办法让 cryptsetup 从中读取映射/etc/crypttab?
我们需要在可从 Hyper-V 虚拟机内访问的 iSCSI LUN 上强制执行静态加密。
我们已经使用 BitLocker 实施了一个可行的解决方案,在 Hyper-V 虚拟服务器上使用 Windows Server 2012,该服务器具有对我们 SAN 上的 LUN 的 iSCSI 访问权限。我们能够通过使用THIS POST 中定义的“软盘密钥存储”黑客成功地做到这一点。但是,这种方法对我来说似乎很“笨拙”。
在我的持续研究中,我发现亚马逊企业 IT 团队发布了一份白皮书,其中准确概述了我在更优雅的解决方案中寻找的内容,没有“软盘黑客”。在本白皮书的第 7 页,他们声明他们实施了Windows DPAPI 加密密钥管理来安全地管理他们的 BitLocker 密钥。这正是我想要做的,但他们说他们必须编写一个脚本来做到这一点,但他们没有提供脚本,甚至没有提供关于如何创建脚本的任何指示。
有没有人详细了解如何创建“与服务和受服务器计算机帐户 DPAPI 密钥保护的密钥库文件结合的脚本”(正如他们在白皮书中所述)来管理和自动解锁 BitLocker 卷?任何建议表示赞赏。
--- 编辑 1 ---
根据下面埃文的回复,这是我想出来的,但我仍然被卡住了。
我假设使用PsExec并运行以下命令,PowerShell 正在系统帐户下运行,并且它将“使用机器帐户的密码加密字符串”,正如 Evan 所说。这样对吗?
PsExec.exe -i -s Powershell.exe
Run Code Online (Sandbox Code Playgroud)
然后在 PS 中,(使用这篇文章作为参考)我运行这个命令来生成 SecureString 密码:
ConvertTo-SecureString -String "MyBitLockerPassword" -AsPlainText –Force | ConvertFrom-SecureString | Out-File C:\securestring.txt
Run Code Online (Sandbox Code Playgroud)
这给了我一个包含“01000000d08c...”格式的安全字符串的文件(总共524个字符)。然后,我现在可以创建一个在启动时运行的计划任务,它使用以下内容加载密码(作为 SecureString)并将其传递给Unlock-BitLocker命令: …
iscsi bitlocker disk-encryption amazon-ec2 windows-server-2012
当我跑步时:
\n\nLANG=C cryptsetup --debug luksClose /dev/mapper/Pool-A\n\nit fails as follows:\n\n device-mapper: remove ioctl on Pool-A failed: Device or resource busy\n\nDevice /dev/mapper/Pool-A is still in use.\nCommand failed with code 16: Device or resource busy\nRun Code Online (Sandbox Code Playgroud)\n\n(...)(重复了很多这样的台词)
\n\n# cryptsetup 1.7.2 processing "cryptsetup --debug luksClose /dev/mapper/Pool-A"\n# Running command close.\n# Locking memory.\n# Installing SIGINT/SIGTERM handler.\n# Unblocking interruption on signal.\n# Allocating crypt device context by device /dev/mapper/Pool-A.\n# Initialising device-mapper backend library.\n# dm version OF [16384] (*1)\n# dm versions OF [16384] (*1)\n# Detected dm-crypt version …Run Code Online (Sandbox Code Playgroud) 我使用dm-crypt来加密分区。我正在使用消费者(或专业消费者)类别的硬件构建一个小型办公服务器。这让我想知道,硬件辅助加密多年来一直是一个悬而未决的概念,它是现实吗?
我的问题的两个关键点是:
奖励:与TPM 芯片相同的两个问题。制造商是否已经将它们集成到他们的硬件中?它们受 Linux 支持吗?他们会加速吗?他们有什么性能优势吗?
有哪些方法可用于完全加密远程服务器(例如,位于数据中心)上的磁盘?在 Windows 上,我们可以使用 TPM 打开 Bitlocker。然后服务器可以重新启动,攻击要么需要在运行时占用机器并转储 RAM,要么破坏 TPM。在 Linux 上,有什么可用的?
到目前为止,我已经找到了描述如何在 TPM 中存储 dm-crypt 密钥的 IBM“蓝图”。这是最好的方法吗?
http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaai/tpm/liaaitpm_pdf.pdf
我已转移到 Ubuntu 12 并选择使用全盘加密(加密 LVM)。
所以现在我想知道:我应该切碎(例如:使用安全删除包,srm)可用磁盘空间以删除可能留下的任何剩余窗口吗?
可用磁盘空间的处理方式有什么不同吗?
alg: drbg: could not allocate DRNG handle for ...
Run Code Online (Sandbox Code Playgroud)
我只在我们创建的虚拟机启动过程中在控制台上看到这个错误。编辑:2/5/16 - 我在一些裸机安装上也看到了它。(它确实会完全启动。)我认为这与虚拟化硬件和缺少(兼容的)随机数生成器有关。问题是我无法评估严重程度。加密强度是否受到影响?(我应该关心这个错误吗?)我该如何解决?
我们在 CentOS 6.7 下使用 QEMU/KVM。virsh dumpxml 如果你真的认为它会有所帮助,我可以做一个示例系统。我们正在使用Anaconda 默认密码/密钥大小。(aes-xts-plain64/512)
这是我在linux-crypto mailing list上找到的最早的参考资料。不幸的是,这有点超出我的想象。
http://www.mail-archive.com/linux-crypto%40vger.kernel.org/msg10398.html
我很快就会为我们的移动员工购买一些运行 Windows 7 的笔记本电脑。由于我们业务的性质,我需要驱动器加密。Windows BitLocker 似乎是显而易见的选择,但看起来我需要购买 Windows 7 Enterprise 或 Ultimate 版本才能获得它。任何人都可以提供有关最佳行动方案的建议:
a) 使用 BitLocker,咬紧牙关,付费升级到 Enterprise/Ultimate
b) 购买另一个更便宜的 3rd 方驱动器加密产品(建议表示赞赏)
c) 使用免费的驱动加密产品,例如 TrueCrypt
理想情况下,我也对使用驱动器加密软件的人的“真实世界”体验和任何需要注意的陷阱感兴趣。
提前谢谢了...
更新
由于以下原因,决定使用 TrueCrypt:
a) 产品有良好的记录
b) 我没有管理大量笔记本电脑,因此与 Active Directory、管理控制台等集成并不是一个巨大的好处
c) 尽管 eks 确实对 Evil Maid (EM) 攻击提出了很好的观点,但我们的数据并不能将其视为主要因素
d) 成本(免费)是一大优势,但不是主要动力
我面临的下一个问题是成像 (Acronis/Ghost/..) 加密驱动器将无法工作,除非我执行逐个扇区的成像。这意味着一个 80Gb 的加密分区会创建一个 80Gb 的图像文件:(