암호화 된 사용자 정의 설치


21

내 컴퓨터는 우분투를 실행합니다. 다른 매체에 Ubuntu를 설치하고 싶습니다. 암호화를 활성화하고 싶지만 우분투 설치 프로그램의 기본 선택 항목 (삭제 / 삭제 등)은 기본 드라이브에만 관련되어 있으므로 "다른 것"을 선택하고 다른 드라이브에서 수동으로 파티션을 만들어야합니다. 부팅을 위해 128MB 부분을 잃어 버렸습니다. 분할 할 수없는 나머지 공간으로 암호화 된 파티션을 만들면 스왑이 없습니다. 대신 두 개의 암호화 된 파티션을 만들면 두 개의 다른 암호를 설정하려고하기 때문에 올바르지 않은 것 같습니다 ...

그러면 스왑을 어떻게 설정할 수 있습니까? (설치 중 또는 설치 후).


답변:


29

이 작업을 수행하는 방법 LVM 단일 암호화 된 파티션

경고

우선 128M은 부팅하기에 너무 작습니다! 1G를 사용합니다. 그렇지 않으면 일어날 수밖에 없다 당신이 오래된 커널을 제거하는 것을 잊지 및 / 부팅 채울 것입니다, 당신이해야한다는 것입니다 시스템에서 이전 커널을 제거하려는의 고통을 다루는 당신이 얻을 수 있도록 apt또는 apt-get작업에 다시. 1G를 사용하더라도 때때로 이전 커널을 제거하십시오.

다음 단계는 초보자를위한 것이 아닙니다.
업데이트 : 나는 당신과 더 많은 작업을 수행 할 스크립트 를 만들었습니다 ! 설치하기 전에 Live OS에서 실행하기 만하면됩니다. 내 블로그 에서 글을 찾을 수 있습니다 .


라이브 OS에서 사전 설치

수동 파티셔닝 중에 LUKS 및 LVM을 설정하려고합니다! 우분투 16.04.2에서 이것을 테스트했습니다.

라이브 OS에서 Ubuntu를 부팅하고 설치하지 않고 Ubuntu를 시도하는 옵션을 선택하십시오. 아래에 설명 된 단계를 수행하십시오. / dev / sdb에 설치한다고 가정 해 봅시다.

  1. 선택한 도구로 드라이브를 파티션하십시오. fdisk를 사용하여 다음과 같이 msdos 파티션 테이블에 광산을 설정했습니다.
    • 다른 파티션 : 기존 OS-우리는 이것에 신경 쓰지 않습니다
    • sdb1 : / boot (1G)
    • sdb2 : LUKS 파티션 (나머지 디스크)
  2. LUKS 설정
    • sudo cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sdb2
    • sudo cryptsetup luksOpen /dev/sdb2 CryptDisk
    • 필요하지는 않지만, 암호화 된 상태의 파티션이 임의의 데이터로 채워지도록 LUKS 파티션을 0으로 채우는 것이 좋습니다. sudo dd if=/dev/zero of=/dev/mapper/CryptDisk bs=4M 이 과정은 시간이 오래 걸릴 수 있습니다!
  3. / dev / mapper / CryptDisk에서 LVM 설정
    • sudo pvcreate /dev/mapper/CryptDisk
    • sudo vgcreate vg0 /dev/mapper/CryptDisk
    • sudo lvcreate -n swap -L 2G vg0
    • sudo lvcreate -n root -L 10G vg0
    • sudo lvcreate -n home -l +100%FREE vg0

라이브 OS에서 설치

  1. 이제 설치 준비가되었습니다. 설치의 "설치 유형"부분에 도달하면 "다른 방법"옵션을 선택하십시오. 그런 다음, 구성하려는대로 / dev / mapper / vg0- * 파티션을 수동으로 할당하십시오. / dev / sdb1을 / boot로 설정하는 것을 잊지 마십시오. / boot 파티션은 암호화되지 않아야합니다. 그렇다면 부팅 할 수 없습니다. "부트 로더 설치 장치"를 / dev / sdb로 변경하고 설치를 계속하십시오.
  2. 설치가 완료되면 재부팅하지 마십시오 ! "테스트 계속"옵션을 선택하십시오.

라이브 OS에서 설치 후 구성

시스템을 부팅하려면이 비트가 정말 중요합니다! 이 설치 후 단계를 파악하기 위해 이것을 조사하는 데 꽤 많은 시간을 보냈습니다. 필자의 경우 실제로 / dev / sda에서 / boot의 크기를 사용자 정의하려고했기 때문에 실제로 수행했지만 모든 작업이 상황에 따라 수행되어야합니다.

  1. 터미널에서 다음을 입력하고 / dev / sdb2의 UUID를 찾으십시오. 나중에 해당 UUID를 기록해 두십시오.
    • sudo blkid | grep LUKS
    • 내 컴퓨터의 중요한 줄은 읽습니다. /dev/sdb2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"
  2. 다음으로 새로 설치된 시스템을 다시 마운트하여 더 많은 변경을 할 수 있습니다.

    • sudo mount /dev/vg0/root /mnt
    • sudo mount /dev/vg0/home /mnt/home # 이것은 아마도 필요하지 않습니다
    • sudo mount /dev/sdb1 /mnt/boot
    • sudo mount --bind /dev /mnt/dev # 이것이 꼭 필요한지는 확실하지 않습니다
    • sudo mount --bind /run/lvm /mnt/run/lvm
    • (EFI를 사용하는 경우에만) : sudo mount /dev/sd*/your/efi/partition /mnt/boot/efi
  3. 이제 sudo chroot /mnt설치된 시스템에 액세스하십시오

  4. chroot에서 몇 가지 더 마운트
    • mount -t proc proc /proc
    • mount -t sysfs sys /sys
    • mount -t devpts devpts /dev/pts
  5. 암호화 탭을 설정하십시오. 자주 사용하는 텍스트 편집기를 사용하여 / etc / crypttab 파일을 만들고 다음 줄을 추가하여 디스크의 UUID로 UUID를 변경하십시오.
    • CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
  6. 마지막으로 부팅 파일을 다시 빌드하십시오.
    • update-initramfs -k all -c
    • update-grub
  7. 재부팅하면 시스템은 부팅시 암호를 해독해야합니다!

특별 감사로 이동 마틴 이브 , EGIDIO 유순 하고,에서의 사람들 blog.botux.fr 자습서 그들이 기록했다. 게시물에서 조각을 가져 와서 약간의 추가 문제 해결을 수행하여 마침내 이것을 알 수있었습니다.

나는 이것을 여러 번 시도했고 계속해서 실패했다. 오류 메시지를 기반으로 스스로 해결해야했던 비트는sudo mount --bind /run/lvm /mnt/run/lvm


많은 감사하지만 아직 luks 파티션을 설정 해야하는 시작 부분에 붙어 있습니다. fdisk -L 출력에서 ​​찾을 수 없습니다.
Yvain

그리고 암호를 설정하려고하면 오류가 발생합니다 : 헤더를 제거하지 못했습니다
Yvain

나는 당신이 이것을 해결책으로 표시 한 것을 본다. 작동 시켰습니까? 그렇지 않은 경우 파티션을 생성하기 위해 어떤 도구를 사용 했습니까? 먼저 Gparted 또는 fdisk와 같은 도구로 디스크를 분할하여 / boot 용 파티션과 암호화 용 파티션을 만들어야합니다 (EFI는 암호화되지 않은 세 번째 파티션이 필요함). 설정에서 EFI를 사용하지 않았습니다. 암호화를위한 파티션을 생성 한 후에 만 ​​실제로 cryptsetup luksFormat암호화 명령을 실행할 수 있습니다 . / dev / sdb2를 만들 때 파일 시스템으로 포맷하거나하지 않을 수 있습니다. cryptsetup기존 파일 시스템을 지 웁니다.
b_laoshi

1
@ Yvain-이것이 잘못되었다고 생각합니다. Sha1은 더 이상 안전한 것으로 간주되지 않습니다. 더 안전한 것 (예 : sha512 옵션 제안)을 반드시 사용해야합니다.
mike

1
1 명 @b_laoshi 감사 답변을 많이, 그것은 나에게 많은 :) 돕고
Tummala Dhanvi

3

이 다중 암호화 된 파티션과 수행하는 방법에 어떤 LVM을

이전 답변이 너무 길어서 LVM을 사용하지 않으려는 경우 다른 접근법을 취하는 두 번째 답변을 게시하고 있습니다.

여러 개의 암호화 된 파티션을 생성하고 decrypt_derived 스크립트를 사용하여 비밀번호를 한 번만 입력하면됩니다. 단계별 지침은 이 블로그 게시물 을 확인하십시오 . 저자는 키 파일을 사용하지만 decrypt_derived LUKS 스크립트로도 충분합니다.


나는 메인 드라이브의 플러그를 뽑았다, 보조 설치는 내 SD에 사용할 수 있습니다 :) lol
Yvain


0

이것은 우분투의 기본 파티션을 약간 변경하려는이 질문에 계속 부딪 치는 사람들을위한 대답입니다. 예를 들어, swap파티션을 제거 하고 /boot크기를 늘리십시오 . 많은 단계가 필요하기 때문에 많은 사람들이 b_laoshi의 지시를 따르지 않는 것이 좋습니다.

따라서 암호화를 사용한 간단한 사용자 지정 파티션의 경우 "보안을 위해 새 Ubuntu 설치 암호화"옵션과 함께 "디스크 지우기 및 Ubuntu 설치"를 사용하는 것이 좋습니다. 우리가 바꿀 것은이 기본 파티셔닝을위한 설정입니다.

이 구성은에 포함되어 /lib/partman/recipes[-arch]/있습니다. 나 자신을 위해, 나는 변화하고있다 /lib/partman/recipes-amd64-efi/30atomic. 538M efi, 1024M /boot, 나머지는 /ext4 를 얻으려면 파일을 다음과 같이 편집했습니다.

538 538 538 fat32
    $iflabel{ gpt }
    $reusemethod{ }
    method{ efi }
    format{ } .

1024 1024 1024 ext4
    $defaultignore{ }
    $lvmignore{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext4 }
    mountpoint{ /boot } .    

900 10000 -1 ext4
    $lvmok{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext4 }
    mountpoint{ / } .

설치 프로그램에서 지우려는 디스크를 선택하면 분할 요약 정보를 묻는 메시지가 표시되므로 트릭이 작동하고 원하는 분할이 있는지 확인할 수 있습니다. /ubuntu//a/678074/47073참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.