Red Hat Linux 7 中分区加密技术
一 分区加密简介
军工方面重要的保密安全措施技术,国际安全组织采取的一种对磁盘内容加密的解决方案,因为杀毒软件的后觉性是无法保证安全性更高的领域。所以在机密级别较高的领域采取主动性的安全解决方案,而分区加密是其中一种,其加密算法是运用当今国际最尖端的采用256位软硬件结合加密算法,除了密码之外还需要一个u-key, 同时支持256位数据加密,采用先进的数据隐藏技术、32位嵌入式微处理器和"真"随机数发生器,确保了分区加密的安全性和密钥的唯一性。
二 实验环境及内容
环境: Red Hat Linux 7
内容: 先分出一个分区,然后现在上面加密,然后再铺上文件系统,这样做的好处就是,当那个密码破解失败,那么文件内容也就会毁坏,能有效地保护我们的隐私内容。
三 具体操作
因为我们是做实验,所以首先先建立几个新的分区,
1>用命令 cat /proc/partitions 查看
如下:
[root@localhost Desktop]# cat /proc/partitions
major minor #blocks name
253 0 10485760 vda
253 1 10484142 vda1
253 16 10485760 vdb
7 0 3655680 loop0
接下来我们在 /dev/vdb 划分一个新的分区:
用命令 fdisk /dev/vdb 然后根据里面的提示划分一个:
在用cat /proc/partitions 查看
显然 我们的 /dev/vdb1已经划分成功
[root@localhost Desktop]# cat /proc/partitions
major minor #blocks name
253 0 10485760 vda
253 1 10484142 vda1
253 16 10485760 vdb
253 17 1048576 vdb1
7 0 3655680 loop0
2> 为新建立的分区进行加密
1:
使用命令 cryptsetup luksFormat /dev/vdb1
然后输入大写 YES 小写会没反应 我估计这里应该有个bug
然后输入密码: 大于 8 位 且不能太简单
[root@localhost Desktop]# cryptsetup luksFormat /dev/vdb1
WARNING!
========
This will overwrite data on /dev/vdb1 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
2:
接下来进行解密以及使用:
首先使用命令 cryptsetup open /dev/vdb1 haha(这个名字可以随便取) 进行解密
然后输入你刚才加密的密码:
然后对分区进行格式化:mkfs.xfs /dev/mapper/haha
在接着进行 挂载 mount /dev/mapper/haha /mnt 你可以随意挂载,这是我个人习惯
然后用 df 查看挂载有没有成功
[root@localhost Desktop]# cryptsetup open /dev/vdb1 haha
Enter passphrase for /dev/vdb1:
[root@localhost Desktop]# mkfs.xfs /dev/mapper/
control haha
[root@localhost Desktop]# mkfs.xfs /dev/mapper/haha
meta-data=/dev/mapper/haha isize=256 agcount=4, agsize=65408 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=261632, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost Desktop]# mount /dev/mapper/haha /mnt
[root@localhost Desktop]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 7014964 3458936 67% /
devtmpfs 927072 0 927072 0% /dev
tmpfs 942660 80 942580 1% /dev/shm
tmpfs 942660 17024 925636 2% /run
tmpfs 942660 0 942660 0% /sys/fs/cgroup
/dev/loop0 3654720 3654720 0 100% /var/www/html/pub
/dev/mapper/haha 1043116 32928 1010188 4% /mnt
3:
然我们现在就可以在这个加密的分区中进行操作了,比如说,你建立一些文件
然后将其卸载
然后关闭设备加密 》记得关闭之前必须先卸载》
然后 /mnt中就没有东西了
[root@localhost mnt]# touch file{1..10}
[root@localhost mnt]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
[root@localhost /]# umount /mnt
[root@localhost /]# cryptsetup close /dev/mapper/haha
[root@localhost /]# cd /mnt
[root@localhost mnt]# ls
4:
如果想打开之前那个机密设备可这样
cryptsetup open /dev/vdb1 heihei 解密
mount /dev/mapper/heihei /mnt 挂载
ls 查看
[root@localhost mnt]# cryptsetup open /dev/vdb1 heihei
Enter passphrase for /dev/vdb1:
[root@localhost mnt]# cd ..
[root@localhost /]# mount /dev/m
mapper/ mcelog mem mqueue/
[root@localhost /]# mount /dev/mapper/heihei /mnt
[root@localhost /]# cd /mnt
[root@localhost mnt]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
[root@localhost mnt]#
5:
如果你解密之后,还格式化,那么之前建立的那些文件也就不再了(格式化你们懂得,就相当于一个全新的一样)
四:附加内容,开机自动挂载(当然这个必要性不大,这里仅仅只供参考,还有这种方式)
接下来这些有兴趣的可以操作操作,我是实际操作成功的,因为必要性不是很大,所以仅仅提供文字形式。
有linux 基础的都可以看懂下面的操作,已经够直白,如有不明白,请留言。。。
vim /etc/crypttab 这个命令用来设定开机解密
如里面写: heihei /dev/vdb1 /root/passwd
vim /etc/fstab 开机自动挂载加密设备
/dev/mapper/heihei /mnt xfs defaults 0 0
vim /root/passwd 系统自动读取密码记录文件
这里面写解密密码: 如 2015haha
cryptsetup luksAddKey /dev/vdb1 /root/passwd 把密码记录文件和设备关联
Enter any passphrase: 输入密码就可如:2015haha
然后你就可以重起了。