데비안에서 무작위로 키를 사용하여 암호화 된 스왑 파티션을 만드는 방법은 무엇입니까? 보면 부팅시 무작위로

GNU / Linux 시스템에 어떤 종류의 블록 장치 암호화가 구현되어 있다면, 스왑 파티션을 암호화하는 것도 가능합니다. 해독 된 데이터는 언제든지 스왑에 일반 텍스트로 기록 될 수 있기 때문입니다.

“crypttab”에 대한 데비안 맨 페이지를 보면 부팅시 무작위로 키가 지정된 스왑 파티션을 만드는 예를 볼 수 있으므로 부팅이 진행되고 시스템 자체에만 알려지면 키가 무작위로 설정됩니다.

# Encrypted swap device
cswap /dev/sda6 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap

이 예에서, 스왑 장치는 종래의 개발 경로에 의해 참조된다. /dev/sda6

예를 들어 USB 드라이브가 연결되어있는 경우 부팅시 절대 장치 경로가 변경되고 다시 할당 될 수 있습니다. /dev/sda6예상 한 것과 다른 파티션 이되어서 사용자가 무작위로 스왑 데이터를 덮어 쓴 다면 사용자는 매우 불만 스러울 것입니다 !!

대체 (UUID를해야하지 변화와 같은) 장치 경로 대신 UUID를 사용 솔루션이 될 것 같다 그래서 /dev/sda6함께/dev/disk/by-uuid/<whatever the uuid of dev/sda6 is>

그러나 … 여기에 문제가 있습니다 : cryptsetup이 부팅시 암호화 된 스왑 파티션을 다시 만들 때마다 새로운 UUID를 생성합니다! 도!

따라서이 암호화 된 파일 시스템의 UUID를 어떻게 든 보존해야합니다. cryptsetup은 --offset스위치 로이 작업을 수행 하여 LUKS 헤더와 UUID를 보존 할 수 있다고 생각 합니다.

이 URL을 찾았습니다 :
https://wiki.archlinux.org/index.php/System_Encryption_with_LUKS#Using_UUIDs_with_encrypted_swap_partitions

누구든지 데비안 OS에서 아치 리눅스에 대해 설명 된 솔루션을 구현하는 방법을 알고 있습니까? 문서에 언급 된 init 스크립트가 데비안 OS에 존재하지 않는 것 같습니다

감사!

편집 다음 명령을 사용하여 ecryptfs
사용 하여 동일한 끝 (암호화 된 스왑 공간)을 얻을
수 있습니다 ecryptfs-setup-swap
. 블록 장치 암호화를 설정하는 문제없이. 이 AskUbuntu 쿼리를 살펴보십시오



답변

부팅시 cryptsetup이 암호화 된 스왑 파티션을 다시 만들 때마다 새로운 UUID를 생성합니다! 도!

/ etc / crypttab에서 / dev / disk / by-UUID 대신 / dev / disk / by-id를 사용 하여 스왑 파티션을 참조하십시오. 예를 들어, swap에 대한 / etc / fstab 항목은 다음과 같습니다.

#<file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/cswap none swap sw 0 0

그러면 / etc / crypttab의 올바른 해당 항목은 다음과 같습니다.

# <name> <device> <password> <options>
cswap /dev/disk/by-id/ata-SAMSUNG_SSD_830_Series_S0XYNEAC762041-part5 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256

위의 장치는 / dev / disk / by-id로 참조되며 CLI에서 다음을 입력하여 드라이브를 찾을 수 있습니다.

ls -lF /dev/disk/by-id


답변

내 / etc / crypttab에서

# <target name>  <source device>        <key file>   <options>
swap             /dev/mapper/cswap      /dev/random  swap

여기서 / dev / mapper / cswap은 LVM에서 만든 논리 볼륨으로, 드라이브 문자 이름에 관계없이 논리 볼륨 이름을 올바르게 할당합니다. 또한 스왑 파티션의 크기를 쉽게 조정할 수 있습니다.


답변

init 파일을 무시하고 나머지 솔루션을 구현하십시오. 그것은 init 스크립트의 비트가 당신을 보호하기 위해 존재하는 것처럼 보입니다. 데비안은 그런 식으로 당신을 보호하지 못하거나, 부팅 할 때 오류 메시지를 보내서 올바른 위치로 안내 할 것입니다.

또한 IIRC 데비안과 ArchLinux는 / etc / crypttab에 대해 다른 형식을 가지고 있음에주의해야합니다.


답변

ecryptfs-setup-swap을 실행하거나 수동으로 실행하십시오.

이 구성은 부팅시 임의로 생성 된 키를 사용하며 하드 디스크에 대한 최대 절전 모드를 지원하지 않습니다! 존경하는 DE 전원 관리 유틸리티를 통해 최대 절전 모드를 비활성화하고 데이터 손실을 피하려면 긴급시 종료로 설정하십시오!

관리자 / 루트 계정으로 전환

각 명령에 대한 su root 또는 sudo

스왑 비활성화

스왑 오프 -a

기존 스왑 파티션 찾기

lsblk

예 : sda3 8 : 3 0 8G 0 부분 [SWAP]

이전 스왑 덮어 쓰기

dd if = / dev / zero bs = 1024000 of = / dev / sda <#>

예 : dd if = / dev / zero bs = 1024000 of = / dev / sda3

FSTAB 설정

vim / etc / fstab

기존 SWAP 장치를 crypttab 맵퍼 이름으로 교체하십시오 : / dev / mapper / cswap

기존 UUID = d03f3d8e-7888-48a5-b3cc-41de8dbbcfdc 스왑 스왑 기본값 00

새로운

/ dev / mapper / cswap none swap pri = 1, 기본값은 0 0

암호화 설정

ls -lF / dev / disk / by-id

예 : ata-HGST_HTS545050A7E680_TEK55D4F0BU3GV-part3-> ../../sda3

vim / etc / crypttab

cswap / dev / disk / by-id / ata-HGST_HTS545050A7E680_TEK55D4F0BU3GV-part3 / dev / urandom 스왑, 암호 = aes-cbc-essiv : sha256, 크기 = 256

활성 암호화 스왑

컴퓨터를 재부팅

암호화 된 스왑 작업 확인

dmsetup -C 정보

예 : cswap 253 0 L–w 2 1 CRYPT-PLAIN-cswap

lsblk

예 ├─sda3 8 : 3 0 8G 0 부분
│ └─cswap 253 : 0 8G 0 암호 [SWAP]

고양이 / proc / swaps

예 : 파일 이름 유형 크기 우선 순위 / dev / dm-0 파티션 8385532 0 -1


답변