站長資訊網
        最全最豐富的資訊網站

        詳解centos7基于luks對磁盤進行加密

        下面由centos基礎教程欄目給大家介紹centos7基于luks對磁盤進行加密的方法,希望對需要的朋友有所幫助!

        詳解centos7基于luks對磁盤進行加密

        centos7基于luks對磁盤進行加密

        LUKS(Linux Unified Key Setup)為Linux硬盤加密提供了一種標準,它不僅能通用于不同的Linux發行版本,還支持多用戶/口令。因為它的加密密鑰獨立于口令,所以如果口令失密,我們可以迅速改變口令而無需重新加密真個硬盤。通過提供一個標準的磁盤上的格式,它不僅方便之間分布的兼容性,而且還提供了多個用戶密碼的安全管理。必須首先對加密的卷進行解密,才能掛載其中的文件系統。

        工具:cryptsetup(默認已經安裝)

        [root@node1 ~]# cryptsetup --help cryptsetup 1.7.4 用法: cryptsetup [選項…] <動作> <動作特定參數>  --version 打印軟件包版本  -v, --verbose 顯示更詳細的錯誤信息  --debug 顯示調試信息  -c, --cipher=STRING 用于加密磁盤的密文(參見 /proc/crypto)  -h, --hash=STRING 用于從密碼創建加密密鑰的哈希值  -y, --verify-passphrase 兩次詢問密碼以進行驗證  -d, --key-file=STRING 從文件讀取密鑰。  --master-key-file=STRING 從文件讀取卷(主)密鑰。  --dump-master-key 轉儲卷(主)密鑰而不是鍵槽信息。  -s, --key-size=位 加密密鑰大小  -l, --keyfile-size=字節 限制從密鑰文件讀取  --keyfile-offset=字節 要從密鑰文件跳過的字節數  --new-keyfile-size=字節 限制從新增密鑰文件的讀取  --new-keyfile-offset=字節 要從新增密鑰文件跳過的字節數  -S, --key-slot=INT 新密鑰的槽號(默認為第一個可用的)  -b, --size=扇區 設備大小  -o, --offset=扇區 后端設備的起始偏移量  -p, --skip=扇區 從開頭要跳過的加密數據扇區數量  -r, --readonly 創建只讀映射  -i, --iter-time=毫秒 LUKS 默認 PBKDF2 迭代時間(毫秒)  -q, --batch-mode 不要請求確認  -t, --timeout=秒 交互式密碼提示符超時長度(秒)  -T, --tries=INT 輸入密碼的最大重試頻率  --align-payload=扇區 于 <n> 個扇區邊界處對其載荷數據 - 供 luks 格式用  --header-backup-file=STRING 帶有 LUKS 數據頭和密鑰槽備份的文件。  --use-random 使用 /dev/random 生成卷密鑰。  --use-urandom 使用 /dev/urandom 生成卷密鑰。  --shared 與另一個不重合的加密段共享設備。  --uuid=STRING 設備使用的 UUID 已占用。  --allow-discards 允許設備的 discard(或稱 TRIM)請求。  --header=STRING 帶有分離 LUKS 數據頭的設備或文件。  --test-passphrase 不要激活設備,僅檢查密碼。  --tcrypt-hidden 使用隱藏數據頭(隱藏 TCRYPT 設備)  --tcrypt-system 設備為系統 TCRYPT 驅動器(帶有引導器)。  --tcrypt-backup 使用備份(次級)TCRYPT 標頭。  --veracrypt 同時掃描 VeraCrypt 兼容的設備。  -M, --type=STRING 設備元數據類型:luks, 純粹 (plain), loopaes, tcrypt.  --force-password 禁用密碼質量檢查 (如果已啟用)。  --perf-same_cpu_crypt 使用 dm-crypt same_cpu_crypt 性能兼容性選項。  --perf-submit_from_crypt_cpus 使用 dm-crypt submit_from_crypt_cpus 性能兼容性選項。  幫助選項:  -?, --help 顯示此幫助  --usage 顯示簡短用法  <動作> 為其中之一:  open <設備> [--type <類型>] [<名稱>] - 以映射 <名稱> 打開設備  close <名稱> - 關閉設備(移除映射)  resize <名稱> - 改變活動設備大小。  status <名稱> - 顯示設備狀態  benchmark [--cipher <cipher>] - 測試密文  repair <設備> - 嘗試修復磁盤上的元數據  erase <設備> - 清空所有密鑰槽(移除加密密鑰)  luksFormat <設備> [<新密鑰文件>] - 格式化一個 LUKS 設備  luksAddKey <設備> [<新密鑰文件>] - 向 LUKS 設備添加密鑰  luksRemoveKey <設備> [<密鑰文件>] - 移除 LUKS 設備中指定的密鑰或密鑰文件  luksChangeKey <設備> [<密鑰文件>] - 更改 LUKS 設備中指定的密鑰或密鑰文件  luksKillSlot <設備> <密鑰槽> - 從 LUKS 設備清理標號為 <key slot> 的密鑰  luksUUID <設備> - 輸出 LUKS 設備的 UUID(唯一標識符)  isLuks <設備> - 從 <device> 探測 LUKS 分區標頭  luksDump <設備> - 調出 LUKS 分區信息  tcryptDump <設備> - 調出 TCRYPT 設備信息  luksSuspend <設備> - 掛起 LUKS 設備并清除密鑰(凍結所有 IO 操作)。  luksResume <設備> - 恢復已暫停的 LUKS 設備。  luksHeaderBackup <設備> - 備份 LUKS 設備標頭和密鑰槽  luksHeaderRestore <設備> - 恢復 LUKS 設備標頭和密鑰槽  你亦可使用老的 <動作> 語法別名:  open: create (plainOpen), luksOpen, loopaesOpen, tcryptOpen  close: remove (plainClose), luksClose, loopaesClose, tcryptClose  <name> 為要在 /dev/mapper 創建的設備 <device> 為加密設備 <key slot> 為需要更改的 LUKS 密鑰槽 <key file> 提供給 luksAddKey 動作的密鑰文件  默認集成的密鑰和密碼參數:  密鑰文件的最大大小:8192kB, 交互式密碼的最大長度:512 (字符) LUKS 的默認 PBKDF2 迭代時間:2000 (毫秒)  默認集成的設備密文參數:  loop-AES:aes, 256 位密鑰  plain:aes-cbc-essiv:sha256, 密鑰:256 位, 密碼哈希:ripemd160  LUKS1:aes-xts-plain64, 密鑰:256 bits, LUKS 數據頭哈希:sha256, RNG:/dev/urandom

        1. 環境


        • OS: centos7
        • Kernel: 3.10.0-693.el7.x86_64
        • tools: cryptsetup.x86_64 0:1.7.4-4.el7

        2. 創建加密分區


        首先,我們添加一塊硬盤/dev/sdb作為測試用,如下:

        [root@node1 ~]# fdisk -l 磁盤 /dev/sdb:8589 MB, 8589934592 字節,16777216 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節  磁盤 /dev/sda:8589 MB, 8589934592 字節,16777216 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x000bfe7f  設備 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 16777215 7339008 8e Linux LVM  磁盤 /dev/mapper/centos-root:6652 MB, 6652166144 字節,12992512 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節  磁盤 /dev/mapper/centos-swap:859 MB, 859832320 字節,1679360 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節

        下來我們格式化加密分區

        [root@node1 ~]# cryptsetup luksFormat /dev/sdb  WARNING! ======== 這將覆蓋 /dev/sdb 上的數據,該動作不可取消。 Are you sure? (Type uppercase yes): YES  # 注意這里必須是大寫的YES 輸入密碼: 確認密碼:

        5. 利用 key file 加密分區


        除了密碼之外,還可以選擇使用 key file 解密你的硬盤,也就是相當于一個密鑰,當然可以也可以只使用 key file 或者同時使用密碼與 key file

        5.1 生成隨機 key file


        [root@node1 ~]# dd if=/dev/urandom of=/root/enc.key bs=1 count=4096 記錄了4096+0 的讀入 記錄了4096+0 的寫出 4096字節(4.1 kB)已復制,0.00967434 秒,423 kB/秒 [root@node1 ~]# ls anaconda-ks.cfg enc.key kubernetes

        5.2 添加 key file 作為密碼之一


        [root@node1 ~]# cryptsetup luksAddKey /dev/sdb /root/enc.key  輸入任意已存在的密碼:

        6. 移除解密密碼


        移除普通密碼

        [root@node1 ~]# cryptsetup luksRemoveKey /dev/sdb 輸入要移除的密碼:

        移除 key file 密碼

        [root@node1 ~]# cryptsetup luksRemoveKey -d /root/enc.key /dev/sdb WARNING! ======== 這是最后一個密鑰槽。設備在清空此密鑰后將不可用。 Are you sure? (Type uppercase yes): YES

        注意:千萬不要將所有密碼移除,至少需要留有一個密碼訪問設備,移除操作不可撤銷

        7. 分區映射與掛載


        7.1 分區映射


        [root@node1 ~]# cryptsetup luksOpen /dev/sdb data2 輸入 /dev/sdb 的密碼:

        7.2 key file分區映射


        也可以通過key file做映射

        [root@node1 ~]# cryptsetup luksOpen -d /root/enc.key /dev/sdb data2

        7.3 創建文件系統


        在掛載使用之前,我們仍然需要對設備創建文件系統才可以使用,可以選擇任何你喜歡的文件系統,例如 btrfs,ext4,vfat,ntfs等

        [root@node1 ~]# mkfs.ext4 /dev/mapper/data2  mke2fs 1.42.9 (28-Dec-2013) 文件系統標簽= OS type: Linux 塊大小=4096 (log=2) 分塊大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 524288 inodes, 2096640 blocks 104832 blocks (5.00%) reserved for the super user 第一個數據塊=0 Maximum filesystem blocks=2147483648 64 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks:   32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632  Allocating group tables: 完成  正在寫入inode表: 完成  Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成

        7.4 掛載


        現在可以像正常分區一樣掛載我們的加密分區設備了

        [root@node1 ~]# mkdir /data2 [root@node1 ~]# mount /dev/mapper/data2 /data2 [root@node1 ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 6.2G 1.8G 4.5G 28% / devtmpfs 4.4G 0 4.4G 0% /dev tmpfs 4.4G 0 4.4G 0% /dev/shm tmpfs 4.4G 8.5M 4.4G 1% /run tmpfs 4.4G 0 4.4G 0% /sys/fs/cgroup /dev/sda1 1014M 143M 872M 15% /boot tmpfs 883M 0 883M 0% /run/user/0 /dev/mapper/data2 7.8G 36M 7.3G 1% /data2

        7.5 卸載掛載點并關閉加密分區


        [root@node1 /]# umount /data2 [root@node1 /]# cryptsetup luksClose data2

        8. 總結


        在完成整個步驟以后,您現在需要做的就是妥善保管您的加密存儲,可采用同樣的方式加密多個設備進行備份,因為誰也不能保證這移動設備會不會在什么時候丟掉。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产欧美在线观看精品一区二区| 国产精品福利在线观看免费不卡| 亚洲愉拍自拍欧美精品| 一本一道精品欧美中文字幕 | 久久成人国产精品二三区| 欧美激情视频精品一区二区| 久久99精品综合国产首页| 亚洲精品成人片在线观看精品字幕 | 99久久国产热无码精品免费久久久久 | 久久精品一区二区三区不卡| 人人妻人人澡人人爽人人精品电影| 久久丝袜精品中文字幕| 国产精品99精品视频网站| 国产亚洲欧洲精品| 国产精品区免费视频| 亚洲精品国精品久久99热一| 亚洲第一区精品观看| 免费人成在线观看欧美精品| 国产精品国产三级国产潘金莲| 国产精品欧美一区二区三区不卡 | 无码日韩精品一区二区三区免费| 久草欧美精品在线观看| 国产精品免费一区二区三区| 欧美精品在线一区二区三区| 国产精品v欧美精品v日韩精品| 久久亚洲美女精品国产精品| 中文字幕精品一区| 亚洲精品无码久久久久AV麻豆| 久久久久无码精品国产app| 国产精品成人久久久久三级午夜电影| 国产精品视频第一页| 999成人精品视频在线| 国产精品第12页| 国产欧美日韩综合精品一区二区| 久久亚洲精品无码AV红樱桃| 色久综合网精品一区二区| 亚洲精品自产拍在线观看| 亚洲国产精品18久久久久久| 亚洲欧洲精品成人久久奇米网| 三级高清精品国产| 中文精品久久久久人妻不卡|