18.13. LUKS를 사용하여 블록 장치 암호화
디스크 암호화를 사용하면 블록 장치의 데이터를 암호화하여 보호할 수 있습니다. 장치의 암호 해독된 콘텐츠에 액세스하려면 암호 또는 키를 인증으로 입력합니다. 이는 시스템에서 물리적으로 제거된 경우에도 장치의 콘텐츠를 보호하는 데 도움이 되므로 모바일 컴퓨터와 이동식 미디어에 중요합니다. LUKS 형식은 Red Hat Enterprise Linux에서 블록 장치 암호화의 기본 구현입니다.
18.13.1. LUKS 디스크 암호화 링크 복사링크가 클립보드에 복사되었습니다!
Linux Unified Key Setup-on-disk-format(LUKS)은 암호화된 장치 관리를 간소화하는 툴 세트를 제공합니다. LUKS를 사용하면 블록 장치를 암호화하고 여러 사용자 키를 활성화하여 마스터 키를 해독할 수 있습니다. 파티션의 대량 암호화의 경우 이 마스터 키를 사용합니다.
Red Hat Enterprise Linux는 LUKS를 사용하여 블록 장치 암호화를 수행합니다. 기본적으로 블록 장치를 암호화하는 옵션은 설치 중에 선택되지 않습니다. 디스크를 암호화할 옵션을 선택하면 시스템을 부팅할 때마다 시스템에서 암호를 입력하라는 메시지가 표시됩니다. 이 암호는 파티션을 해독하는 대량 암호화 키의 잠금을 해제합니다. 기본 파티션 테이블을 수정하려면 암호화할 파티션을 선택할 수 있습니다. 이는 파티션 테이블 설정에서 설정됩니다.
암호화
LUKS에 사용되는 기본 암호는 aes-xts-plain64
입니다. LUKS의 기본 키 크기는 512비트입니다. Anaconda XTS 모드가 있는 LUKS의 기본 키 크기는 512비트입니다. 다음은 사용 가능한 암호입니다.
- AES(Advanced Encryption Standard)
- Twofish
- serpent
LUKS에서 수행하는 작업
- LUKS는 전체 블록 장치를 암호화하므로 이동식 스토리지 미디어 또는 랩톱 디스크 드라이브와 같은 모바일 장치의 콘텐츠를 보호하는 데 적합합니다.
- 암호화된 블록 장치의 기본 내용은 임의이므로 스왑 장치를 암호화하는 데 유용합니다. 이는 데이터 저장을 위해 특별히 포맷된 블록 장치를 사용하는 특정 데이터베이스에서도 유용할 수 있습니다.
- LUKS는 기존 장치 매퍼 커널 하위 시스템을 사용합니다.
- LUKS는 사전 공격으로부터 보호하는 암호 강화를 제공합니다.
- LUKS 장치에는 여러 개의 키 슬롯이 포함되어 있으므로 백업 키 또는 암호를 추가할 수 있습니다.
다음 시나리오에는 LUKS를 사용하지 않는 것이 좋습니다.
- LUKS와 같은 디스크 암호화 솔루션은 시스템이 꺼져 있는 경우에만 데이터를 보호합니다. 시스템이 있고 LUKS가 디스크의 암호를 해독하면 해당 디스크의 파일을 액세스할 수 있는 모든 사용자가 사용할 수 있습니다.
- 여러 사용자가 동일한 장치에 대한 고유한 액세스 키를 보유해야 하는 시나리오. LUKS1 형식은 8개의 키 슬롯을 제공하며 LUKS2는 최대 32개의 키 슬롯을 제공합니다.
- 파일 수준 암호화가 필요한 애플리케이션입니다.
18.13.2. RHEL의 LUKS 버전 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux에서 LUKS 암호화의 기본 형식은 LUKS2입니다. 이전 LUKS1 형식은 완전히 지원되며 이전 Red Hat Enterprise Linux 릴리스와 호환되는 형식으로 제공됩니다. LUKS2 재암호화는 LUKS1 재암호화에 비해 더 강력하고 안전한 것으로 간주됩니다.
LUKS2 형식을 사용하면 바이너리 구조를 수정할 필요 없이 다양한 부분을 나중에 업데이트할 수 있습니다. 내부적으로는 메타데이터에 JSON 텍스트 형식을 사용하고, 메타데이터의 중복성을 제공하고, 메타데이터 손상을 감지하고, 메타데이터 복사본에서 자동으로 복구합니다.
LUKS2 및 LUKS1은 디스크를 암호화하기 위해 다른 명령을 사용하므로 LUKS1만 지원하는 시스템에서 LUKS2를 사용하지 마십시오. LUKS 버전에 잘못된 명령을 사용하면 데이터가 손실될 수 있습니다.
LUKS 버전 | 암호화 명령 |
---|---|
LUKS2 |
|
LUKS1 |
|
온라인 재암호화
LUKS2 형식은 장치가 사용 중인 동안 암호화된 장치 재암호화를 지원합니다. 예를 들어 다음 작업을 수행하기 위해 장치에서 파일 시스템을 마운트 해제할 필요가 없습니다.
- 볼륨 키 변경
암호화 알고리즘 변경
암호화되지 않은 장치를 암호화할 때 파일 시스템을 마운트 해제해야 합니다. 암호화를 간단히 초기화한 후 파일 시스템을 다시 마운트할 수 있습니다.
LUKS1 형식은 온라인 재암호화 기능을 지원하지 않습니다.
변환
특정 상황에서 LUKS1을 LUKS2로 변환할 수 있습니다. 다음 시나리오에서는 변환이 특히 불가능합니다.
-
LUKS1 장치는 PBD(Policy-Based Decryption) Clevis 솔루션에서 사용하는 것으로 표시됩니다.
cryptsetup
툴은 일부luksmeta
메타데이터가 감지되면 장치를 변환하지 않습니다. - 장치가 활성 상태입니다. 변환이 가능하려면 장치가 비활성 상태여야 합니다.
18.13.3. LUKS2 재암호화 중에 데이터 보호 옵션 링크 복사링크가 클립보드에 복사되었습니다!
LUKS2는 재암호화 프로세스 중에 성능 또는 데이터 보호 우선 순위를 지정하는 여러 옵션을 제공합니다. 복원력 옵션에 대해 다음 모드를 제공하며, cryptsetup reencrypt --
선택할 수 있습니다. 여기서 < resilience
resilience-mode /dev/ <device_ID> 명령을 사용하여 이러한 모드를device_ID
>를 장치의 ID로 교체할 수 있습니다.
checksum
기본 모드입니다. 데이터 보호 및 성능 균형 유지.
이 모드는 재암호화 영역에 섹터의 개별 체크섬을 저장하므로 복구 프로세스에서 LUKS2에서 다시 암호화한 섹터를 감지할 수 있습니다. 이 모드에서는 블록 장치 섹터 쓰기가 atomic이어야 합니다.
journal
- 가장 안전한 모드이지만 가장 느린 모드이기도 합니다. 이 모드는 바이너리 영역에 재암호화 영역을 저널링하므로 LUKS2는 데이터를 두 번 씁니다.
none
-
none
모드는 성능에 우선 순위를 지정하며 데이터 보호를 제공하지 않습니다. 이는SIGTERM
신호 또는 Ctrl+C 키를 누른 사용자와 같은 안전한 프로세스 종료로부터만 데이터를 보호합니다. 예기치 않은 시스템 오류 또는 애플리케이션 오류로 인해 데이터가 손상될 수 있습니다.
LUKS2 재암호화 프로세스가 강제 종료되면 LUKS2는 다음 방법 중 하나로 복구를 수행할 수 있습니다.
- 자동
다음 작업 중 하나를 수행하면 다음 LUKS2 장치의 열려 있는 작업 중에 자동 복구 작업이 트리거됩니다.
-
cryptsetup open
명령을 실행합니다. -
systemd-cryptsetup
명령을 사용하여 장치를 연결합니다.
-
- 수동
-
LUKS2 장치에서
cryptsetup repair /dev/ <device_ID
> 명령을 사용하여 다음을 수행합니다.
18.13.4. LUKS2를 사용하여 블록 장치의 기존 데이터 암호화 링크 복사링크가 클립보드에 복사되었습니다!
LUKS2 형식을 사용하여 아직 암호화되지 않은 장치에서 기존 데이터를 암호화할 수 있습니다. 새 LUKS 헤더가 장치의 헤드에 저장됩니다.
사전 요구 사항
- 블록 장치에는 파일 시스템이 있습니다.
데이터를 백업했습니다.
주의하드웨어, 커널 또는 인적 오류로 인해 암호화 프로세스 중에 데이터가 손실될 수 있습니다. 데이터 암호화를 시작하기 전에 신뢰할 수 있는 백업이 있는지 확인합니다.
절차
암호화하려는 장치에서 모든 파일 시스템을 마운트 해제합니다. 예를 들면 다음과 같습니다.
umount /dev/mapper/vg00-lv00
# umount /dev/mapper/vg00-lv00
Copy to Clipboard Copied! Toggle word wrap Toggle overflow LUKS 헤더 저장에 사용 가능한 공간을 만듭니다. 시나리오에 맞는 다음 옵션 중 하나를 사용합니다.
논리 볼륨을 암호화하는 경우 파일 시스템의 크기를 조정하지 않고 논리 볼륨을 확장할 수 있습니다. 예를 들면 다음과 같습니다.
lvextend -L+32M /dev/mapper/vg00-lv00
# lvextend -L+32M /dev/mapper/vg00-lv00
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
parted
와 같은 파티션 관리 도구를 사용하여 파티션을 확장합니다. -
장치의 파일 시스템을 축소합니다. ext
2, ext3 또는 ext4 파일 시스템에 resize2fs
유틸리티를 사용할 수 있습니다. XFS 파일 시스템을 축소할 수 없습니다.
암호화를 초기화합니다.
cryptsetup reencrypt --encrypt --init-only --reduce-device-size 32M /dev/mapper/vg00-lv00 lv00_encrypted
# cryptsetup reencrypt --encrypt --init-only --reduce-device-size 32M /dev/mapper/vg00-lv00 lv00_encrypted /dev/mapper/lv00_encrypted is now active and ready for online encryption.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 장치를 마운트합니다.
mount /dev/mapper/lv00_encrypted /mnt/lv00_encrypted
# mount /dev/mapper/lv00_encrypted /mnt/lv00_encrypted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 영구 매핑 항목을
/etc/crypttab
파일에 추가합니다.luksUUID
찾기:cryptsetup luksUUID /dev/mapper/vg00-lv00
# cryptsetup luksUUID /dev/mapper/vg00-lv00 a52e2cc9-a5be-47b8-a95d-6bdf4f2d9325
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택한 텍스트 편집기에서
/etc/crypttab
을 열고 이 파일에 장치를 추가합니다.vi /etc/crypttab
$ vi /etc/crypttab lv00_encrypted UUID=a52e2cc9-a5be-47b8-a95d-6bdf4f2d9325 none
Copy to Clipboard Copied! Toggle word wrap Toggle overflow a52e2cc9-a5be-47b8-a95d-6bdf4f2d9325 를 장치의
luksUUID
로 교체합니다.dracut
을 사용하여 initramfs 새로 고침 :dracut -f --regenerate-all
$ dracut -f --regenerate-all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
/etc/fstab
파일에 영구 마운트 항목을 추가합니다.활성 LUKS 블록 장치의 파일 시스템의 UUID를 찾습니다.
blkid -p /dev/mapper/lv00_encrypted
$ blkid -p /dev/mapper/lv00_encrypted /dev/mapper/lv00-encrypted: UUID="37bc2492-d8fa-4969-9d9b-bb64d3685aa9" BLOCK_SIZE="4096" TYPE="xfs" USAGE="filesystem"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택한 텍스트 편집기에서
/etc/fstab
를 열고 이 파일에 장치를 추가합니다. 예를 들면 다음과 같습니다.vi /etc/fstab
$ vi /etc/fstab UUID=37bc2492-d8fa-4969-9d9b-bb64d3685aa9 /home auto rw,user,auto 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 37bc2492-d8fa-4969-9d9b-bb64d3685aa9 를 파일 시스템의 UUID로 교체합니다.
온라인 암호화를 다시 시작합니다.
cryptsetup reencrypt --resume-only /dev/mapper/vg00-lv00
# cryptsetup reencrypt --resume-only /dev/mapper/vg00-lv00 Enter passphrase for /dev/mapper/vg00-lv00: Auto-detected active dm device 'lv00_encrypted' for data device /dev/mapper/vg00-lv00. Finished, time 00:31.130, 10272 MiB written, speed 330.0 MiB/s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
기존 데이터가 암호화되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 암호화된 빈 블록 장치의 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.13.5. 분리된 헤더로 LUKS2를 사용하여 블록 장치에서 기존 데이터 암호화 링크 복사링크가 클립보드에 복사되었습니다!
LUKS 헤더를 저장하기 위한 여유 공간을 생성하지 않고 블록 장치에서 기존 데이터를 암호화할 수 있습니다. 헤더는 분리된 위치에 저장되며 추가 보안 계층 역할을 합니다. 절차에서는 LUKS2 암호화 형식을 사용합니다.
사전 요구 사항
- 블록 장치에는 파일 시스템이 있습니다.
데이터가 백업됩니다.
주의하드웨어, 커널 또는 인적 오류로 인해 암호화 프로세스 중에 데이터가 손실될 수 있습니다. 데이터 암호화를 시작하기 전에 신뢰할 수 있는 백업이 있는지 확인합니다.
프로세스
장치의 모든 파일 시스템을 마운트 해제합니다. 예를 들면 다음과 같습니다.
umount /dev/<nvme0n1p1>
# umount /dev/<nvme0n1p1>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;nvme0n1p1
>을 마운트 해제하려는 파티션에 해당하는 장치 식별자로 바꿉니다.암호화를 초기화합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 교체:
-
LUKS
헤더가 분리된 파일 경로가 있는 </home/
header>입니다. LUKS 분리 헤더는 나중에 암호화된 장치의 잠금을 해제하려면 액세스할 수 있어야 합니다. -
암호화 후 생성된 장치 매퍼의 이름이 <
nvme_encrypted
>입니다.
-
LUKS
장치를 마운트합니다.
mount /dev/mapper/<nvme_encrypted> /mnt/<nvme_encrypted>
# mount /dev/mapper/<nvme_encrypted> /mnt/<nvme_encrypted>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 영구 매핑 항목을
/etc/crypttab
파일에 추가합니다.<nvme_encrypted> /dev/disk/by-id/<nvme-partition-id> none header=</home/header>
# <nvme_encrypted> /dev/disk/by-id/<nvme-partition-id> none header=</home/header>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;nvme-partition-id>
;를 NVMe 파티션의 식별자로 바꿉니다.dracut
을 사용하여 initramfs를 다시 생성 :dracut -f --regenerate-all -v
# dracut -f --regenerate-all -v
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/fstab
파일에 영구 마운트 항목을 추가합니다.활성 LUKS 블록 장치의 파일 시스템의 UUID를 찾습니다.
blkid -p /dev/mapper/<nvme_encrypted>
$ blkid -p /dev/mapper/<nvme_encrypted> /dev/mapper/<nvme_encrypted>: UUID="37bc2492-d8fa-4969-9d9b-bb64d3685aa9" BLOCK_SIZE="4096" TYPE="xfs" USAGE="filesystem"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 텍스트 편집기에서
/etc/fstab
를 열고 이 파일에 장치를 추가합니다. 예를 들면 다음과 같습니다.UUID=<file_system_UUID> /home auto rw,user,auto 0
UUID=<file_system_UUID> /home auto rw,user,auto 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;file_system_UUID
>를 이전 단계에서 찾은 파일 시스템의 UUID로 바꿉니다.
온라인 암호화를 다시 시작합니다.
cryptsetup reencrypt --resume-only --header </home/header> /dev/<nvme0n1p1>
# cryptsetup reencrypt --resume-only --header </home/header> /dev/<nvme0n1p1> Enter passphrase for /dev/<nvme0n1p1>: Auto-detected active dm device '<nvme_encrypted>' for data device /dev/<nvme0n1p1>. Finished, time 00m51s, 10 GiB written, speed 198.2 MiB/s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
분리된 헤더와 함께 LUKS2를 사용하여 블록 장치의 기존 데이터가 암호화되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 암호화된 빈 블록 장치의 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.13.6. LUKS2를 사용하여 빈 블록 장치 암호화 링크 복사링크가 클립보드에 복사되었습니다!
LUKS2 형식을 사용하여 암호화된 스토리지에 사용할 수 있는 빈 블록 장치를 암호화할 수 있습니다.
사전 요구 사항
-
빈 블록 장치입니다.
lsblk
와 같은 명령을 사용하여 해당 장치에 실제 데이터(예: 파일 시스템)가 없는지 확인할 수 있습니다.
프로세스
파티션을 암호화된 LUKS 파티션으로 설정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 암호화된 LUKS 파티션을 엽니다.
cryptsetup open /dev/nvme0n1p1 nvme0n1p1_encrypted
# cryptsetup open /dev/nvme0n1p1 nvme0n1p1_encrypted Enter passphrase for /dev/nvme0n1p1:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면 파티션 잠금을 해제하고 장치 매퍼를 사용하여 새 장치에 매핑됩니다. 암호화된 데이터를 덮어쓰지 않으려면 이 명령은
/dev/mapper/device_mapped_name
경로를 사용하여 장치가 암호화된 장치이고 LUKS를 통해 처리됨을 커널에 알립니다.암호화된 데이터를 파티션에 쓸 파일 시스템을 생성합니다. 이 파티션은 장치 매핑된 이름을 통해 액세스해야 합니다.
mkfs -t ext4 /dev/mapper/nvme0n1p1_encrypted
# mkfs -t ext4 /dev/mapper/nvme0n1p1_encrypted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 장치를 마운트합니다.
mount /dev/mapper/nvme0n1p1_encrypted mount-point
# mount /dev/mapper/nvme0n1p1_encrypted mount-point
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
빈 블록 장치가 암호화되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 암호화된 빈 블록 장치의 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.13.7. 웹 콘솔에서 LUKS 암호 구성 링크 복사링크가 클립보드에 복사되었습니다!
시스템의 기존 논리 볼륨에 암호화를 추가하려면 볼륨 포맷을 통해서만 이 작업을 수행할 수 있습니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
cockpit-storaged
패키지가 시스템에 설치됩니다. - 암호화 없이 기존 논리 볼륨을 사용할 수 있습니다.
프로세스
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 패널에서 스토리지를 클릭합니다.
- 스토리지 테이블에서 암호화할 스토리지 대한 메뉴 버튼을 클릭하고 을 클릭합니다.
- 암호화 필드에서 암호화 사양, LUKS1 또는 LUKS2 를 선택합니다.
- 새 암호를 설정하고 확인합니다.
- 선택 사항: 추가 암호화 옵션을 수정합니다.
- 형식 설정 완료.
- 형식 을 클릭합니다.
18.13.8. 웹 콘솔에서 LUKS 암호 변경 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔의 암호화된 디스크 또는 파티션에서 LUKS 암호를 변경합니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
cockpit-storaged
패키지가 시스템에 설치됩니다.
프로세스
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 패널에서 스토리지를 클릭합니다.
- 스토리지 테이블에서 암호화된 데이터가 있는 디스크를 선택합니다.
- 디스크 페이지에서 Keys 섹션으로 스크롤하여 편집 버튼을 클릭합니다.
암호 변경 대화 상자 창에서 다음을 수행합니다.
- 현재 암호를 입력합니다.
- 새 암호를 입력합니다.
- 새 암호를 확인합니다.
- 저장을 클릭합니다.
18.13.9. 명령줄을 사용하여 LUKS 암호 변경 링크 복사링크가 클립보드에 복사되었습니다!
명령줄을 사용하여 암호화된 디스크 또는 파티션에서 LUKS 암호를 변경합니다. cryptsetup
유틸리티를 사용하면 다양한 구성 옵션 및 기능으로 암호화 프로세스를 제어하고 기존 자동화 워크플로에 통합할 수 있습니다.
사전 요구 사항
-
sudo
를 사용하여 관리 명령을 입력할 수 있는루트
권한 또는 권한이 있습니다.
프로세스
LUKS 암호화된 장치에서 기존 암호를 변경합니다.
cryptsetup luksChangeKey /dev/<device_ID>
# cryptsetup luksChangeKey /dev/<device_ID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;device_ID&
gt;를 장치 지정자로 바꿉니다(예:sda
).여러 개의 키 슬롯이 구성된 경우 작업할 슬롯을 지정할 수 있습니다.
cryptsetup luksChangeKey /dev/<device_ID> --key-slot <slot_number>
# cryptsetup luksChangeKey /dev/<device_ID> --key-slot <slot_number>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;slot_number
>를 수정할 키 슬롯 수로 바꿉니다.현재 암호와 새 암호를 삽입합니다.
Enter passphrase to be changed: Enter new passphrase: Verify passphrase:
Enter passphrase to be changed: Enter new passphrase: Verify passphrase:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 암호를 확인합니다.
cryptsetup --verbose open --test-passphrase /dev/<device_ID>
# cryptsetup --verbose open --test-passphrase /dev/<device_ID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
새 암호가 장치의 잠금을 해제할 수 있는지 확인합니다.
Enter passphrase for /dev/<device_ID>: Key slot <slot_number> unlocked. Command successful.
Enter passphrase for /dev/<device_ID>: Key slot <slot_number> unlocked. Command successful.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.13.10. 스토리지 RHEL 시스템 역할을 사용하여 LUKS2 암호화된 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
storage
역할을 사용하여 Ansible 플레이북을 실행하여 LUKS로 암호화된 볼륨을 생성하고 구성할 수 있습니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
프로세스
중요한 변수를 암호화된 파일에 저장합니다.
자격 증명 모음을 생성합니다.
ansible-vault create ~/vault.yml
$ ansible-vault create ~/vault.yml New Vault password: <vault_password> Confirm New Vault password: <vault_password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-vault create
명령이 편집기를 열고 <key > : < value
> 형식으로 중요한 데이터를 입력합니다.luks_password: <password>
luks_password: <password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 변경 사항을 저장하고 편집기를 종료합니다. Ansible은 자격 증명 모음의 데이터를 암호화합니다.
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml
$ ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook --ask-vault-pass ~/playbook.yml
$ ansible-playbook --ask-vault-pass ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
LUKS 암호화된 볼륨의
luksUUID
값을 찾습니다.ansible managed-node-01.example.com -m command -a 'cryptsetup luksUUID /dev/sdb'
# ansible managed-node-01.example.com -m command -a 'cryptsetup luksUUID /dev/sdb' 4e4e7970-1822-470e-b55a-e91efe5d0f5c
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 볼륨의 암호화 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 생성된 LUKS 암호화된 볼륨을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow