如何在Linux中使用'Cryptsetup'工具设置加密的文件系统和交换空间 - 第3部分

在本文中,我们将讨论如何使用dm-crypt(设备映射器和加密的缩写)设置加密的文件系统,标准内核级

一个联邦经济竞争法 (简称Linux基金会认证工程师 )的培训,并具有安装,管理,并在Linux系统解决网络服务的专业知识,并负责设计,执行和系统架构的持续维护。

Linux硬盘加密

Linux文件系统加密

Linux基础认证计划(LFCE)简介。

加密的理念是只允许受信任的人访问您的敏感数据,并保护它不会落入错误的手中,以防丢失或盗窃您的机器/硬盘。

简单来说,一个键用于“ 锁定 ”访问的信息,以便它当系统正在运行,并且由授权用户解锁变得可用。 这意味着,如果一个人试图检查磁盘内容(将其插入到自己的系统或通过使用LiveCD / DVD / USB引导机器),他将只找到不可读的数据,而不是实际的文件。

在这篇文章中,我们将讨论如何建立与对于dm-crypt(简称设备映射器和加密),标准的内核级加密工具加密的文件系统。 请注意,由于DM-隐窝是块级工具,它只能被用于加密完整设备,分区或回路设备(不会在常规的文件或目录工作)。

准备驱动器/分区/回路设备进行加密

因为我们会擦出( 为/ dev / sdb的 )出现在我们所选择的驱动器的所有数据,首先,我们需要进一步讨论之前执行包含在该分区中的所有重要文件的备份。

擦拭从/ dev / sdb的所有数据。 我们要在这里用dd命令,但你也可以用其它工具,如一丝一毫做到这一点。 接下来,我们将在此设备上创建一个分区中,/ dev / sdb1的 ,在后面的说明第4部分-在Linux中创建分区和文件系统的LFCS系列。

# dd if=/dev/urandom of=/dev/sdb bs=4096 
测试加密支持

在我们继续进行之前,我们需要确保我们的内核已经编译加密支持:

# grep -i config_dm_crypt /boot/config-$(uname -r)
检查Linux中的加密支持

检查加密支持

作为图像在上面概述的,DM-隐窝内核模块需要为了建立加密被装载。

安装Cryptsetup

Cryptsetup是用于创建,配置,访问和管理使用dm-crypt加密文件系统的一个前端接口。

# aptitude update && aptitude install cryptsetup 		[On Ubuntu]
# yum update && yum install cryptsetup 				[On CentOS] 
# zypper refresh && zypper install cryptsetup 			[On openSUSE]

设置加密分区

对于cryptsetup的默认运行方式是LUKS(Linux的统一密钥设置 ),所以我们会坚持下去。 我们将首先设置LUKS分区和密码:

# cryptsetup -y luksFormat /dev/sdb1
创建加密分区

创建加密分区

上述命令运行cryptsetup使用默认参数,可以与上市,

# cryptsetup --version
Cryptsetup参数

Cryptsetup参数

如果要更改密码哈希 ,或关键参数,您可以使用-cipher,-hash-key大小的标志,分别与从/ proc /密码的取值。

接下来,我们需要打开LUKS分区(我们将提示您输入之前输入的密码)。 如果认证成功,我们的加密分区将可里面的/ dev /映射器使用指定的名称:

# cryptsetup luksOpen /dev/sdb1 my_encrypted_partition
加密分区

加密分区

现在,我们将进行格式化分区为ext4。

# mkfs.ext4 /dev/mapper/my_encrypted_partition

并创建一个挂载点来挂载加密分区。 最后,我们可能需要确认安装操作是否成功。

# mkdir /mnt/enc
# mount /dev/mapper/my_encrypted_partition /mnt/enc
# mount | grep partition
在Linux中挂载加密分区

安装加密分区

当您完成对加密文件系统的写入或读取操作时,只需卸载它

# umount /mnt/enc

并关闭LUKS分区使用,

# cryptesetup luksClose my_encrypted_partition
测试加密

最后,我们将检查我们的加密分区是否安全:

1.打开LUKS分区

# cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

2.输入密码

3.安装分区

# mount /dev/mapper/my_encrypted_partition /mnt/enc

4.在装载点内创建一个虚拟文件。

# echo “This is Part 3 of a 12-article series about the LFCE certification” > /mnt/enc/testfile.txt

5.验证您是否可以访问刚刚创建的文件。

# cat /mnt/enc/testfile.txt

6.卸载文件系统。

# umount /mnt/enc

7.关闭LUKS分区。

# cryptsetup luksClose my_encrypted_partition

8.尝试将该分区装载为常规文件系统。 它应该指示一个错误。

# mount /dev/sdb1 /mnt/enc
测试分区上的加密

测试分区上的加密

加密交换空间以进一步确保安全

先前输入使用加密分区的密码存储在RAM内存,而它的开放。 如果有人可以得到他的手上这个密钥,他将能够解密数据。 这在笔记本电脑的情况下尤其容易做到,因为休眠时RAM的内容保存在交换分区上。

为了避免将您的密钥的副本留给窃贼,请按照以下步骤加密交换分区:

1创建要用作具有(在本例中的/ dev / SDD1)适当大小的交换和如前所述进行加密的分区。 命名为方便起见,它只是“ 交换 ”“。

2.将其设置为交换并激活它。

# mkswap /dev/mapper/swap
# swapon /dev/mapper/swap

3.接下来,更改/ etc / fstab中相应的条目。

/dev/mapper/swap none        	swap	sw          	0   	0

4.最后,编辑/ etc / crypttab和重启。

swap               /dev/sdd1         /dev/urandom swap

系统完成引导后,您可以验证交换空间的状态:

# cryptsetup status swap
检查交换加密状态

检查交换加密状态

概要

在本文中,我们探讨了如何加密分区和交换空间。 使用此设置,您的数据应该是相当安全。 欢迎随时进行实验,如果您有任何问题或意见,欢迎随时与我们联系。 只要使用下面的表格 - 我们将很高兴听到你的声音!