Luks磁盘加密介绍
LUKS(Linux Unified Key Setup)为Linux硬盘分区加密提供了一种标准,它不仅能通用于不同的Linux发行版本,还支持多用户/口令。因为它的加密密钥独立于口令,所以 如果口令失密,我们可以迅速改变口令而无需重新加密整个硬盘。通过提供一个标准的磁盘上的格式,它不仅方便之间分布的兼容性,而且还提供了多个用户密码的 安全管理。必须首先对加密的卷进行解密,才能挂载其中的文件系统。
Crypsetup工具加密的特点:
1. 加密后不能直接挂载
2.加密后硬盘丢失也不用担心数据被盗
3。加密后必须做映射才能挂载
原理:加密层在文件系统之上,当加密层被破坏,文件无法被解密,因此无法读取数据。
加密磁盘及加密后的磁盘挂载使用
我们现在有一块磁盘 /dev/vdb2 现在对这块磁盘进行加密。
cryptsetup luksFormat /dev/vdb2 对磁盘进行加密
cryptsetup open /dev/vdb2 westos 解密磁盘,生成一个自己命名的虚拟磁盘westos
ll /dev/mapper 查看虚拟磁盘
mkfs.xfs /dev/mapper/gaoqi 给磁盘安装文件系统
mount /dev/mapper/gaoqi /mnt 挂载
可以使用此设备了!!!
cd /mnt
touch file{1..10}
ls 查看到刚才建立的文件
umount /mnt/ 卸载
cryptsetup close /dev/mapper/gaoqi 上锁,完成本次操作后下次解密与本次无关,虚拟磁盘名称可以随意变化。
加密成果的测试(在未上锁之前进行)
我在/etc 建立文件file1 并写入hello world
dd if=/dev/zero of=/mnt/file1 bs=512count=1 从加密的设备中截取数据
hexdump -C /mnt/file1 数据分析,无法查看
再次使用此设备
cryptsetup open /dev/vdb1 second 解密,生成新的虚拟磁盘second
mount /dev/mapper/westos /mnt/ 挂载虚拟磁盘
加密磁盘自动挂载
1. vim /etc/fstab
写入:
/dev/mapper/second /mnt xfs defaults 0 0
2.vim /etc/crypttab
写入:
second /dev/vdb2 /root/vdb2passwd
3. vim /root/vdb1passwd
写入(密码):
2018westos
为了防止密码的泄露,更改文件权限:
chmod 600 /root/vdb1passwd
4. cryptsetup luksAddKey /dev/vdb1 /root/vdb1passwd 建立设备与密码的联系
5. reboot
df
[root@server ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3161312 7312588 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12776 472156 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/second 96940 5180 91760 6% /mnt
发现自动挂载
去除加密
1.vim /etc/fstab
删除刚写入的内容
2. vim /etc/crypttab
删除刚写入的内容
3.umount /mnt 卸载
df
4. cryptsetup close second 关闭虚拟设备
5. mkfs.xfs /dev/vdb1 -f 格式化设备(强制)
6. mount /dev/vdb1 /mnt 重新挂载