我在 RAID-1 系统加密设备(LUKS 上的 LVM)上安装了一个 Debian Linux 系统(amd64),并且将有一个 RAID-6 的 >=4 个磁盘,我将在其中放置我的数据(LUKS 和 LVM)。
我认为基本的想法是解锁系统加密分区(在本地启动或通过 ssh 启动)并将密钥文件存储在 /etc/crypttab 中以用于 RAID-6 加密分区。这会带来安全风险吗?我的意思是......如果任何人都可以在本地/远程进入我的系统,那么这是非常无用的,而且我认为在容易受到“rooting”(例如 SSH)影响的服务器上运行的服务很多。是否有替代方法(除了通过 SSH 解锁分区之外,这可能是一个问题,因为例如备份操作甚至在数据分区安装之前就开始了)。
在另一台机器上,我将使用带有 LUKS+greyhole(无 RAID-6)的多个磁盘进行备份,通过输入 10 次相同的密码来解锁 10 个磁盘将是一个真正的痛苦......
我想创建一个专用的物理服务器,它将在我的 LAN(以及通过 VPN)内用作 NAS 和文件服务器。
但是我需要完全加密驱动器(系统驱动器和数据驱动器,因为我想我将使用两个 zpools)。由于 FreeBSD 支持的版本 28(以及 OpenIndiana、Nexenta 等)不支持 ZFS 加密,因此唯一的可能性似乎是使用 GELI。
现在我在考虑在 ZFS 之上添加 GELI 层是否会导致数据丢失。互联网上的一些帖子(虽然不是很多)似乎指出了这个问题。特别是,考虑到 RAID(Z) 和校验和的集成,ZFS 似乎是比 Unix/Linux 世界中的任何其他文件系统(例如 ext4、xfs 以及 btrfs)都要优越得多的文件系统。
现在在此之上添加 GELI 对我来说就像在 RAID 设置之上添加 LUKS 一样,尽管我从未体验过 Geli 并且不知道它的可靠性。性能不是主要问题,尽管我不想在我的 LAN 上进行 1MB/s 的传输(尽管 >20MB/s 是可以接受的)。
我从来没有离开过我的 Linux 世界,所以我没有使用 FreeBSD 或 Solaris 衍生产品的经验。由于付费(昂贵)的支持问题,我宁愿不使用 Solaris Express 11。这将是一台家里的电脑。如有必要,我愿意学习它们。
服务器将需要执行基本的 NAS 任务(特别是 samba/cifs 文件共享,我不需要与较新的 ZFS 版本集成的那些)。
考虑到加密层,GELI + ZFS 会比 LUKS + LVM + ext4 更可靠还是更不可靠?我在另一篇关于超级用户的帖子中问过,由于 ZFS,他们建议使用 FreeBSD/Solaris(es),尽管我们没有谈论加密。不知道 OpenIndiana 等是否支持像 LUKS 或 GELI 这样的块加密方法。 …
我已经问过一次关于Linux中多个 HDD 的 LUKS 解锁:LUKS 和多个硬盘驱动器。
现在我想知道如何安全存储用于自动解锁关联分区的密钥文件。
我的计划是(如果可能的话):
使用需要密码短语的 LUKS 加密小型 USB 驱动器
使用密码在启动时将其解锁为第一个驱动器
将其挂载到给定的挂载点,例如 /test(这可能吗?)
现在可以安全地读取密钥文件:/test/keyfile
使用密钥文件解锁其他驱动器而无需询问密码
Luks关闭USB驱动器以确保其他驱动器解锁后的一定程度的安全
像往常一样自动挂载 /、/usr、/var 和其他挂载点
这能行吗?基本上,我将 LUKS 密钥文件存储在密码加密的 LUKS USB 驱动器上,该驱动器只要求输入一次密码,而所有其他驱动器无需进一步操作即可解锁。我不确定是否有某种方法可以先解锁 USB 驱动器,然后安装,然后其他驱动器才尝试访问密钥文件。此外,在自动化方面,我认为 /etc/fstab 和 /etc/crypttab 应该可以在其他驱动器安装之前访问,但是如果整个 / 文件系统是 LUKS 加密的,则这是不可能的。
除非有可能完全手动配置 LUKS 的工作方式:
LuksOpen /dev/sdc1 usb_keyfile
挂载 /dev/mapper/usb_keyfile /keyfile (这可能吗?)
LuksOpen --keyfile /keyfile/key /dev/sda1 disk1
LuksOpen --keyfile /keyfile/key /dev/sdb1 disk2
Luks关闭 /dev/sdc1
基本上能够在加载所需模块后立即运行 shell 脚本并禁用自动 LUKS 密码提示。
其他详细信息