RHEL에서 LUKS로 전체 디스크 암호화 수행
데이터 보안을 강화하기 위해 여러 사용자 키를 사용하여 LUKS로 Block Storage for Classic 파티션을 암호화하는 방법을 알아보세요.
Linux® 통합 키 설정(LUKS)을 사용하여 Block Storage for Classic 볼륨의 파티션을 암호화할 수 있습니다. LUKS를 사용하면 여러 사용자 키를 사용하여 파티션의 대량 암호화에 사용되는 주 키를 해독할 수 있습니다. 다음 지침은 RHEL 버전 8 이상에서 작동하는 것으로 확인되었습니다.
이 단계에서는 서버가 형식화되지 않았거나 마운트되지 않았으며 암호화되지 않은 새 IBM Cloud® Block Storage for Classic 볼륨에 액세스할 수 있는 것으로 가정합니다. Block Storage for Classic 를 Linux® 호스트에 연결하는 방법에 대한 자세한 내용은 다음 주제 중 하나를 참조하십시오.
모든 새로운 Block Storage for Classic 은 공급자가 관리하는 미사용 암호화로 자동 프로비저닝됩니다. 자세한 정보는 데이터 제공자 관리 저장 시 암호화 보안을 참조하십시오.
LUKS가 수행하는 작업
- LUKS는 블록 장치 전체를 암호화하므로, 이동식 저장 매체나 노트북 하드 드라이브와 같은 모바일 장치의 내용을 보호하는 데 적합합니다.
- 암호화된 블록 디바이스의 기본 컨텐츠는 스왑 디바이스 암호화에 유용한 임의의 컨텐츠입니다. 암호화는 데이터 스토리지에 대해 특수하게 형식화된 블록 디바이스를 사용하는 특정 데이터베이스에도 유용할 수 있습니다.
- LUKS는 기존의 디바이스 매퍼 커널 하위 시스템을 사용합니다.
- LUKS는 암호 구문을 강화하여 사전 공격으로부터 보호합니다.
- LUKS에는 여러 개의 키 슬롯이 있으므로 사용자가 백업 키 또는 비밀번호 문구를 추가할 수 있습니다.
LUKS가 수행하지 않는 작업
- LUKS는 다수의 사용자(8명 이상)가 동일한 장치에 대해 서로 다른 액세스 키를 가져야 하는 시나리오를 허용하지 않습니다.
- LUKS는 파일 레벨 암호화가 필요한 애플리케이션에서 작동하지 않습니다. 더 자세한 정보는 RHEL 보안 가이드를 참고하세요.
Endurance Block Storage for Classic를 사용한 LUKS 암호화 볼륨 설정
데이터 암호화 프로세스는 잠재적으로 성능에 영향을 줄 수 있는 호스트의 로드를 생성합니다.
-
쉘 프롬프트에서 루트로 다음 명령을 입력하여 필요한 패키지를 설치하십시오.
dnf install cryptsetup-luks -
디스크 ID를 가져오십시오.
fdisk –l | grep /dev/mapper -
목록에서 볼륨을 찾으십시오.
-
블록 디바이스를 암호화하십시오.
-
이 명령을 통해 볼륨을 초기화하고 비밀번호 문구를 설정할 수 있습니다.
cryptsetup -y -v luksFormat /dev/mapper/3600a0980383034685624466470446564 -
YES(모두 대문자)로 답장해 주세요. -
이제 디바이스는 암호화된 볼륨으로 표시됩니다.
$ blkid | grep LUKS /dev/mapper/3600a0980383034685624466470446564: UUID="46301dd4-035a-4649-9d56-ec970ceebe01" TYPE="crypto_LUKS"
-
-
볼륨을 열고 맵핑을 작성하십시오.
cryptsetup luksOpen /dev/mapper/3600a0980383034685624466470446564 cryptData -
비밀번호 문구를 입력하십시오.
-
매핑을 확인하고, 암호화된 볼륨의 상태를 확인하십시오.
# cryptsetup -v status cryptData /dev/mapper/cryptData is active. type: LUKS1 cipher: aes-cbc-essiv:sha256 keysize: 256 bits device: /dev/mapper/3600a0980383034685624466470446564 offset: 4096 sectors size: 41938944 sectors mode: read/write Command successful -
암호화된 디바이스의
/dev/mapper/cryptData에 랜덤 데이터를 기록하십시오. 이 조치는 외부에서 이를 무작위 데이터로 인식하도록 하여, 사용 패턴이 노출되는 것을 방지합니다. 이 단계는 시간이 다소 걸릴 수 있습니다.shred -v -n1 /dev/mapper/cryptData -
볼륨을 포맷하십시오.
mkfs.ext4 /dev/mapper/cryptData -
볼륨을 마운트하십시오.
mkdir /cryptData
mount /dev/mapper/cryptData /cryptData
df -H /cryptData
암호화된 볼륨을 안전하게 마운트 해제 및 종료
umount /cryptData
cryptsetup luksClose cryptData
기존 LUKS 암호화된 패턴을 다시 마운트 및 마운트
$ cryptsetup luksOpen /dev/mapper/3600a0980383034685624466470446564 cryptData
Enter the password previously provided.
$ mount /dev/mapper/cryptData /cryptData
$ df -H /cryptData
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvdb 202:16 0 2G 0 disk
└─xvdb1 202:17 0 2G 0 part [SWAP]
xvda 202:0 0 25G 0 disk
├─xvda1 202:1 0 256M 0 part /boot
└─xvda2 202:2 0 24.8G 0 part /
sda 8:0 0 20G 0 disk
└─3600a0980383034685624466470446564 (dm-0) 253:0 0 20G 0 mpath
└─cryptData (dm-1) 253:1 0 20G 0 crypt /cryptData
sdb 8:16 0 20G 0 disk
└─3600a0980383034685624466470446564 (dm-0) 253:0 0 20G 0 mpath
└─cryptData (dm-1) 253:1 0 20G 0 crypt /cryptData