설치 후 디스크 암호화 사용 사용하고 있습니다. 설치 중에 디스크

13.10 Saucy를 사용하고 있습니다. 설치 중에 디스크 암호화를 활성화하지 않은 경우 사실상 사후 암호화를 활성화 할 수있는 방법이 있습니까?

내가 발견 암호는 설치시 발생하는 것을 말한다있는, 그러나 또한 페도라를 참조합니다. 거기에서 할 수있는 방법이 있다면 라이브 디스크로 쉽게 부팅 할 수 있습니다.



답변

당신이 당신의 홈 폴더의 암호화를 사용하려면 이러한 패키지를 설치하고 사용해야합니다 : ecryptfs-utilscryptsetup. 또한 관리자 (sudo) 권한을 가진 다른 사용자 계정이 필요합니다. 전체 문서는 다음과 같습니다.

설치 후 전체 디스크 암호화를 사용하려는 경우 현재로서는 짧은 대답은 다음과 같습니다. 아니요, 아니요 . 어쨌든, 이것에 관심이 있다면, 귀하의 질문은 다음과 같습니다.


답변

후속 질문 : 전체 디스크의 장점과 단점은 무엇입니까?

/ home의 암호화는 ecryptfs 라는 사용자 공간 파일 시스템을 사용하여 수행됩니다.. 기본 인증 시스템에 매우 잘 짜여져있어 유용성 결점이 없습니다. 계정을 입력 할 때 (원격 셸 또는 기본 로그인 화면에서) 보안 키를 풀 때 암호가 사용됩니다 그러면 홈 디렉토리의 파일을 즉석에서 암호화 / 암호 해독하는 데 사용됩니다 (마운트 된 파일 시스템은 / home / username에 직접 상주합니다). 로그 아웃하면 / home / username이 마운트 해제되고 암호화 된 파일 만 시스템에 표시됩니다 (보통 /home/.ecryptfs/username/.Private/). 파일 이름도 암호화되어 있기 때문에 스크 러블 / 랜덤 파일처럼 보입니다. 정보 유출은 파일 크기, 타임 스탬프 및 파일 수뿐입니다 (전체 디스크 암호화를 사용하면 숨겨 짐).

여러 사용자가 시스템을 공유하는 경우이 기능과 함께 전체 디스크 암호화를 추가하기로 결정한 경우에도 매우 유용한 기능입니다. 로그 아웃 한 상태에서 ecryptfs) 암호화가 켜져 있습니다.

따라서 전체 디스크 암호화와 홈 암호화가 반드시 상호 배타적 일 필요는 없습니다.

다양한 보안 요구에 따라 가능한 설정 목록은 다음과 같습니다.

  • 전체 디스크 암호화 만 해당 : 컴퓨터를 사용하는 유일한 컴퓨터이고 컴퓨터가 전체 디스크 암호화의 오버 헤드를 처리 할 수있는 경우 (모든 최신 데스크톱은 사용자가 알지 못하고 넷북 및 오래된 랩톱을 사용하지 않고도 그렇게 할 수 있음) 전체를 사용할 수 있습니다 디스크 암호화 및 OS (/)와 동일한 파티션에 배치하십시오.
  • 전체 디스크 암호화 가정용 ECRYPTFS 암호화 : PC가 켜져있는 동안 개인 데이터를 읽는 것이 걱정되거나 다른 사용자와 컴퓨터를 공유하는 경우, 다른 파티션에있는 집에있을 수 있으며 전체 디스크와 함께 ecryptfs를 사용할 수 있습니다 암호화 (LUKS를 통한 / 암호화)
  • HOME ECRYPTFS 암호화 만 해당 : 외근 하는 동안 누군가 시스템을 조작하는 것에 대해 너무 걱정하지 않고 개인 데이터를 안전하게 유지하려면 전체 디스크 암호화를 건너 뛰고 ecryptfs (집의 암호화)를 사용하십시오. 이 시나리오의 추가 보너스이 아주 쉽다는 점이다 설정ecryptfs-migrate-home을 사용하여 Ubuntu를 설치했습니다. 또한 이것은 전체 디스크 암호화 가능성을 추가하여 몇 가지 릴리스를 다시 변경하기 전에 기본 우분투 설정이었습니다. 대부분의 최신 데스크톱은 땀없이 전체 디스크 암호화를 처리 할 수 ​​있고 오프라인 코드 삽입에 대해 얇은 보안 계층을 추가하므로 전체 디스크 암호화가 설치 프로그램에 추가되었습니다. 그러나 대부분의 사용자는 ecryptfs로 집을 암호화하는 것만으로도 충분합니다. 친구와 일반 랩톱 도둑이 개인 데이터를 차단하는 것입니다. 또한 올바른 수단을 사용하는 조직에서 단일 대상을 지정한 경우 전체 디스크 암호화 또는 홈 암호화 만 사용하면 다른 편집증 행동을 많이 설정하지 않는 한 큰 차이가 없습니다. 커널을 항상 사용자에게있는 별도의 펜 드라이브에 보관하십시오. 하드웨어 탬 퍼링 / 키로거 등을 지속적으로 확인)

설치 중에 디스크 암호화를 활성화하지 않은 경우 사실상 사후 암호화를 활성화 할 수있는 방법이 있습니까?

예. 현재 LVM을 사용하고 있고 시스템에 암호화되지 않은 모든 시스템 파일을 암호화 된 LUKS 파티션에 복사 할 수있는 충분한 공간이 있으면 더 쉬워 질 것입니다. LVM을 사용하는지 여부와 현재 ecrypfs를 사용하지 않고 다음 번 새로 설치할 때까지 전체 디스크 암호화 번거 로움을 건너 뛰고 있기 때문에 지금은 세부 사항을 설명하지 않습니다.


답변

모든 중요한 디렉토리와 설치된 소프트웨어를 백업 할 수 있습니다. 버전 충돌을 피하기 위해 13.10이 완전히 업데이트되었는지 확인하십시오. 일반적으로 백업하는 것은 다음과 같습니다.

그런 다음 시스템 을 다시 설치 하면 이제 암호화됩니다. 전체 확장으로 업데이트하십시오. 그런 다음 백업을 암호화 된 시스템으로 이동하고 이전 버전의 모든 소프트웨어를 설치하십시오.

뒷면을 다시 넣어 때 그냥 암호화에 중요한 파일을 덮어 쓰지 않도록해야합니다 (예를 들어 /etc/fstab, /etc/cryptab일부 애벌레와 관련된 물건과에서 몇 가지 물건은 /boot백업 된 파일로 대체되어서는 안된다).


답변

작동중인 Ubuntu 16.04에서 / boot를 제외한 모든 것을 포함하는 루트 파티션으로 설치 후 루트 파티션 암호화에 성공했습니다. 별도의 이동식 USB에 / boot를 넣었습니다. 특히 우분투 18로 업그레이드하기 전에이 작업을 수행했으며 암호화 된 디스크 버전에서 업그레이드가 정상적으로 작동했습니다.

암호화는 “제자리에서”수행되지 않았습니다. 어쨌든 새 설정이 작동 할 때까지 작업 버전을 덮어 쓰고 싶지 않았기 때문에 나에게 적합했습니다.

올바른 절차를 수행하는 것은 매우 간단하고 빠릅니다. (올바른 절차를 알아내는 데 약간의 잘못된 리드가 있었기 때문에 시간이 많이 걸렸습니다.)

개요

  1. 라이브 리눅스 USB 디스크 만들기-지속성을 활성화하는 것이 편리합니다. 라이브 USB 디스크로 부팅하십시오.
  2. 빈 파티션에 luks 암호화 볼륨 그룹을 작성하십시오. (제 경우에는 원래 리눅스와 같은 디스크에 있었지만 다른 디스크 일 수 있습니다.) / (루트)를 생성하고 암호화 된 파티션에서 논리 볼륨을 교환하십시오. 이것들은 복사 된 리눅스에 관한 한 가상 파티션의 역할을합니다.
  3. 이전 루트에서 새 루트로 파일을 복사하십시오.
  4. 이동식 USB 디스크로 작동하도록 다른 USB를 설정하고 파티션을 나눕니다.
  5. 새로운 루트에 일부 파일을 설정하고, 매직을 수행하고, 새로운 루트에 chroot 한 다음 chroot의 새 루트 환경에서 부트 디스크에 grub을 설치하십시오.

세부

1-라이브 리눅스 USB 디스크로 부팅-지속성을 활성화하는 것이 편리합니다.

unetbootin이있는 USB에 Ubuntu 16을 설치했습니다. GUI는 지정해야 “지속성”을 허용하지만, 또 다른 단계는 작업 지속성을 얻기 위해 필요 – 수정 /boot/grub/grub.cfg추가 --- persistent다음과 같이 :

menuentry "Try Ubuntu without installing" {
    set gfxpayload=keep
    linux   /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --- persistent
    initrd  /casper/initrd
}

라이브 USB로 부팅

2- 빈 파티션에 luks 암호화 볼륨 그룹을 만듭니다. 암호화 된 파티션에서 / (루트)를 작성하고 논리 볼륨을 교환하십시오.

사용하지 않는 파티션을 암호화한다고 가정합니다 /dev/nvme0n1p4.

선택적으로 암호화 및 포맷 전에 숨길 파티션에 오래된 데이터가있는 경우 파티션을 임의로 지울 수 있습니다. 여기에서 토론을 참조하십시오 .

dd if=/dev/urandom of=/dev/nvme0n1p4 bs=4096 status=progress

암호화를 설정하십시오.

cryptsetup -y -v luksFormat /dev/nvme0n1p4

비밀번호를 설정하라는 메시지가 표시됩니다.

cryptsetup luksOpen /dev/nvme0n1p4 crypt1

비밀번호를 입력하라는 메시지가 표시됩니다. 그 주 crypt1임의의 사용자로 결정 이름입니다. 이제 볼륨과 형식을 만듭니다.

pvcreate /dev/mapper/crypt1
vgcreate crypt1-vg /dev/mapper/crypt1

lvcreate -L 8G crypt1-vg -n swap
mkswap /dev/crypt1-vg/swap

lvcreate -l 100%FREE crypt1-vg -n root
mkfs.ext4 /dev/crypt1-vg/root

볼륨을보고 계층 구조를 이해하려면이 유틸리티를 사용하십시오.

pvscan
vgscan
lvscan
ls -l /dev/mapper
ls -l /dev/crypt1

3- 기존 루트에서 새로운 루트로 파일 복사

mkdir /tmp/old-root
mount /dev/ubuntu-vg/root /tmp/old-root/
mkdir /tmp/new-root
mount /dev/crypt1-vg/root /tmp/new-root/
cp -a /tmp/old-root/. /tmp/new-root/

umount /tmp/old-root
umount /tmp/new-root

cp -a ... 모든 파일 모드와 플래그를 유지하면서 아카이브 모드로 복사합니다.

4- 이동식 부팅 디스크로 작동하도록 다른 USB를 설정하고 파티션을 나눕니다.

나는 이것을 위해 gparted를 사용했다. 두 개의 파티션을 설정하십시오. 첫 번째 파티션은 vfat두 번째 ext2입니다. 각각 512MB 였으므로 적은 양으로 도망 갈 수 있습니다. 장치를 가정합니다 /dev/sdf.

# The first partition: (will be /dev/sdf1)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: fat32
Label: (leave)

# The second partition: (will be /dev/sdf2)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: ext4
Label: (leave)

5- 새로운 루트에 일부 파일을 설정하고, 매직을 수행하고, 새로운 루트에 chroot 한 다음 chroot의 새 루트 환경에서 부트 디스크에 grub을 설치하십시오.

나중에 사용하기 위해 UUID를 찾으십시오. 다음 명령의 출력에 유의하십시오.

blkid /dev/sdf1
blkid /dev/sdf2
blkid /dev/nvme0n1p4

루트 파티션을 마운트하고 파티션을 부팅하십시오

sudo mount /dev/mapper/crypt1--vg-root /mnt
sudo mount /dev/sdf2 /mnt/boot
sudo mount /dev/sdf1 /mnt/boot/efi

파일 설정 /mnt/etc/fstab

/dev/mapper/crypt1--vg-root /               ext4    errors=remount-ro 0       1
/dev/mapper/crypt1--vg-swap none    swap    sw              0       0
UUID=[uuid of /dev/sdf2] /boot           ext2    defaults        0       2
UUID=[uuid of /dev/sdf1]  /boot/efi       vfat    umask=0077      0       1

여기서 “[uuid of …]”는 문자-하이픈 조합 일뿐입니다.

파일 만들기 /mnt/etc/cryptab

# <target name> <source device>     <key file>  <options>
crypt1 UUID=[uuid of /dev/nvme0n1p4] none luks,discard,lvm=crypt1--vg-root

루트 디렉토리 환경에 들어가려면 몇 가지 마술이 필요합니다.

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
chroot /mnt

이제 부팅 USB 디스크를 grub다음 과 같이 설정하십시오 :

apt install --reinstall grub-efi-amd64
grub-install --efi-directory=/boot/efi --boot-directory=/boot --removable
update-initramfs -k all -c
update-grub

이제 새로 만든 USB 부팅 디스크를 사용하여 재부팅 및 부팅 할 수 있습니다.

문제 해결

(a)apt install --reinstall grub-efi-amd64 명령에 네트워크가 연결되어 있어야합니다 . 네트워크가 연결되었지만 DNS가 실패한 경우

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

(b)을 호출하기 전에 원래 Linux에서 사용 된 initramfs현재 vmlinuz...파일이 새 루트 디렉토리에 있어야합니다. 그렇지 않은 경우 찾아서 배치하십시오.

(c)grub-install명령은 기본적으로 에드가 아닌 경우에도 찾을 수있는 다른 모든 리눅스 디스크를 검색 mount하여 새 부팅 USB의 부팅 메뉴에 넣습니다. 일반적으로 이것은 바람직하지 않으므로이 행을 /boot/default/grub.cfg다음 에 추가하면 피할 수 있습니다 .

GRUB_DISABLE_OS_PROBER=true

참고 :
암호화 키가있는 텍스트 파일을 이동식 부팅 USB에 추가 할 수 있습니다.


답변

간단한 답변 : 아니요.

복잡한 답변 :

디스크 나 파티션을 암호화하면 현재 해당 디스크 나 파티션에있는 모든 내용이 지워 지므로 디스크를 암호화하려면 디스크의 내용도 제거해야합니다. 시작하기 전에 적절한 데이터 백업을 수행해야합니다. 분명히 이것은 다른 방법으로 전체 디스크 암호화를 사용하도록 시스템을 다시 설치해야 함을 의미합니다. 이는 데이터 복구가 더 어려워 지도록 전체 디스크에 임의의 데이터가 기록되기 때문입니다.

그러나 요즘에는 루트 파티션을 암호화 할 필요가 없습니다. 무언가가 잘못 되면 데이터를 복구 할 수있는 가능성없이 시스템 외부에있는 것입니다 . 대신 개인 정보를 암호화하는 것을 고려해야합니다.

관련 질문 설치 후 전체 디스크를 암호화하는 방법을 참조하십시오 .