• 使用LUKS加密你的磁盘


    在此之前先介绍一下 LUKS:

    LUKS (Linux Unified Key Setup)是 Linux 硬盘加密的标准。 通过提供标准的磁盘格式,它不仅可以促进发行版之间的兼容性,还可以提供对多个用户密码的安全管理。 与现有解决方案相比,LUKS 将所有必要的设置信息存储在分区信息首部中,使用户能够无缝传输或迁移其数据。

    1.环境

    OS:Gentoo

    内核:4.9.95

    工具:cryptsetup

    2.内核配置(可选)

    通常来说,大部分发行版的内核都已经配置了相关的加密部分,因此非 gentoo 用户可以跳过此部分。

    配置 device mapper 和 crypt target:

    [*] Enable loadable module support

    Device Drivers --->

    [*] Multiple devices driver support (RAID and LVM) --->

    <*> Device mapper support

    <*>   Crypt target support

    配置加密 API:

    [*] Cryptographic API --->

    <*> XTS support

    <*> SHA224 and SHA256 digest algorithm

    <*> AES cipher algorithms

    <*> AES cipher algorithms (x86_64)

    <*> User-space interface for hash algorithms

    <*> User-space interface for symmetric key cipher algorithms

    编译新内核并配置应用,然后重启:

    # make -j9 && make modules_install && make install

    3.安装软件

    通常的发行版已经预装了该软件包,可以直接使用,下面是 Gentoo 的安装方法

    # emerge --ask sys-fs/cryptsetup

    4.创建加密分区

    注意,该操作会清空你选择分区或设备上的所有数据,请谨慎操作,输入大写的 YES 确认

    # cryptsetup -s 512 luksFormat /dev/sdd

    WARNING!

    ========

    This will overwrite data on /dev/sdd irrevocably.

    Are you sure? (Type uppercase yes): YES

    Enter passphrase: 

    Verify passphrase:

    5.利用密钥文件加密分区

    除了密码之外,还可以选择使用密钥文件解密你的硬盘,也就是相当于一个密钥,当然可以也可以只使用密钥文件或者同时使用密码与密钥文件。

    5.1.生成随机密钥文件

    # dd if=/dev/urandom of=/root/enc.key bs=1 count=4096

    5.2.添加密钥文件作为密码之一

    # cryptsetup luksAddKey  /dev/sdd /root/enc.key

    Enter any existing passphrase:

    6.移除解密密码

    移除普通密码:

    # cryptsetup luksRemoveKey /dev/sdd

    Enter LUKS passphrase to be deleted: ...

    移除 key file 密码:

    # cryptsetup luksRemoveKey -d /root/enc.key /dev/sdd

    注意:千万不要将所有密码移除,至少需要留有一个密码访问设备,移除操作不可撤销

    7.解密与挂载

    7.1.密码解密

    # cryptsetup luksOpen /dev/sdd myusb

    Enter passphrase for /dev/sdd:

    7.2.key file 解密

    # cryptsetup luksOpen -d /root/enc.key /dev/sdd myusb

    7.3.创建文件系统

    在挂载使用之前,我们仍然需要对设备创建文件系统才可以使用,可以选择任何你喜欢的文件系统,例如 btrfs、ext4、vfat、ntfs 等

    # mkfs.ext4 /dev/mapper/myusb

    mke2fs 1.43.6 (29-Aug-2017)

    Creating filesystem with 488448 4k blocks and 122160 inodes

    Filesystem UUID: 995e172a-2bc6-432c-a60f-2d4d7093e748

    Superblock backups stored on blocks:

    32768, 98304, 163840, 229376, 294912

    Allocating group tables: done

    Writing inode tables: done

    Creating journal (8192 blocks): done

    Writing superblocks and filesystem accounting information: done

    7.4.挂载

    现在可以像正常分区一样挂载我们的加密分区设备了

    # mount /dev/mapper/myusb /mnt/

    # df -h

    /dev/mapper/myusb  1.9G  5.7M  1.7G   1% /mnt

    7.5.卸载挂载点并关闭加密分区

    # umount /mnt

    # cryptsetup luksClose myusb

    8.总结

    在完成整个步骤以后,您现在需要做的就是妥善保管您的加密存储,可采用同样的方式加密多个设备进行备份,因为谁也不能保证这移动设备会不会在什么时候丢掉。

  • 相关阅读:
    ‘Host’ is not allowed to connect to this mysql server
    centos7安装mysql
    further configuration avilable 不见了
    Dynamic Web Module 3.0 requires Java 1.6 or newer
    hadoop启动 datanode的live node为0
    ssh远程访问失败 Centos7
    Linux 下的各种环境安装
    Centos7 安装 python2.7
    安装scala
    Centos7 安装 jdk 1.8
  • 原文地址:https://www.cnblogs.com/xuanbjut/p/11796534.html
Copyright © 2020-2023  润新知