13.10 Saucy를 사용하고 있습니다. 설치 중에 디스크 암호화를 활성화하지 않은 경우 사실상 사후 암호화를 활성화 할 수있는 방법이 있습니까?
내가 발견 이 암호는 설치시 발생하는 것을 말한다있는, 그러나 또한 페도라를 참조합니다. 거기에서 할 수있는 방법이 있다면 라이브 디스크로 쉽게 부팅 할 수 있습니다.
13.10 Saucy를 사용하고 있습니다. 설치 중에 디스크 암호화를 활성화하지 않은 경우 사실상 사후 암호화를 활성화 할 수있는 방법이 있습니까?
내가 발견 이 암호는 설치시 발생하는 것을 말한다있는, 그러나 또한 페도라를 참조합니다. 거기에서 할 수있는 방법이 있다면 라이브 디스크로 쉽게 부팅 할 수 있습니다.
답변:
당신이 당신의 홈 폴더의 암호화를 사용하려면 이러한 패키지를 설치하고 사용해야합니다 : ecryptfs-utils
와 cryptsetup
. 또한 관리자 (sudo) 권한을 가진 다른 사용자 계정이 필요합니다. 전체 문서는 다음과 같습니다.
설치 후 전체 디스크 암호화를 사용하려는 경우 현재로서는 짧은 대답은 다음과 같습니다. 아니요, 아니요 . 어쨌든, 이것에 관심이 있다면, 귀하의 질문은 다음과 같습니다.
후속 질문 : 전체 디스크의 장점과 단점은 무엇입니까?
/ home의 암호화는 ecryptfs 라는 사용자 공간 파일 시스템을 사용하여 수행됩니다.. 기본 인증 시스템에 매우 잘 짜여져있어 유용성 결점이 없습니다. 계정을 입력 할 때 (원격 셸 또는 기본 로그인 화면에서) 보안 키를 풀 때 암호가 사용됩니다 그러면 홈 디렉토리의 파일을 즉석에서 암호화 / 암호 해독하는 데 사용됩니다 (마운트 된 파일 시스템은 / home / username에 직접 상주합니다). 로그 아웃하면 / home / username이 마운트 해제되고 암호화 된 파일 만 시스템에 표시됩니다 (보통 /home/.ecryptfs/username/.Private/). 파일 이름도 암호화되어 있기 때문에 스크 러블 / 랜덤 파일처럼 보입니다. 정보 유출은 파일 크기, 타임 스탬프 및 파일 수뿐입니다 (전체 디스크 암호화를 사용하면 숨겨 짐).
여러 사용자가 시스템을 공유하는 경우이 기능과 함께 전체 디스크 암호화를 추가하기로 결정한 경우에도 매우 유용한 기능입니다. 로그 아웃 한 상태에서 ecryptfs) 암호화가 켜져 있습니다.
따라서 전체 디스크 암호화와 홈 암호화가 반드시 상호 배타적 일 필요는 없습니다.
다양한 보안 요구에 따라 가능한 설정 목록은 다음과 같습니다.
설치 중에 디스크 암호화를 활성화하지 않은 경우 사실상 사후 암호화를 활성화 할 수있는 방법이 있습니까?
예. 현재 LVM을 사용하고 있고 시스템에 암호화되지 않은 모든 시스템 파일을 암호화 된 LUKS 파티션에 복사 할 수있는 충분한 공간이 있으면 더 쉬워 질 것입니다. LVM을 사용하는지 여부와 현재 ecrypfs를 사용하지 않고 다음 번 새로 설치할 때까지 전체 디스크 암호화 번거 로움을 건너 뛰고 있기 때문에 지금은 세부 사항을 설명하지 않습니다.
모든 중요한 디렉토리와 설치된 소프트웨어를 백업 할 수 있습니다. 버전 충돌을 피하기 위해 13.10이 완전히 업데이트되었는지 확인하십시오. 일반적으로 백업하는 것은 다음과 같습니다.
/boot
/etc
home
var
/usr/local
/bin
, /lib
, lib64
).그런 다음 시스템 을 다시 설치 하면 이제 암호화됩니다. 전체 확장으로 업데이트하십시오. 그런 다음 백업을 암호화 된 시스템으로 이동하고 이전 버전의 모든 소프트웨어를 설치하십시오.
뒷면을 다시 넣어 때 그냥 암호화에 중요한 파일을 덮어 쓰지 않도록해야합니다 (예를 들어 /etc/fstab
, /etc/cryptab
일부 애벌레와 관련된 물건과에서 몇 가지 물건은 /boot
백업 된 파일로 대체되어서는 안된다).
작동중인 Ubuntu 16.04에서 / boot를 제외한 모든 것을 포함하는 루트 파티션으로 설치 후 루트 파티션 암호화에 성공했습니다. 별도의 이동식 USB에 / boot를 넣었습니다. 특히 우분투 18로 업그레이드하기 전에이 작업을 수행했으며 암호화 된 디스크 버전에서 업그레이드가 정상적으로 작동했습니다.
암호화는 "제자리에서"수행되지 않았습니다. 어쨌든 새 설정이 작동 할 때까지 작업 버전을 덮어 쓰고 싶지 않았기 때문에 나에게 적합했습니다.
올바른 절차를 수행하는 것은 매우 간단하고 빠릅니다. (올바른 절차를 알아내는 데 약간의 잘못된 리드가 있었기 때문에 시간이 많이 걸렸습니다.)
개요
세부
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에 추가 할 수 있습니다.
간단한 답변 : 아니요.
복잡한 답변 :
디스크 나 파티션을 암호화하면 현재 해당 디스크 나 파티션에있는 모든 내용이 지워 지므로 디스크를 암호화하려면 디스크의 내용도 제거해야합니다. 시작하기 전에 적절한 데이터 백업을 수행해야합니다. 분명히 이것은 다른 방법으로 전체 디스크 암호화를 사용하도록 시스템을 다시 설치해야 함을 의미합니다. 이는 데이터 복구가 더 어려워 지도록 전체 디스크에 임의의 데이터가 기록되기 때문입니다.
그러나 요즘에는 루트 파티션을 암호화 할 필요가 없습니다. 무언가가 잘못 되면 데이터를 복구 할 수있는 가능성없이 시스템 외부에있는 것입니다 . 대신 개인 정보를 암호화하는 것을 고려해야합니다.
관련 질문 설치 후 전체 디스크를 암호화하는 방법을 참조하십시오 .