centos 기본 튜토리얼 칼럼에서는 centos7이 luk 기반 디스크를 암호화하는 방법을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!
centos7은 luks를 기반으로 디스크를 암호화합니다.
LUKS(Linux 통합 키 설정)는 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
[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 字节
5.1 임의 키 파일 생성
[root@node1 ~]# cryptsetup luksFormat /dev/sdb WARNING! ======== 这将覆盖 /dev/sdb 上的数据,该动作不可取消。 Are you sure? (Type uppercase yes): YES # 注意这里必须是大写的YES 输入密码: 确认密码:
[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
[root@node1 ~]# cryptsetup luksAddKey /dev/sdb /root/enc.key 输入任意已存在的密码:
[root@node1 ~]# cryptsetup luksRemoveKey /dev/sdb 输入要移除的密码:
: 기기에 액세스하려면 비밀번호를 하나 이상 남겨 두어야 합니다. 삭제 작업은 되돌릴 수 없습니다
7.1
PartitionMapping
[root@node1 ~]# cryptsetup luksRemoveKey -d /root/enc.key /dev/sdb WARNING! ======== 这是最后一个密钥槽。设备在清空此密钥后将不可用。 Are you sure? (Type uppercase yes): YES
[root@node1 ~]# cryptsetup luksOpen /dev/sdb data2 输入 /dev/sdb 的密码:
[root@node1 ~]# cryptsetup luksOpen -d /root/enc.key /dev/sdb data2
[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: 完成
암호화된저장소를 잘 관리하는 것입니다. 여러 장치에서 동일한 암호화된백업을 사용할 수 있습니다. , 왜냐하면 이 모바일 장치가 언제 어디서나 보관될 것인지 보장할 수 없기 때문입니다.
위 내용은 luks 기반 centos7 디스크 암호화에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!