리눅스에서 dm-crypt로 파티션 암호화하는 방법

Disk Encryption Linux Dm Crypt Featured

하드 드라이브와 SSD는 노트북이나 컴퓨터에서 쉽게 제거할 수 있습니다. 이 경우 운영 체제에서 구현한 모든 보안 조치가 무효가 됩니다. 보호하고자 하는 데이터가 있다면 암호화된 컨테이너를 생성할 수 있습니다. 민감한 파일을 그곳에 저장하고, 비밀이 아닌 파일은 일반 파티션에 저장하면 됩니다.

리눅스 배포판을 설치할 때 암호화된 파티션을 설정하는 것이 가장 쉽습니다. 설치 프로그램이 그 과정을 안내해 줄 수 있습니다. 그러나 이 기회를 놓쳤다면 이 가이드의 단계를 따라 비밀 금고를 생성하십시오.

추가 읽기: 리눅스에서 GPG, Ccrypt, Bcrypt 및 7-Zip을 사용하여 파일 암호화하는 방법

전제 조건

이 과정에는 빈 파티션이 필요합니다. 즉, 포맷되지 않은 파티션(파일 시스템이 없음)을 의미합니다.

형식이 지정된 파티션이 현재 저장 장치의 모든 여유 공간을 차지하고 있다면, GParted를 사용하여 그 중 하나를 축소해야 합니다.

경고: 먼저 데이터를 백업하는 것이 좋습니다. 파티션과 파일 시스템을 축소할 때는 약간의 위험이 따릅니다. 이 과정에서 컴퓨터가 충돌하거나 전원이 꺼질 수 있습니다. 이로 인해 파일 시스템이 일관되지 않은 상태에 남게 될 수 있으며, 복구가 어려울 수 있습니다.

GParted를 사용하여 파티션 크기를 조정하는 첫 번째 단계를 따르십시오. 또는 더 이상 필요하지 않은 파티션이 있다면 삭제할 수 있습니다. (공간을 확보한 후 “할당되지 않음”으로 표시되면 가이드의 나머지 단계를 건너뜁니다.) 특별히 ext4로 포맷된 파티션을 생성하지 마십시오. 대신, 가이드에 표시된 것처럼 할당되지 않은 공간을 마우스 오른쪽 버튼으로 클릭하세요. 열리는 대화 창에서 “파일 시스템”이라는 필드를 볼 수 있습니다. 여기서는 일반적으로 ext4가 기본적으로 선택됩니다. 이를 클릭하고 “지워짐”으로 변경하십시오.

cryptsetup-gparted-new-partition-cleared

“추가“를 선택한 후, 변경 사항을 적용하려면 초록색 체크 표시를 클릭하세요.

cryptsetup 설치

GParted로 파티션을 편집하기 위해 라이브 운영 체제를 부팅했다면, 주요 리눅스 배포판으로 다시 부팅하세요.

터미널 에뮬레이터를 엽니다. Debian 기반 시스템, 예를 들어 Ubuntu 또는 Linux Mint에서 다음 명령어를 입력하세요:

sudo apt update && sudo apt install cryptsetup

cryptsetup-installing-package

Fedora 또는 CentOS와 같이 RPM 패키지를 사용하는 배포판에서는 cryptsetup이 이미 설치되어 있을 수 있습니다. 설치되어 있지 않은 경우 다음과 같이 설치할 수 있습니다:

sudo yum install cryptsetup

OpenSUSE에서 cryptsetup이 사전 설치되어 있지 않은 경우 다음과 같이 설치할 수 있습니다:

sudo zypper refresh && sudo zypper install cryptsetup

Arch 기반 배포판에서는 다음 명령어를 사용합니다:

sudo pacman -S cryptsetup

파티션의 블록 장치 이름 찾기

다음 명령어를 입력합니다:

lsblk

cryptsetup-lsblk

제공된 예시에서 스토리지 장치는 “vda”입니다. “vda1”에서 “vda3”은 파티션입니다.

준비한 파티션을 찾으려면 예약한 크기를 기억하십시오. 마운트 지점이 없는 파티션 중에서 찾을 수 있습니다. 귀하의 경우 “dev/sda2”와 같은 것이 될 수 있습니다.

파티션을 암호화하면 해당 파티션의 데이터(있는 경우)가 덮어써지므로 장치 이름을 잘못 지정하면 유용한 데이터를 손실할 수 있습니다. 장치 이름이 맞는지 확인하려면 GParted를 설치하고 파티션 레이아웃을 확인하십시오. 그래픽 사용자 인터페이스에 장치 이름이 나열됩니다. 라이브 시스템에서 부팅할 때 GParted에서 본 이름을 사용하지 마십시오(본 경우). 라이브 시스템에서 보여주는 레이아웃은 설치된 배포판에서 부팅할 때 보이는 레이아웃과 다릅니다.

올바르지 않은 블록 장치에 쓰지 않도록 확인할 수 있는 또 다른 방법이 있습니다. 그것을 마운트해 보십시오. 일반적으로, 파일 시스템이 없기 때문에 마운트에 대한 요청을 거부해야 합니다.

중요: 항상 “vda3”를 귀하의 장치 이름으로 교체하는 것을 기억하십시오:

sudo mount /dev/vda3 /mnt

귀하의 경우, 명령어는 sudo mount /dev/sda2 /mnt 또는 다른 것이 될 수 있습니다.

이 메시지를 받아야 합니다.

cryptsetup-test-mount

LUKS 헤더 설정

올바른 장치 이름이 확실하면 파티션에 LUKS 헤더를 추가하세요.

sudo cryptsetup luksFormat /dev/vda3

“예”를 입력하고 암호화된 파티션에 대한 강력한 비밀번호를 선택하십시오. 암호를 확인하라는 메시지가 표시되면 동일한 비밀번호를 입력합니다.

파티션에 파일 시스템 생성

이 물리적 장치를 가상 장치에 매핑해야 합니다. 가상 장치에 기록되는 내용은 물리적 장치에 저장되기 전에 암호화됩니다.

sudo cryptsetup luksOpen /dev/vda3 encrypted-partition

파티션은 사용 가능하려면 파일 시스템이 필요합니다. 다음 명령어로 ext4 파일 시스템을 생성합니다:

sudo mkfs.ext4 /dev/mapper/encrypted-partition

cryptsetup-make-ext4-filesystem

암호화된 파티션 마운트

파일 시스템을 마운트할 디렉토리를 생성합니다.

mkdir ~/encrypted-storage

파일 시스템을 마운트합니다:

sudo mount /dev/mapper/encrypted-partition ~/encrypted-storage

그 디렉토리로 이동합니다:

cd ~/encrypted-storage

현재는 오직 루트 사용자만 여기에 쓸 수 있습니다. 상위 디렉토리의 소유자를 귀하의 사용자로 변경하여 이 파일 시스템에 대한 쓰기 권한을 부여하십시오. 명령어를 전체적으로 복사하여 붙여넣으십시오. 끝에 “.” 포함.

sudo chown $USER:$USER .

다른 사용자가 이 디렉토리를 읽거나 쓸 수 없도록 제한합니다.

chmod 700 .

이 시점에서 대부분의 파일 관리자에서 인터페이스에 새 암호화 장치를 표시해야 합니다. 이것은 XFCE 데스크탑 환경에서 기본적으로 사용되는 Thunar 파일 관리자에서 어떻게 보이는지를 보여줍니다.

cryptsetup-encrypted-partition-in-thunar

볼륨이 마운트되지 않은 경우, 클릭하면 볼륨 비밀번호와 sudo 비밀번호를 입력하라는 메시지가 표시됩니다. 볼륨은 자동으로 마운트되며 브라우징할 수 있습니다. 마운트 지점은 “~/encrypted-storage”와 다를 수 있습니다. “/media/user/f42f3025-755d-4a71-95e0-37eaeb761730/”와 같은 것일 수 있습니다.

그것은 중요하지 않으며, 이전에 설정한 권한은 여전히 적용됩니다. 중요한 것은, 작업을 완료한 후 반드시 마우스 오른쪽 버튼을 클릭하여 마운트를 해제하는 것을 기억하는 것입니다. 마운트를 해제하고 가상 장치를 닫으면 그 누구도 암호화된 파티션의 데이터를 읽을 수 없게 되며, 운영 체제조차도 읽을 수 없습니다.

어떤 이유로든 파일 관리자가 이 기능을 지원하지 않는 경우 터미널에서 마운트할 수 있습니다.

sudo cryptsetup luksOpen /dev/vda3 encrypted-partition  
sudo mount /dev/mapper/encrypted-partition ~/encrypted-storage

이제 파일 관리자의 “/home/username/encrypted-storage”로 가서 볼륨에 액세스할 수 있습니다. 작업이 끝나면 파일 시스템의 마운트를 해제하고 가상 장치를 닫습니다:

cd && sudo umount /dev/mapper/encrypted-partition  
sudo cryptsetup luksClose /dev/mapper/encrypted-partition

결론

이제 중요한 파일을 위한 안전한 장소가 생겼습니다. 누군가가 그곳에 저장한 내용을 볼 수 없다는 것을 아는 것은 마음의 평화를 줄 수 있습니다.