우분투에서 하드 디스크 암호화하는 방법

Full Disk Encryption Ubuntu Featured

디스크를 암호화하는 것은 민감한 정보를 안전하게 보호하는 한 가지 방법입니다. 암호화가 없이는 강력한 시스템 비밀번호도 다른 운영 체제를 사용하여 파일에 접근하는 것을 방지하기에 충분하지 않습니다.

암호화는 읽을 수 있는 정보를 암호문으로 알려진 읽을 수 없는 데이터로 변환하며, 이는 키를 통해서만 해독할 수 있습니다. 리눅스에서는 대부분의 배포판이 설치 중 또는 설치 후에 전체 디스크 암호화를 쉽게 허용합니다.

이 가이드에서는 처음 설정하든 기존 시스템에 암호화를 추가하든 우분투에서 드라이브를 암호화하는 방법을 안내합니다.

전체 디스크 암호화란 무엇인가요?

전체 디스크 암호화(Full Disk Encryption, FDE)는 모든 파일과 시스템 데이터를 포함하여 전체 드라이브를 보호합니다. 예를 들어, 시스템이 시작될 때, 사용자 계정에 로그인하기 전에 드라이브를 잠금 해제하기 위해 비밀번호나 키를 입력해야 합니다.

최적의 보안을 위해 리눅스 설치 중에 전체 디스크를 암호화하세요. 이렇게 하면 시스템 파티션과 스왑 공간 모두가 암호화되어 암호화 프로세스가 오류 없이 원활하게 진행됩니다. 그러나 전체 디스크를 암호화하면 특히 구형 하드웨어에서 성능 저하가 발생할 수 있습니다.

암호화의 장단점

전체 하드 드라이브를 암호화하는 것은 완벽한 아이디어처럼 들리지만, 이를 수행하면서 몇 가지 문제점이 있습니다. 장단점을 살펴보겠습니다.

암호화의 장점

  • 프라이버시 증가
  • 암호화 키를 가진 사람만 운영 체제 및 그 위의 모든 파일에 접근할 수 있음
  • 국가 정부나 해커가 여러분의 기계를 염탐하고 프라이버시를 침해할 수 없음

암호화의 단점

  • 다른 리눅스 운영 체제에서 리눅스 파일 시스템에 접근하고 마운트하는 것이 어렵거나 사실상 불가능할 수 있음
  • 이러한 파티션에서 데이터를 복구하는 것은 불가능함
  • 사용자가 복호화 키를 잃어버리면 운이 나쁘게도 데이터에 접근할 수 없음

설치 준비

우분투로 암호화하는 것은 OS 수준에서 설치가 시작될 때 가장 잘 이루어집니다. 활성 우분투 설치를 암호화하는 것은 가능하지 않으므로, 중요한 파일을 드롭박스, 구글 드라이브(혹은 추가 하드 드라이브)에 백업하고 우분투를 재설치할 준비를 하세요.

ubuntu-encrypt-ubuntu-alternative-downloads

최신 버전의 우분투를 다운로드하고, USB 플래시 드라이브(최소 2GB 크기)를 준비합니다.

라이브 USB 디스크를 만들기 위해 프로그램이 필요합니다. 에쳐(Etcher) 도구를 다운로드합니다. zip 아카이브에서 추출한 후, 추출된 파일을 우클릭(또는 마우스로 강조 표시한 후 Enter 키를 눌러 실행합니다).

Downloading Etcher tool from the web.

참고: 에쳐가 아이콘 생성 요청을 할 경우, 를 선택합니다.

에쳐 안에서 Select Image 버튼을 클릭하고, 이전에 다운로드한 우분투 ISO 이미지로 이동합니다. 그런 다음 USB 플래시 드라이브를 연결합니다. 에쳐가 자동으로 이를 감지하고 선택합니다. 마지막으로 Flash! 버튼을 선택하여 생성 프로세스를 시작합니다.

완료되면 플래시 드라이브가 여전히 연결된 상태로 컴퓨터를 재부팅하고, 컴퓨터의 BIOS를 불러와 USB에서 부팅하는 옵션을 선택합니다.

참고: 만약 귀하의 기계가 USB에서 부팅하는 것을 지원하지 않는다면, 우분투의 32비트 버전을 다운로드하고 컴퓨터의 굽기 소프트웨어를 사용하여 ISO를 DVD에 굽습니다.

우분투 설치 중 전체 디스크 암호화

우분투 리눅스는 설치 과정 중에 활성화할 수 있는 간단한 전체 디스크 암호화 기능을 제공합니다. 이 기능은 LUKS(리눅스 통합 키 설정)라는 널리 지원되는 디스크 암호화 표준을 설치 워크플로에 직접 통합하여 암호화를 간소화합니다. 한 번 활성화되면 디스크를 포맷하지 않고는 암호화를 비활성화할 수 없습니다.

우분투 설치 미디어에서 부팅하여 설치 프로세스를 시작합니다. 파티셔닝 작업을 시작할 때 고급 기능 옵션을 선택하여 암호화를 구성합니다.

Advanced Features Option Of Disk in Ubuntu instlltion.

다음으로 LVM 및 암호화 사용 옵션을 선택합니다. LVM(논리 볼륨 관리)은 디스크 공간 관리를 유연하게 제공하여 파티션 크기를 조정하거나 여러 논리 볼륨을 관리하는 것을 용이하게 합니다.

Choosing LVM and encryption options.

그런 다음 보안 키(비밀번호)를 생성합니다. 이 키는 시스템 부팅 시마다 드라이브를 복호화하는 데 사용됩니다.

Creating Passphrase Key

끝으로, 설치 프로그램은 LVM 파티션을 포함한 새로운 파티션 레이아웃을 표시합니다. 암호화가 활성화되면 이들 파티션은 안전하게 암호화됩니다. 진행하기 전에 변경 사항을 검토하고 확인합니다.

Reviewing Choices

설정이 완료되면 설치를 마치고 기계를 재부팅합니다. 이제 부팅할 때마다 보안 키를 입력하여 암호화된 드라이브를 잠금 해제해야 합니다. 이 키 없이는 드라이브의 데이터에 접근할 수 없습니다.

불행히도 전체 디스크 암호화는 기존 우분투 설치에 추가할 수 없습니다. 그러나 개별 디렉토리나 파티션을 LUKS와 같은 도구를 사용하여 암호화할 수 있습니다.

설치 후 디스크 암호화

이미 우분투를 설치했으며 전체 재설치를 원하지 않는 경우, 홈 디렉토리 및 스왑 공간과 같은 특정 영역을 암호화하여 시스템의 보안을 강화할 수 있습니다. 예를 들어, 홈 디렉토리는 사용자 별 민감 데이터를 저장하고, 운영 체제는 스왑 공간을 사용하여 RAM에서 데이터의 일시 저장합니다.

설치 후 홈 디렉토리와 스왑 공간을 암호화하면 추가적인 보안층이 제공되어 전체 시스템 재설치 없이 데이터를 보호할 수 있습니다. 이 프로세스는 비교적 간단하지만, 항상 데이터 손실을 방지하기 위해 복구 비밀번호를 안전하게 보관하세요.

시작하려면 부분 암호화를 위해 Ecryptfs-utilsCryptsetup 패키지를 설치하세요:

sudo apt install ecryptfs-utils cryptsetup

로그인한 상태에서 활성 홈 폴더를 암호화할 수는 없습니다. 진행하려면 임시 사용자를 생성하세요:

sudo adduser new-temp

Adding new temporary user.

비밀번호와 사용자 세부정보를 설정하라는 프롬프트를 따릅니다. 다음으로, 새 사용자에게 sudo 권한을 부여합니다:

sudo usermod -aGsudo encrypt-temp

로그아웃하고 전원 메뉴에서 임시 사용자로 전환합니다:

Switching user from power menu in Ubuntu.

이제 대상 사용자의 홈 디렉토리를 암호화합니다:

sudo ecryptfs-migrate-home -u

Encrypting Home directory in Ubuntu using ecryptfs tool.

기본 사용자의 이름으로 교체합니다. 기본 사용자의 비밀번호를 입력하라는 메시지가 표시됩니다. 이 과정은 디렉토리 크기에 따라 시간이 걸릴 수 있습니다.

암호화가 완료되면 임시 사용자에서 로그아웃하고 원래 계정으로 돌아갑니다. 테스트 파일을 생성하고 읽어 암호화가 정상적으로 적용되었는지 확인합니다:

echo"Your Text"> test.txt &&cat test.txt

파일을 성공적으로 쓰고 읽을 수 있다면 암호화가 올바르게 적용된 것입니다.

또한 데이터 접근을 잃지 않도록 보장하기 위해 다음 명령어로 복구 비밀번호를 기록하는 것이 좋습니다:

sudo ecryptfs-unwrap-passphrase

프롬프트가 표시되면 로그인 비밀번호를 입력합니다.

스왑 공간 암호화하기

스왑 공간은 물리적 메모리(RAM)를 디스크 스토리지로 확장합니다. 그러나 스왑 공간을 암호화하면 민감한 정보가 암호화되지 않은 가상 메모리에 남지 않도록 보장합니다. 이는 시스템의 절전 모드/재개 기능에 영향을 줄 수 있습니다.

리눅스 시스템에서 스왑 공간을 만들려면 스왑 파일 또는 스왑 파티션을 생성할 수 있습니다. 생성된 스왑 파일이 있는 경우 현재 스왑 공간을 확인하려면:

swapon -s

이 명령어를 실행하여 스왑 크기를 확인할 수도 있습니다:

free -h

이제 스왑 공간을 암호화하려면 다음을 실행하세요:

sudo ecryptfs-setup-swap

Encrypting Swap space partition.

암호화가 완료되면 임시 사용자를 제거합니다:

sudo deluser --remove-home new-temp

또한 암호화 프로세스 중에 홈 디렉토리의 백업이 생성됩니다. ls -lh /home 명령어를 사용하여 “/home”에서 찾을 수 있습니다.

모든 것이 잘 작동한다면 다음 rm 명령어로 백업을 안전하게 삭제할 수 있습니다:

sudo rm -r 

마무리

새 시스템을 구성하든 구형 시스템을 보호하든, 디스크 암호화는 견고한 보호층을 제공합니다. 또한 Cryptsetup과 LUKS를 사용하여 드라이브나 파티션을 암호화하거나, VeraCrypt와 같은 사용자 친화적인 대안을 사용할 수도 있습니다.

암호화는 포괄적인 보안 전략의 일부일 뿐임을 기억하세요. 방화벽 및 다단계 인증과 같은 다른 조치를 결합하여 리눅스 노트북의 프라이버시를 더욱 향상시켜 견고한 데이터 보호를 실현할 수 있습니다.

이미지 출처: 하드 드라이브에 잠금 장치 사진은 DepositPhotos에서 제공. 모든 수정 사항 및 스크린샷은 Haroon Javed가 작성했습니다.