加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

UNIX分区加密

发布时间:2022-10-17 13:31:21 所属栏目:Unix 来源:网络
导读: 有(许多)其他替代方法来加密磁盘,我只呈现我所知道和使用的方法。请记住,安全只是系统还未经过实际考验而已。入侵者可以轻易通过键盘事件记录密码。此外,当已经加载了分区,其数据是可以

有(许多)其他替代方法来加密磁盘,我只呈现我所知道和使用的方法。请记住,安全只是系统还未经过实际考验而已。入侵者可以轻易通过键盘事件记录密码。此外,当已经加载了分区,其数据是可以自由访问的,并不会阻止入侵者去访问它。

Linux

这部分我们使用可用于 2.6 内核的 Linux dm-crypt (device-mapper)。在这个实例中,让我们加密/dev/sdc1分区,它可为任何其他分区、磁盘、USB或者用losetup创建的基于文件的分区。对于基于文件的分区unix 分区加密,我们使用/dev/loop0。看。Device mapper 利用标签来标识一个分区。我们使用sdc1作为此标签,但可以为任何字符串。

dm-crypt with LUKS

LUKS 和 dm-crypt 是较好的加密技术,并且可为同一个分区设置多个口令,更改密码也很方便。可简单输入# cryptsetup --help来测试 LUKS 是否可用。如果没有显示任何关于 LUKS 的信息,可看下面的介绍。第一步如果需要的话创建一个分区:fdisk /dev/sdc。

创建加密分区

#?dd?if=/dev/urandom?of=/dev/sdc1??????????#?可选
#?cryptsetup?-y?luksFormat?/dev/sdc1???????#?这破坏了在?sdc1?上的数据
#?cryptsetup?luksOpen?/dev/sdc1?sdc1
#?mkfs.ext3?/dev/mapper/sdc1???????????????#?创建?ext3?文件系统
#?mount?-t?ext3?/dev/mapper/sdc1?/mnt
#?umount?/mnt
#?cryptsetup?luksClose?sdc1????????????????#?Detach?已加密的分区

Attach

#?cryptsetup?luksOpen?/dev/sdc1?sdc1
#?mount?-t?ext3?/dev/mapper/sdc1?/mnt

Detach

#?umount?/mnt
#?cryptsetup?luksClose?sdc1

dm-crypt without LUKS

#?cryptsetup?-y?create?sdc1?/dev/sdc1??????#?或任何其他分区像?/dev/loop0
#?dmsetup?ls???????????????????????????????#?检查一下,将显示:sdc1?(254,?0)
#?mkfs.ext3?/dev/mapper/sdc1???????????????#?只有第一次要这么做!

#?mount?-t?ext3?/dev/mapper/sdc1?/mnt
#?umount?/mnt/
#?cryptsetup?remove?sdc1???????????????????#?Detach?已加密的分区

这样做等同于(非 mkfs 部分) re-attach 分区。如果密码不正确,mount 命令将会失败。对于这个例子,只要简单的移除 sdc1 (cryptsetup remove sdc1)并重建即可。

FreeBSD

两个流行的 FreeBSD 磁盘加密模块为gbde和geli。我现在使用geli原因是它够快并且它使用加解密硬件加速设备。详情可看FreeBSD 使用手册 18.6。geli模块必须已编译或加载进内核:

options?GEOM_ELI
device?crypto???????????????????????????????????????#?内核配置文件中加入这两行
#?echo?'geom_eli_load="YES"'?>>?/boot/loader.conf???#?也可以在系统引导时加载或者做:kldload?geom_eli

使用密码和密钥

我为一个典型的磁盘加密使用这些设置,其使用了一个口令和一个加密主密钥(master key)的密钥。这意味着你需要密码和生产的密钥/root/ad1.key来 attach 分区。主密钥存储在这个加密分区中并且不可见。看下面为 USB 或 映像文件的加密设置。

创建加密分区

#?dd?if=/dev/random?of=/root/ad1.key?bs=64?count=1??#?加密主密钥的密钥
#?geli?init?-s?4096?-K?/root/ad1.key?/dev/ad1???????#?对于磁盘也可用?-s?8192
#?geli?attach?-k?/root/ad1.key?/dev/ad1?????????????#?将?/dev/ad1?与所生成的密钥?/root/ad1.key?关联
#?dd?if=/dev/random?of=/dev/ad1.eli?bs=1m???????????#?可选,需要很长时间
#?newfs?/dev/ad1.eli????????????????????????????????#?创建文件系统#?mount?/dev/ad1.eli?/mnt

Attach

#?geli?attach?-k?/root/ad1.key?/dev/ad1
#?fsck?-ny?-t?ffs?/dev/ad1.eli??????????????????????#?检查文件系统#?mount?/dev/ad1.eli?/mnt

Detach

Detach 步骤会在关机时自动完成。

unix 分区加密_金士顿u盘分区加密_unix命令行 切换分区

#?umount?/mnt
#?geli?detach?/dev/ad1.eli

/etc/fstab

加密分区在 /etc/fstab 中配置成自动加载。系统启动时会询问加密分区的密码。对于本例下列设置是必须的:

#?grep?geli?/etc/rc.conf
geli_devices="ad1"
geli_ad1_flags="-k?/root/ad1.key"
#?grep?geli?/etc/fstab
/dev/ad1.eli?????????/home/private??????????????ufs?????????????rw??????0???????0

仅用密码

加密一个 USB stick 或者映像文件使用密码而不是密钥来得更方便。这种情况下,没有必要随身携带额外的密钥文件。所做步骤同上面非常相似,只是不需要密钥文件。让我们来加密一个 1 GB 的映像文件/cryptedfile。

#?dd?if=/dev/zero?of=/cryptedfile?bs=1M?count=1000??#?1?GB?文件
#?mdconfig?-at?vnode?-f?/cryptedfile
#?geli?init?/dev/md0????????????????????????????????#?仅用密码加密
#?geli?attach?/dev/md0
#?newfs?-U?-m?0?/dev/md0.eli
#?mount?/dev/md0.eli?/mnt
#?umount?/dev/md0.eli
#?geli?detach?md0.eli

现在可以把这个映像文件加载成仅需密码的文件系统。

#?mdconfig?-at?vnode?-f?/cryptedfile
#?geli?attach?/dev/md0
#?mount?/dev/md0.eli?/mnt

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!