Cum se configurează o partiție SWAP criptată pe un Debian 12 existent

Criptarea partiției swap pe un sistem Debian 12 existent este utilă atunci când doriți să împiedicați scrierea pe disc a paginilor de memorie, parolelor, fragmentelor de documente și a altor date tranzitorii ca text simplu. Pentru o mașină care nu necesită hibernare, Debian documentează un design simplu: plasați partiția swap în spatele comenzii simple dm-crypt și generați o cheie de criptare aleatorie nouă la fiecare pornire.

Acest ghid folosește acel design. Presupune Debian 12 „bookworm”, o partiție swap dedicată și systemd ca sistem de inițializare. Comenzile sunt în mod deliberat conservatoare, deoarece o greșeală într-o cale bloc-device poate suprascrie partiția greșită. Citiți mai întâi punctele de decizie, apoi înlocuiți propriii identificatori de dispozitiv, în loc să copiați orbește valorile exemplu.

Documentația Debian pentru cryptsetup descrie în mod specific swap-ul criptat și recomandă dezactivarea swap-ului, adăugarea partiției la /etc/crypttabcu /dev/urandom, schimbarea /etc/fstabla dispozitivul mapat și apoi reactivarea swap-ului. Consultați fișierul README Debian cryptsetup . Manualul crypttab(5) al Debian 12 documentează, de asemenea, câmpurile crypttab și opțiunile simple dm-crypt.

Ar trebui să utilizați un swap criptat cu cheie aleatorie?

Folosește-l când dorești swap criptat și nu ai nevoie de hibernare. Cheia este regenerată la fiecare pornire, astfel încât conținutul vechi al swap devine ilizibil după oprire. Aceasta este exact proprietatea de securitate pe care o doresc majoritatea instalărilor desktop și server.

Nu utilizați exact această configurație dacă vă bazați pe hibernare, suspendare pe disc, repaus hibrid sau suspendare apoi hibernare. Funcția Resume necesită următoarea pornire pentru a decripta aceeași imagine de hibernare. O nouă cheie aleatorie face acest lucru imposibil. Debian menționează în mod explicit că schimbarea cheii aleatorii nu poate fi utilizată ca dispozitiv de reluare. Documentația systemd hibernate-resume a Debian 12 arată, de asemenea, că resume depinde de un dispozitiv de reluare persistent.

Dacă hibernarea este o cerință, utilizați în schimb un design de criptare persistentă, cum ar fi un dispozitiv swap bazat pe LUKS, cu o configurație adecvată de deblocare și reluare. Aceasta este o configurație diferită și este intenționat în afara acestui ghid.

Este swap-ul tău deja protejat prin criptare a discului?

Verificați înainte de a schimba ceva. Dacă volumul logic de swap se află deja într-un container criptat LUKS, adăugarea unui alt strat dm-crypt poate oferi beneficii practice reduse, crescând în același timp complexitatea.

swapon --show
lsblk -o NAME,PATH,TYPE,FSTYPE,SIZE,MOUNTPOINTS,PARTUUID

Priviți dispozitivul afișat de swapon --showși urmăriți-i părinții în lsblk. Un layout necriptat comun s-ar putea afișa /dev/sda3direct ca swap. O instalare LVM criptată poate afișa în schimb swap sub un crypto_LUKSpărinte.

Ilustrație a terminalului Debian 12 care arată ieșirea swapon, lsblk și blkid pentru o partiție swap existentă și PARTUUID-ul acesteia
Identificați partiția swap activă și un identificator de partiție stabil înainte de a face orice modificare. Numele dispozitivelor și identificatorii afișați aici sunt doar exemple.

Distincția este importantă deoarece acest articol se referă la conversia unei partiții swap dedicate necriptate . Dacă swapon --showraportează în schimb un fișier swap, utilizați o procedură specifică fișierului swap. Dacă fișierul swap se află deja într-un spațiu de stocare criptat, decideți mai întâi dacă este necesar un al doilea strat.

Ce ar trebui să înregistrezi înainte de a dezactiva swap-ul?

Înregistrați calea exactă a partiției, dimensiunea acesteia și PARTUUID- ul său . Un PARTUUID identifică intrarea în tabela de partiții și rămâne util chiar și după ce semnătura swap din interiorul partiției este înlocuită cu date criptate.

De exemplu:

sudo blkid /dev/sda3
ls -l /dev/disk/by-partuuid/

Este posibil să vedeți o ieșire care conține o valoare precum:

PARTUUID="11111111-2222-3333-4444-555555555555"

În exemplele de mai jos, calea stabilă corespunzătoare este:

/dev/disk/by-partuuid/11111111-2222-3333-4444-555555555555

Evitați să vă bazați pe /dev/sda3posibilitatea modificării enumerarii discurilor. De asemenea, evitați utilizarea UUID-ului vechiului sistem de fișiere swap ca identificator sursă pe termen lung: configurația encrypted-swap recreează semnătura swap pe dispozitivul criptat mapat, astfel încât vechiul UUID raw-swap să nu fie identitatea persistentă corectă pentru partiția subiacentă.

1. Cum pregătiți sistemul în siguranță?

Instalați cryptsetup dacă nu este deja prezent, apoi faceți o copie de rezervă a celor două fișiere de configurare pe care le veți edita.

sudo apt update
sudo apt install cryptsetup
sudo cp -a /etc/crypttab /etc/crypttab.before-encrypted-swap 2>/dev/null || true
sudo cp -a /etc/fstab /etc/fstab.before-encrypted-swap

Dacă /etc/crypttabnu există încă, nu este o problemă; creați-l când editați configurația.

Apoi, asigurați-vă că sistemul are suficientă memorie disponibilă pentru perioada scurtă în care swap-ul este dezactivat. Apoi dezactivați doar partiția swap pe care o convertiți. Utilizarea aceluiași dispozitiv este mai sigură decât swapoff -ape o mașină cu mai multe zone swap:

sudo swapoff /dev/sda3
swapon --show
Ilustrație a terminalului Debian 12 care arată swap dezactivat și pachetul cryptsetup instalat
Dezactivați swap-ul țintă înainte de a plasa criptarea peste el. Pe sistemele cu mai multe dispozitive swap, operați pe dispozitivul dorit, în loc să dezactivați totul inutil.

Nu rulați mkswappe partiția brută după acest punct. Semnătura swap ar trebui creată pe dispozitivul mapper criptat, nu pe partiția backing necriptată.

2. Ce aparține fișierului /etc/crypttab?

Creați sau editați /etc/crypttabși adăugați o intrare pentru maparea criptată a swap-urilor. Următoarele sunt instrucțiuni din documentația Debian cryptsetup:

cswap /dev/disk/by-partuuid/11111111-2222-3333-4444-555555555555 /dev/urandom plain,cipher=aes-xts-plain64,size=256,swap

Înlocuiți exemplul PARTUUID cu cel din sistemul dvs.

Câmpurile înseamnă:

  • cswapeste numele mapperului, creând /dev/mapper/cswap.
  • Al doilea câmp este partiția swap subiacentă.
  • /dev/urandomfurnizează o nouă cheie aleatorie de fiecare dată când este creată maparea.
  • plainselectează dm-crypt simplu în loc de un antet LUKS persistent.
  • cipher=aes-xts-plain64,size=256face ca parametrii plain-dm-crypt să fie expliciți în loc să depindă de valorile implicite care se pot schimba.
  • swapspune integrării cryptsetup că acest dispozitiv mapat este swap și ar trebui inițializat corespunzător.
Ilustrație GNU nano pe Debian 12 editând /etc/crypttab cu o mapare cswap care folosește o cale PARTUUID stabilă și /dev/urandom
Intrarea crypttab creează o mapare criptată temporară numită cswap cu o cheie nouă din /dev/urandom la fiecare activare.

Manualul crypttab al Debian avertizează că dm-crypt simplu nu stochează metadatele cifrului, hash-ului sau dimensiunii cheii într-un antet, spre deosebire de LUKS. De aceea, înregistrarea explicită a cifrului și a dimensiunii cheii este utilă. Manualul documentează, discarddar notează și implicațiile de securitate; nu adăugați acest cod doar pentru că dispozitivul de backup este un SSD, decât dacă ați evaluat acest compromis.

3. Ce modificări se produc în /etc/fstab?

Găsiți vechea linie de swap necriptată în /etc/fstab. Aceasta poate folosi un UUID, o cale de dispozitiv sau un alt identificator persistent. De exemplu:

UUID=OLD-SWAP-UUID none swap sw 0 0

Înlocuiți-l cu dispozitivul criptat mapat:

/dev/mapper/cswap none swap sw 0 0

Nu lăsați ambele intrări active. Dacă ambele partiții, raw, și , /dev/mapper/cswapsunt activate ca swap, anulați scopul criptării partiției și riscați să creați confuzie la activarea la pornire.

Ilustrație GNU nano pe Debian 12 care arată /etc/fstab cu vechea intrare swap brută dezactivată și /dev/mapper/cswap configurat ca swap
fstab ar trebui să indice către dispozitivul mapper criptat, nu către partiția swap brută originală.

Manualul fstab(5) al Debian definește formatul intrărilor swap, în timp ce swapon(8) explică modul în care sunt activate intrările marcate ca swap.

4. Cum îl activezi și verifici înainte de a reporni?

După salvarea ambelor fișiere, porniți maparea criptată și apoi activați intrarea swap. Documentația Debian pentru configurarea criptării folosește:

sudo cryptdisks_start cswap
sudo swapon -a

Acum verificați toate cele trei straturi:

swapon --show
sudo cryptsetup status cswap
lsblk -o NAME,TYPE,FSTYPE,SIZE,MOUNTPOINTS

Un rezultat sănătos ar trebui să afișeze swap activat /dev/mapper/cswap, nu direct pe partiția originală. cryptsetup status cswapAr trebui să raporteze maparea ca fiind activă.

Dacă cryptdisks_startnu este disponibil în instalarea dvs., nu improvizați comenzi distructive. Verificați din nou dacă cryptsetuppachetul este instalat și dacă sintaxa crypttab este validă. De asemenea, puteți lăsa procesul normal de bootare Debian să creeze maparea după finalizarea configurării de mai jos. Debian 12 folosește generatoare systemd pentru a traduce configurația crypttab și fstab în unități de bootare.

5. Trebuie să dezactivați reluarea hibernării?

Da, dacă această partiție a fost configurată ca dispozitiv de reluare a sistemului. O cheie aleatorie nu poate decripta o imagine de hibernare scrisă cu cheia anterioară. Instrucțiunile Debian de swap criptat le spun în mod explicit administratorilor să dezactiveze reluarea atunci când convertesc vechea partiție de swap de reluare într-o partiție de swap criptată cu cheie aleatorie.

Verificați configurația curentă:

grep -R "^[[:space:]]*RESUME=" /etc/initramfs-tools/conf.d/ 2>/dev/null

Dacă se referă la partiția swap pe care tocmai ați convertit-o, setați `resume` la none:

echo "RESUME=none" | sudo tee /etc/initramfs-tools/conf.d/resume
sudo update-initramfs -u

Acesta este punctul în care update-initramfs -ueste relevant. Nu trebuie să reconstruiți initramfs doar pentru că o intrare swap normală post-pornire s-a modificat; trebuie să îl actualizați atunci când eliminați o țintă veche de reluare a hibernării pe care initramfs ar putea încerca să o utilizeze altfel.

Test de repornire: ce dovedește că configurația funcționează?

Reporniți numai după ce activarea live funcționează și fișierele de configurare sunt corecte:

sudo reboot

După ce sistemul revine, executați:

swapon --show
sudo cryptsetup status cswap
lsblk -o NAME,TYPE,FSTYPE,SIZE,MOUNTPOINTS
cat /proc/swaps

Criteriile cheie de succes sunt simple:

  • /dev/mapper/cswapeste activ ca swap.
  • Partiția de rezervă brută nu este listată direct ca swap activ.
  • cryptsetup status cswapraportează o mapare dm-crypt activă.
  • Mașina pornește fără a solicita o parolă swap; cheia aleatorie este generată automat.

De asemenea, puteți reporni de două ori și compara comportamentul mapării. Ideea acestui design este că cheia de criptare este efemeră; conținutul swap al bootării anterioare nu poate fi recuperat după recrearea mapării.

Ce se întâmplă dacă mașina intră în modul de urgență?

Cele mai frecvente cauze sunt o cale greșită către dispozitivul de backup, o greșeală de scriere în /etc/crypttabsau o /etc/fstablinie care încă indică vechiul swap brut. Porniți în modul de recuperare sau utilizați un mediu de salvare, montați sistemul de fișiere rădăcină în citire-scriere și restaurați copiile de rezervă, dacă este necesar.

Verificările utile includ:

sudo cryptsetup status cswap
systemctl status systemd-cryptsetup@cswap.service
systemctl status dev-mapper-cswap.swap
journalctl -b -u systemd-cryptsetup@cswap.service

Numele unităților pot fi caractere de escape diferite pentru nume neobișnuite de mapare, așa că folosiți-le systemctl list-units '*cryptsetup*'dacă numele exact al serviciului nu este evident.

Dar cum rămâne cu eliminarea SSD-ului?

Nu activați opțiunea „discard” în mod implicit doar pentru a urmări performanța teoretică a SSD-urilor. Documentația Debian crypttab precizează că transmiterea cererilor de „discard” printr-un dispozitiv criptat are implicații de securitate. Manualul swapon de la Debian menționează în mod similar că „discard” poate îmbunătăți performanța pe unele SSD-uri, dar adesea nu o face. Dacă aveți nevoie, evaluați mai întâi modelul de stocare și modelul de amenințare, apoi adăugați-le în mod deliberat.

Este swap-ul criptat încă util dacă sistemul de fișiere rădăcină este necriptat?

Da, dar înțelegeți limita. Partiția swap criptată protejează paginile de memorie scrise pe partiția swap. Nu criptează fișierele salvate pe un sistem de fișiere rădăcină sau home necriptat, istoricul shell-ului, cache-urile aplicațiilor, dump-urile de erori, fișierele temporare sau jurnalele. Dacă scopul este o protecție largă împotriva expunerii datelor de pe un disc furat, criptarea completă a discului sau a sistemului de fișiere este controlul mai complet.

Listă de verificare finală

  • Confirmați că ținta este o partiție swap dedicată necriptată, nu un fișier swap și nu este deja protejată de un dispozitiv părinte criptat.
  • Înregistrați o cale stabilă pentru partiție, cum ar fi /dev/disk/by-partuuid/....
  • Dezactivați swap-ul brut înainte de a configura dm-crypt.
  • Adăugați o intrare plain-dm-crypt cu cheie aleatorie la /etc/crypttab.
  • Indicați /etc/fstabdoar către /dev/mapper/cswap.
  • Activați maparea și verificați-o înainte de a reporni.
  • Dacă vechiul swap era un dispozitiv de reluare, setați RESUME=noneși rulați update-initramfs -u.
  • După repornire, verificați dacă doar mapper-ul criptat este activ ca swap.

Pentru sistemele Debian 12 care nu hibernează, această abordare menține configurația mică și evită stocarea unei chei swap persistente. Decizia cheie nu este „ce comandă de criptare ar trebui să execut?”, ci dacă schimbarea aleatorie a cheilor corespunde cerințelor dvs. de gestionare a energiei. Odată ce acest lucru este stabilit, restul este o migrare controlată de la partiția swap brută la o mapare dm-crypt care este recreată în siguranță la fiecare pornire.

Lasă un comentariu

Descărcați FlightGear gratuit: Ghid oficial de instalare

Descărcați FlightGear gratuit: Ghid oficial de instalare

Descarcă FlightGear gratuit de pe site-ul oficial. Compară pachetele Windows, macOS și Linux, instalează fișierele de date și începe primul tău zbor.

Aplicația desktop Google Tasks: Cum se utilizează pe computer

Aplicația desktop Google Tasks: Cum se utilizează pe computer

Deschide Google Tasks într-un browser, adaugă o comandă rapidă pentru Chrome sau o lansare în stilul aplicației și gestionează activitățile de făcut în avans prin Calendar și Gmail.

OKSampler: Un sampler muzical gratuit și simplu pentru ritmuri de claviatură

OKSampler: Un sampler muzical gratuit și simplu pentru ritmuri de claviatură

OKSampler mapează clipuri MP3 pe tastele tastaturii și poate reda audio în buclă. Află ce face software-ul gratuit vechi, unde se termină funcțiile sale vechi și ce trebuie să verifici înainte de descărcare.

Cum să joci Don't Starve Together pe Linux

Cum să joci Don't Starve Together pe Linux

Instalează versiunea Linux a jocului Don't Starve Together prin Steam, creează o lume sau alătură-te prietenilor urmând acești pași de configurare și depanare.

Cum să joci Squad pe Linux cu Steam Proton

Cum să joci Squad pe Linux cu Steam Proton

Configurează Squad pe Linux cu Steam Play și Proton, instalează jocul, alege un instrument de compatibilitate și depanează problemele anti-cheat.

Cum se instalează Linux Mint Debian Edition 5 „Elsie” de pe USB

Cum se instalează Linux Mint Debian Edition 5 „Elsie” de pe USB

Descărcați și verificați fișierul ISO LMDE 5 arhivat, creați un USB bootabil și alegeți setările de instalare sigure. Elsie a ajuns la sfârșitul duratei de viață; consultați versiunea curentă a LMDE.

Cum se creează o unitate USB bootabilă cu Windows 11 pe Linux

Cum se creează o unitate USB bootabilă cu Windows 11 pe Linux

Creați un USB de instalare Windows 11 pe Linux cu Ventoy: obțineți fișierul ISO oficial, instalați Ventoy în siguranță, copiați imaginea și porniți PC-ul țintă.

Cum se instalează Wireshark pe Linux: Ubuntu, Fedora, Arch și altele

Cum se instalează Wireshark pe Linux: Ubuntu, Fedora, Arch și altele

Instalați Wireshark pe Ubuntu, Debian, Fedora, Arch sau openSUSE cu comenzile actuale ale pachetului, apoi configurați captura de pachete live în siguranță.

Cum se joacă DiRT Rally pe Linux: Configurarea Steam și remedierile Proton

Cum se joacă DiRT Rally pe Linux: Configurarea Steam și remedierile Proton

Învață cum să joci DiRT Rally pe Linux dacă îl deții deja pe Steam: instalează versiunea nativă, lansează-l și folosește Proton doar ca soluție de rezervă.

Cum se instalează Devuan Linux de pe un USB bootabil

Cum se instalează Devuan Linux de pe un USB bootabil

Instalați Devuan Excalibur din fișierul ISO Desktop Live. Verificați descărcarea, creați un USB bootabil, protejați partițiile existente și finalizați configurarea cu Refracta Installer.