在Debian上安装LUKS并创建加密的LUKS分区
时间:2020-03-21 11:45:34 来源:igfitidea点击:
我们将安装Linux统一密钥设置(LUKS)软件并创建一个加密的LUKS卷。
我们将使用Debian Wheezy服务器。
更新软件包列表并安装cryptsetup:
# apt-get update && apt-get install cryptsetup
加载内核模块:
# modprobe dm_crypt
安装用于进度监控的pv软件包,该软件包将在以后使用:
# apt-get install pv
设置LUKS分区
我们的磁盘分区表如下所示:
# fdisk -l | grep -i "/dev/sd" Disk /dev/sda: 32.0 GB, 32016047552 bytes /dev/sda1 * 2048 60547071 30272512 fd Linux RAID autodetect /dev/sda2 60547072 62531583 992256 82 Linux swap/Solaris Disk /dev/sdb: 32.0 GB, 32014965696 bytes /dev/sdb1 * 2048 60547071 30272512 fd Linux RAID autodetect /dev/sdb2 60547072 62531182 992055+ 83 Linux
我们将在1GB分区'/dev/sdb2'上设置LUKS卷。
创建LUKS分区
我们想要两次验证密码,使用详细模式并设置密码字符串:
# cryptsetup -v -y --cipher "aes-xts-plain64:sha512" \ --key-size 512 --hash sha512 --iter-time 5000 \ --use-random luksFormat /dev/sdb2 WARNING! ======== This will overwrite data on /dev/sdb2 irrevocably. Are you sure? (Type uppercase yes): YES Enter LUKS passphrase: Verify passphrase: Command successful.
[更新]:cryptsetup的1.6.0版将默认设置更改为XTS模式下的AES密码。
建议不要使用以前的默认密码aes-cbc-essiv,因为它存在已知问题和针对它们的实际攻击。
解锁LUKS分区
创建分区后,让我们去解锁它:
# cryptsetup luksOpen /dev/sdb2 data Enter passphrase for /dev/sdb2:
上面的命令应创建以下映射器:
/dev/mapper/data
格式化LUKS卷并创建文件系统
我们想用零覆盖LUKS卷,以确保外界将其视为随机数据,从而防止使用模式的泄露:
# pv -tpreb /dev/zero | dd of=/dev/mapper/data bs=1M dd: writing `/dev/mapper/data': No space left on device 966MB 0:00:58 [16.6MB/s] 0+7729 records in 0+7728 records out 1012924416 bytes (1.0 GB) copied, 70.8432 s, 14.3 MB/s
格式化操作完成后,我们可以继续创建文件系统(在这种情况下为ext4):
# mkfs.ext4 /dev/mapper/data -L data mke2fs 1.42 (29-Nov-2011) Filesystem label=data OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 61824 inodes, 247296 blocks 12364 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=255852544 8 block groups 32768 blocks per group, 32768 fragments per group 7728 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done
挂载LUKS音量
为LUKS卷创建一个新的挂载点:
# mkdir /data
挂载卷:
# mount /dev/mapper/data /data
可以通过以下方式卸载和关闭LUKS卷:
# umount /data # cryptsetup luksClose data
列表上的下一件事:添加一个备份密钥并备份LUKS标头。