• Linux下磁盘加密——luks 枯木


    Linux下磁盘加密

             LUKS(Linux Unified Key Setup)为Linux硬盘加密提供了一种标准,它不仅能通用于不同的Linux发行版本,还支持多用户/口令。因为它的加密密钥独立于口令,所以如果口令失密,我们可以迅速改变口令而无需重新加密真个硬盘。通过提供一个标准的磁盘上的格式,它不仅方便之间分布的兼容性,而且还提供了多个用户密码的安全管理。必须首先对加密的卷进行解密,才能挂载其中的文件系统。

    工具:cryptsetup(默认已经安装)

    常用参数:luksFormat、luksOpen、luksClose、luksAddKey

        使用cryptsetup对分区进行了加密后,这个分区就不再允许直接挂载。LUKS也是一种基于device mapper 机制的加密方案。如果要使用这个分区,必须对这个分区做一个映射,映射到/dev/mapper这个目录里去,我们只能挂载这个映射才能使用。然而做映射的时候是需要输入解密密码的。

     

    Crypsetup工具加密的特点:

    Ø  加密后不能直接挂载

    Ø  加密后硬盘丢失也不用担心数据被盗

    Ø  加密后必须做映射才能挂载

    步骤:

    1.   创建分区并加密分区

    2.   映射分区

    3.   格式化分区并挂载使用

    4.  关闭映射分区

    创建一个磁盘分区/dev/sdb1,不进行格式化

    1、  加密分区

    # cryptsetup -v -y -c aes-cbc-plain luksFormat /dev/sdb1

     

    WARNING!

    ========

    This will overwrite data on /dev/sdb1 irrevocably.

    Are you sure? (Type uppercase yes): YES  --> 注意这里必须是大写的YES

    Enter LUKS passphrase:

    Verify passphrase:

    Command successful.

    #

    2、  映射分区

    # cryptsetup luksOpen /dev/sdb1 sx_disk  //把sdb1映射为sx_disk

    Enter passphrase for /dev/sdb1:

    # ll -d /dev/mapper/sx_disk

    lrwxrwxrwx. 1 root root 7  6月 25 03:24 /dev/mapper/sx_disk -> ../dm-0

    # cryptsetup status /dev/mapper/sx_disk //查看映射分区状态

    /dev/mapper//dev/mapper/sx_disk is active.

      type:  LUKS1

      cipher:  aes-cbc-plain

      keysize: 256 bits

      device:  /dev/sdb1

      offset:  4096 sectors

      size:    16767701 sectors

      mode:    read/write

    #

    3、挂载使用

    # mkdir /mnt/sx_disk

    # mkfs.ext3 /dev/mapper/sx_disk

    # mount /dev/sdb1 /mnt/sx_disk/   //直接挂载是不可以的

    mount: unknown filesystem type 'crypto_LUKS'

    # mount /dev/mapper/sx_disk /mnt/sx_disk/ //挂载映射设备,挂载成功

    4、关闭映射,先卸载后关闭

    # umount /mnt/sx_disk/

    # cryptsetup luksClose sx_disk  //关闭映射

    # ll /dev/mapper/  //映射设备已经不见了

    总用量 0

    crw-rw----. 1 root root 10, 58  6月 25 03:01 control

    #

    5、设置开机自动挂载

    生成密钥文件,如果想开机时手动输入密码可以不生成

    # touch /root/cryptpasswd

    # cryptsetup luksAddKey /dev/sdb1 /root/cryptpasswd

    Enter any passphrase:

    # cat /root/cryptpasswd  //直接查看密钥为空 

    #

    设置开机启动

    # vim /etc/crypttab

    # cat /etc/crypttab

    sx_disk /dev/sdb1 /root/cryptpasswd

    //sx_disk为映射名称,/dev/sdb1是加密设备设备,/root/cryptpasswd为密码文件,如果想开机手动输入密码,密码文件处空着即可

    # vim /etc/fstab

    # tail -1 /etc/fstab

    /dev/mapper/sx_disk       /mnt/sx_disk             ext4 defaults   0 0

    #


  • 相关阅读:
    web测试方法总结
    我认为测试应该掌握的SQL语句
    monkey(1)
    冒烟测试
    PC客户端测试总结
    常见测试点总结
    测试基本概念
    测试主要环节
    手机app常见bug积累
    MySQL面试题集锦
  • 原文地址:https://www.cnblogs.com/kumulinux/p/2808741.html
Copyright © 2020-2023  润新知