새소식

사용팁/crypt

[ubuntu 20.04][zuluCrypt] 이미지 생성 및 마운트하기

  • -

기록용으로 남깁니다.

우분투에서 암호화된 파티션이 필요할 일이 있어서 찾아봤더니 trucrypt 는 이제 잘 안쓰이고, 전에 써봤던 veracrypt 관련 패키지가 목록에 안나오고 처음보는 zulucrypt 가 검색되었습니다.

찾아보니 zulucrypt 에서도 veracrypt 이미지를 생성할 수 있는 것 같아서 해당 패키지를 설치했습니다.

gui 도 있으면 편할 것 같아서(cli 옵션 공부하기 귀찮아서..) gui 패키지를 설치했습니다.

sudo apt install zulucrypt-gui

gui 를 실행시켜서 이미지를 만들어보겠습니다.(cli 에서도 가능한데.. 포기..)

정상적으로 설치되었다면 Win 키를 눌러서 나오는 검색창에 zulu 라고 치면 잘 찾아줍니다.

실행하면 단촐한 화면이 나옵니다. 여기에서 Create >> Encrypted container in a new file 메뉴를 선택해줍니다.

생성 창이 나옵니다. File Name 에 생성할 파일 이름을 써주면 File Path 를 자동으로 채워주는데, 이 경로가 맘에 안드시면 오른쪽에 있는 아이콘을 눌러 경로를 지정해주세요.
그리고  File Size 에 생성할 용량을 쓰고 단위 KB/MB/GB 를 골라주신 뒤 Create 를 누르시면 됩니다.
아래 그림은 스크린샷을 위해 빨리 생성되도록 10MB 를 선택했지만 사용 목적에 따라 그 크기가 달라질 것입니다.
만약, 물리 디스크를 다 쓰려고 한다면, 실제 용량을 다 쓰시면 높은 확률로 오류가 발생하실 것입니다. 내부적으로 잡아먹는 용량이 있는 것 같습니다.. 이 문제 때문에 시간을 많이 잡아먹었는데요.. ㅜㅜ
결론만 말씀드리면 대략 15%의 용량을 제외하고 생성하면(85%) 그럭저럭 잘 생성됩니다. 그래도 안되면 크기를 조금 더 줄여보세요.
제 경우에는 224GB 하드에서 190GB 크기로 생성하니 성공했습니다!

덩치 크게 잡으셨으면 여기에서 시간이 꽤 흐릅니다. 정상적으로 이미지가 생성되었다면 이제부터 머리가 아픈(?) 화면이 나타납니다.

여기서 정확히 알고 신경써서 입력해야 할 부분은 Key 콤보박스, Key/Repeat Password 입력, Volume Type, 암호화 알고리즘 선택 정도입니다.

이 창에서 말하는 Key 는 비밀번호입니다. Keyfile 을 생성했다면(어떻게??) Keyfile 옵션을 선택해서 해당 키 파일이 있어야지만 마운트되게 할 수도 있고 Key, Keyfile 을 선택해서 비밀번호와 키파일 모두 필요하게 할 수도 있습니다.

전 Keyfile 만들 줄 몰라서(알기는 하지만 만들기도 귀찮고, 관리하기도 귀찮고, 보안 위험도 있어서..) 안쓰고 비밀번호만 쓰겠습니다. Key 선택하고 비밀번호를 Key/Repeat Password 에 두번 입력합니다.

Volume Type 은 기본적으로 LUKS 가 선택되어 있습니다. LUKS 는 리눅스 표준 볼륨 암호화 수단이라는데 1, 2, 3 글을 참고하세요. 자세한 설명은 안하겠습니다. 여기선 다른거 쓸거니까요 ㅎㅎ

콤보박스 눌러보면 아시겠지만 plain, LUKS, truecrypt, veracrypt 방식을 고를 수 있게 되어 있습니다. 전 veracrypt 방식 중 일반/숨김 파티션을 제공하는 Normal+Hidden VeraCrypt 를 골랐습니다. 잘 모르시면 Hidden 억는 Truecrypt, Veracrypt 중 하나 골라서 쓰시면 될 것 같습니다.

암호화 방법도 복잡하고 몰라서 그냥 aes.xts-plain64.512.sha512 골랐습니다. 보안 수업 열심히 들으신 분들은 필요하신 방식 고르시면 되겠습니다.

저처럼 + Hidden xxxx 를 고르셨다면 아래 항목이 활성화됩니다.

이럴 때 윗부분을 외부 영역, 아랫부분을 내부 영역(숨김 영역)에 관련된 정보입니다. 외부 영역과 비밀번호를 다르게 입력하시는게 좋습니다.
용량을 또 물어보죠?
아께 제가 고른 이미지 용량 190GB 중에 어느만큼을 숨김 영역에 할당할지 적으라는 겁니다. 이 값도 최저값이 있는지 너무 작으면 생성 실패합니다..

190GB 기준 내부 영역 1GB 를 제외한 189 GB 로 지정하니 오류없이 지나갔습니다.

PIM 은 비워두거나 0으로 써두면 자동으로 기본값으로 변경됩니다. 이 값이 뭔지 아시는 분은(성능과 연관됩니다.) 숫자값을 채워주시면 됩니다. 뭔지 궁금하시면 이 글을 보세요(영어입니다).
덩치가 클수록 처음에 열 때 시간이 많이 걸리는데 그게 마음에 안드시면 이 값을 조절(줄여가면서)해서 만드시면 좀 더 빨리 열린다고 합니다. 다만, 남도(brutal force 공격) 좀 더 빨리 열 수 있다고 하네요. 보안 생각한다고 너무 크게 넣으시면 마운트 한 번 하는데 커피 타서 마시고 좀 기다리셔야겠습니다. 머리아프시면 꼭 비워두세요.

파일 시스템도 고르라고 되어 있고 ext4 가 떡하니 선택되어 있습니다. 원하시는 대로 골라서 하시면 됩니다. 다만, vfat 이 아닌 파티션을 선택하면 바로 진행이 안되고 경고가 한 번 뜨고 다시, 돌아옵니다.

선택하신 파티션이 꼭 필요하다면 무시하시고 다시 Create 버튼 누르시면 정상적으로 진행됩니다.

이제 생성한 이미지를 불러서 마운트해봅시다.

메뉴에서 Open >> volume hosted in a file 메뉴를 눌러서 아까 생성한 파일을 고르시면 됩니다.

Mount Name 은 바꿀 수 있습니다. 전 안바꿨습니다. Volume Type 은 알아서 읽어옵니다. PIM 아까 지정 안했으니 전 입력안합니다. Password 입력하고 Open 하시면 해당 이미지가 마운트됩니다.

조금 시간이 걸리고 파일창(윈도우의 탐색기?)이 열립니다.

이제 잘 사용하시면 되겠습니다. 마운트 해제하고 싶으시면 해당 파티션 파일 작업을 다 종료 시키신 다음에 zC >> Close all opened volumes 메뉴를 실행하시면 됩니다. 단일, 해제는 gui 에서는 모르겠습니다.

gui 가 생성은 편한데 마운트하기는 좀 귀찮습니다. 마운트는 자동화시키고 싶다면 cli 를 이용해야 합니다.

모든 옵션 저도 다 이해 못하고 간신히 동작하는 것만 소개해 드립니다. 자세한 내용은 1, 2 글을 참고해서 사용하세요
제가 이해한 내용만 언급해드리면, -K 1000 은 uid=1000 인 사용자 권한, -o 는 open -d 는 읽어들일 대상, -m 은 마운트할 디렉토리 명입니다.
※ uid 값이 1000 인 사용자는 우분투 최초 설치시 등록한 계정이 1000을 부여받습니다. 만약, 첫번째가 아닌 다른 추가 계정으로 작업을 진행하셔야 한다면, 해당 사용자로 로그인한 다음 id -u 명령으로 uid 값을 확인하시면 됩니다. 

sudo zuluCrypt-cli -K 1000 -o -d /home/sr/test2 -m test22 -M -e rw -t vcrypt

간략화 버전

sudo zuluCrypt-cli -K 1000 -o -d /home/sr/test2 -m test2 -e rw -t vcrypt

이 명령 다음에 비밀번호를 물어보는데 외부 비밀번호를 입력하면 외부영역이, 내부 비밀번호를 입력하면 내부영역이 마운트 됩니다.

/run/media/private/계정명/-m으로 지정한 이름 경로로 마운트 됩니다. 제 경우에는 /run/media/private/sr/test2 에 마운트되었습니다.

마운트 해제시에는

sudo zuluCrypt-cli -K 1000 -q -d /home/sr/test2 라고 써주시면 됩니다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.