루트 파티션 만 암호화하는 방법을 미리 설정하려면 어떻게해야합니까?


13

EFI ( /boot/efi), 부팅 ( /boot) 및 루트 ( /)의 3 가지 파티션이 있습니다 . 그냥 암호화하고 싶습니다 /. 설치 프로그램을 통해 수동으로이 작업을 수행 할 수 있지만 미리 설정하고 싶습니다.

그것을 어떻게 정의합니까? 내 (암호화되지 않은) 레시피는 다음과 같습니다. 내가 찾은 EFI 시스템 파티션에 대한 제안이 잘못되었습니다 (명확한 안내서는 없습니다).

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ / }
  .

어떻게해야합니까 sda3LUKS 암호화에 대한 물리적 파티션하고 그 위에 파일 시스템을 가지고?

최신 정보:

아래와 같이 파티션을 암호화로 설정할 수 있음을 발견했지만 여전히 3 가지 문제가 있습니다.

  1. 선택한 파티션에서 여전히 암호화 된 볼륨을 생성하고 활성화해야합니다
  2. 생성하고 활성화 한 후에도 암호화 된 볼륨에 올바른 ext4 파일 시스템을 설정해야합니다
  3. 레시피는 dm-crypt암호화 된 볼륨을 생성하고 활성화하는 데 필요한 암호화 유형을 선택하지 않습니다 .

여전히 힘겨워

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    method{ crypto } format{ }
  .

참고로, 라벨 좋아 sda, sdb, sdc, 등은 항상 (나의 부팅 할 때마다 스위치) 부츠와 같은 문자 (A, B, C)을 보관하지 않습니다
Xen2050

2
Xen2050 @ 바로 당신은, UUID또는 PARTUUID또는 LABEL또는 PARTLABEL훨씬 더 있습니다. 필자의 경우 포맷을 위해 이미지를 부팅하므로 드라이브가 하나뿐입니다. 단일 파티션을 암호화하도록 어떻게 설정합니까? 대화식으로 할 수 있지만 미리 설정해야합니다.
deitch

흠, 어딘가에 있을지 모르지만 더 많은 질문이 있습니다. 다른 질문을 게시합니다.
deitch

@deitch-이것은 서버 파티션 구성입니까, 아니면 클라이언트입니까, 아니면 데스크탑 파티션입니까? 이 3 개의 파티션은 당신의 의도에 비해 너무 적습니다. / swap 및 / home이 누락되어 있습니다. 따라서 논리적 파티션으로 하드 디스크의 확장 된 부분을 설정해야합니다. 일반적으로 파티션은 전체적으로 4 개만 허용하지만 논리적 파티션으로 확장됩니다. 4 배 63 파티션 최대 (그리고 GPT는 훨씬 더 허용)?! - unix.stackexchange.com/questions/33555/... - 마스터와 슬레이브 파티션에 대해.
dschinn1001

@ dschinn1001은 실제로 보안 서버용 템플릿입니다. 핵심 운영 체제는 이동식 드라이브에 있습니다. 사용자 데이터와 스왑은 내부 드라이브에 있으며 시스템 서비스는 적절히 찾아서 마운트합니다. 그러나 그것을 무시하고 .... 어떻게 LVM없이 암호화되도록 루트를 설정할 수 있습니까?
deitch

답변:


1

먼저 루트 터미널을 엽니 다.

sudo -i

그런 다음 다음과 같은 명령을 사용하여 임의의 데이터로 암호화해야 할 파티션을 채우십시오.

openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > /dev/sdxy

sdxy암호화 될 파티션 으로 교체 해야합니다. 그런 다음

cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 2000 /dev/sdxy

파티션을 암호화합니다 sdxy. 볼륨을 열고 이름을 지정하십시오 root.

cryptsetup luksOpen /dev/sdxy root

이 명령을 사용하여 그 안에 ext4 파일 시스템을 만드십시오 :

mkfs.ext4 /dev/mapper/root

다음으로 설치 프로그램을 시작할 수 있습니다. 무엇을하고 싶은지 물으면 "다른 것"을 선택하십시오. 그런 다음 암호화되지 않은 모든 파티션에 대한 마운트 지점을 선택하십시오. 당신을 위해 root파티션을 선택 /dev/mapper/root, "변경"을 클릭합니다. 그런 다음 ext4파일 시스템 유형을 선택 하고 마운트 지점을로 설정하십시오 /. 그런 다음 "지금 설치"를 클릭하고 우분투를 정상적으로 설치하십시오.

설치가 끝나면 "계속 테스트"를 클릭하십시오. 터미널을 열고 다음을 입력하십시오.

sudo -i
cd /mnt
mkdir root
mount /dev/mapper/root root
mount /dev/sdyz root/boot

sdyzboot파티션 으로 교체해야 합니다. 다음을 입력하십시오.

chroot root
mount -t proc proc /proc
mount -t sysfs sys /sys
nano /etc/crypttab

두 번째 터미널을 열고을 입력하십시오 sudo blkid. 에 대한 UUID root( crypto_luks끝에 나오는)를 찾아 붙여 넣습니다 /etc/crypttab. 그런 다음 파일 /etc/crypttab은 다음과 같아야합니다.

root UUID=d68911dd-172a-4608-86d4-084eb72f409c none luks

로 파일 닫습니다 Ctrl+를 x, y하고 Enter. nano /etc/fstab터미널을 입력 하고 모든 것이 올바르게 보이는지 확인하십시오 (예 : UUID).

마지막으로 chroot 환경을 종료하고 다음을 입력하십시오.

cryptsetup luksHeaderBackup /dev/sdxy --header-backup-file /root/root.img

이것은 암호화 된 파티션 헤더의 이미지를 폴더에 /root넣고 이름을 지정합니다 root.img. 그런 다음 암호를 잊어 버린 경우 이미지를 외장 드라이브로 옮깁니다. 이제 새로 설치된 Ubuntu로 재부팅 할 수 있습니다.

출처 : http://thesimplecomputer.info/full-disk-encryption-with-ubuntu


우분투에 오신 것을 환영합니다! 이 이론적으로 질문에 대답 할 수 있습니다 동안, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다.
Karl Richter

@Earl chroot (또는 컨테이너화 된) 환경에서 미리 파티션을 빌드 한 다음 설치 프로그램에 고정시키는 것이 좋습니다.
deitch

미리보기와 어떻게 작동합니까?
deitch

모르겠지만 rootLVM없이 LUKS 암호화 파티션 을 만드는 최소한의 솔루션입니다 .
얼 닉
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.