我已转移到 Ubuntu 12 并选择使用全盘加密(加密 LVM)。
所以现在我想知道:我应该切碎(例如:使用安全删除包,srm)可用磁盘空间以删除可能留下的任何剩余窗口吗?
可用磁盘空间的处理方式有什么不同吗?
如果我使用“cryptsetup --verbose --cipher=aes-cbc-essiv:sha256 --key-size=256 luksFormat /dev/foo /my/keyfile”设置一个新的luks卷,它需要我输入“YES”实际上做任何事情。有没有办法跳过这个提示,所以我可以从脚本中运行它?
安全原则说,如果其他人可以物理访问一台机器,那么就没有安全/隐私。我想知道在我想要一个带有全盘加密的托管虚拟专用服务器 (VPS) 的情况下的一些示例。在安装 Ubuntu 时,您可以选择设置这种加密,其中您的每个分区(root、home、swap 等)都在一个大的 LUKS 加密卷中。
假设您没有在此 VPS 上设置自动输入 LUKS 密码(而是在每次重新启动时通过 SSH 手动输入,使用创造性的解决方案,如https://unix.stackexchange.com/questions/5017/ssh-to -decrypt-encrypted-lvm-during-headless-server-boot),以便其他人尝试重新启动您的系统必须知道密码。
这种解决方案有哪些安全或隐私风险?VPS 托管公司的员工或某些中间人能否以某种方式访问您的数据?当然他们可以随时拍摄整个服务器的快照,但是为了启动它,他们需要密码,那么他们如何访问图像中的内容?
他们能以某种方式窥探 SSH 密钥或加密密码吗?
因为他们在托管 VPS 实例的物理机器上拥有 root 权限,所以他们怎么可能在我的 VPS 上获取 root 权限?
他们可以记录通过 SSH 发送到 VPS 的击键吗?如果 SSH 只保护通信,直到它在服务器上被解密,那么他们能看到您实际发送到服务器的内容吗?
我假设您的服务器正在运行时可能会损坏,而不是在服务器关闭时,对吗?那么当服务器运行时(在你已经输入了 LUKS 密码之后),他们能做什么?如果他们拍摄了您的系统的快照,他们可以用它做什么?
只是试图通过在其他人可以物理访问的服务器(即 VPS)上进行全盘加密来了解我获得的安全/隐私与我没有获得的安全/隐私。
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
我发现了一个 Mumble 服务器的性能问题,我在上一个问题中描述了它是由未知来源的 I/O 延迟问题引起的。由于我不知道是什么导致了这种情况以及如何进一步调试它,因此我在询问您对这个主题的想法。
我正在运行Hetzner EX4S 根服务器作为 KVM 管理程序。该服务器运行 Debian Wheezy Beta 4,并通过 LibVirt 使用 KVM 虚拟化。
服务器有两个不同的 3TB 硬盘,因为在报告 SMART 错误后更换了其中一个硬盘。第一个硬盘是 Seagate Barracuda XT ST33000651AS(512 字节逻辑,4096 字节物理扇区大小),另一个是 Seagate Barracuda 7200.14 (AF) ST3000DM001-9YN166(512 字节逻辑和物理扇区大小)。有两个 Linux 软件 RAID1 设备。一个用于未加密的引导分区,另一个用作加密其余部分的容器,使用两个硬盘驱动器。
后一个 RAID 设备内部有一个 AES 加密的 LUKS 容器。在 LUKS 容器内有一个 LVM 物理卷。虚拟机管理程序的 VFS 在描述的 LVM 物理卷上分为三个逻辑卷:一个用于 /,一个用于 /home,一个用于交换。
下面是块设备配置栈的示意图:
sda (Physical HDD)
- md0 (RAID1)
- md1 (RAID1)
sdb (Physical HDD)
- md0 (RAID1)
- md1 …Run Code Online (Sandbox Code Playgroud) 我有很多 NVMe 磁盘的服务器。我正在fio使用以下方法测试磁盘性能:
fio --name=asdf --rw=randwrite --direct=1 --ioengine=libaio --bs=16k --numjobs=8 --size=10G --runtime=60 --group_reporting
对于单个磁盘,LUKS 对性能影响不大。
我尝试mdadm在raid10+ 一个 XFS 文件系统中使用6 个磁盘。它表现良好。
但是当我在 mdadm 设备上创建一个 LUKS 容器时,我得到了糟糕的性能:
回顾一下:
mdadmRAID10 + XFS = 正常性能的 116%,即与单盘 + XFS 相比,写入吞吐量和 IOPS提高16%mdadmRAID10 + LUKS + XFS = 正常性能的 33%,即与单盘 + XFS 相比,写入吞吐量和 IOPS差67%在所有其他场景中,我没有观察到 LUKS 和非 LUKS 之间的这种性能差异。这包括 LVM 跨越、条带化和镜像。换句话说,mdadm具有 6 个磁盘的 RAID10(我理解这是跨越 3 个 2 磁盘镜像)、一个 …
我的系统设置如下:
boot分区)。debian系统安装在那里。为了在启动时从远程解锁 LUKS 设备,我尝试使用 dropbear-initramfs。
效果很好,解锁第一个 LUKS设备(在 SSD 上,安装了 debian 系统):
cryptroot-unlock,插入钥匙,然后解锁但要解锁第二个 LUKS设备(在 RAID0 上),我仍然需要一些控制台。
有没有办法使用 dropbear-initramfs / busybox 一起(或相继)解锁两个 LUKS 设备?蒂亚!
我正在编写一个 Chef LWRP 来向 LUKS 容器添加一个密钥,但我很难想出一种方法来确定我的密钥是否已经存在。 cryptsetup luksAddKey会很高兴地多次添加相同的密钥文件,所以我不能简单地继续调用luksAddKey每个 Chef 运行。
到目前为止,我想出的最好的是
cryptsetup luksDump /dev/xvdf1 --dump-master-key --key-file <thenewkey> > /dev/null
Run Code Online (Sandbox Code Playgroud)
那看起来:
有人有更好的主意吗?
谢谢!
我在 CentOS 5 上使用 cryptsetup luks 加密对一堆硬盘进行了加密。一切都很好,直到我将系统升级到 CentOS 6。现在我无法再挂载磁盘了。
使用我的关键词安装:
sudo cryptsetup luksOpen /dev/sdc1 d2
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
device-mapper: reload ioctl on failed: Invalid argument
Failed to setup dm-crypt key mapping for device /dev/sdc1.
Check that kernel supports aes-xts-plain64 cipher (check syslog for more info).
Failed to read from key storage.
Run Code Online (Sandbox Code Playgroud)
在 /var/log/messages 中:
Feb 3 23:43:23 data kernel: device-mapper: table: 253:0: crypt: Device lookup failed
Feb 3 23:43:23 data kernel: device-mapper: ioctl: error adding target to table
Run Code Online (Sandbox Code Playgroud)
关于如何安装有什么想法吗?
我在一台虚拟机中使用 Ubuntu 16.04 LTS 服务器,其中一个未加密的硬盘用于存储某些任意数据,/另一个 LUKS 加密的硬盘用于存储某些任意数据。系统正确启动并登录后,加密磁盘将在 shell 中手动打开并使用密码安装。这按预期工作。
问题在于,systemd 在启动期间已尝试对这个加密驱动器执行某些操作,但失败、遇到超时并随后继续前进,这会花费一分钟多的启动时间。
在以前版本的 Ubuntu 中,它会自动要求输入密钥来解锁驱动器,但这对于 UB 14.04 来说已经无法正常工作,现在也同样如此。systemd 没有打印任何我应该输入密码的文本,没有提示或其他。它只是识别出它想做的事情中的错误,并在一段时间后继续。
我不明白的是问题实际上是什么以及为什么 systemd 想要做任何事情,即使它不提示输入密码等。如果有人能给我指明正确的方向,让我知道如何让 systemd 正确提示输入密码,或者让它根本不对我的设备执行任何操作,那就太好了。不确定我目前更喜欢什么。;-)
systemd 打印错误:
May 1 01:28:23 example.org systemd[1]: dev-disk-by\x2duuid-7d39d2ed\x2df91f\x2d456e\x2daa31\x2d851cfe48de1b.device: Job dev-disk-by\x2duuid-7d39d2ed\x2df91f\x2d456e\x2daa31\x2d851cfe48de1b.device/start timed out.
May 1 01:28:23 example.org systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-7d39d2ed\x2df91f\x2d456e\x2daa31\x2d851cfe48de1b.device.
May 1 01:28:23 example.org systemd[1]: Dependency failed for Cryptography Setup for mnt_luks_crypt.
May 1 01:28:23 example.org systemd[1]: Dependency failed for dev-mapper-mnt_luks_crypt.device.
May 1 01:28:23 example.org systemd[1]: dev-mapper-mnt_luks_crypt.device: Job dev-mapper-mnt_luks_crypt.device/start failed with result …Run Code Online (Sandbox Code Playgroud)