Salama andro aman'alina daholo! Ity lahatsoratra ity dia mahasoa ho an'ireo izay mampiasa encryption angon-drakitra LUKS ary te-hamadika disks amin'ny Linux (Debian, Ubuntu) amin'ny dingana decrypting ny fotony fisarahana. Ary tsy nahita fampahalalana toy izany tao amin'ny Internet aho.
Vao haingana, tamin'ny fitomboan'ny isan'ny kapila ao amin'ny talantalana, dia nifanena tamin'ny olana amin'ny famongorana kapila aho amin'ny fampiasana ny fomba malaza kokoa amin'ny alΓ lan'ny /etc/crypttab. Izaho manokana dia manasongadina olana vitsivitsy amin'ny fampiasana an'io fomba io, dia ny famakiana ilay rakitra aorian'ny fametahana (mametaka) ny fizarazarana faka, izay misy fiantraikany ratsy amin'ny fanafarana ZFS, indrindra raha namboarina avy amin'ny fizarazarana amin'ny fitaovana *_crypt, na ny fanafihana mdadm naorina avy amin'ny fisarahana ihany koa. Fantatsika rehetra fa afaka mampiasa misaraka amin'ny kaontenera LUKS ianao, sa tsy izany? Ary koa ny olana amin'ny fiandohan'ny serivisy hafa, rehefa tsy misy arrays, fa mampiasa Efa mila zavatra aho (miara-miasa amin'ny Proxmox VE 5.x sy ZFS miaraka amin'ny iSCSI aho).
Kely momba ny ZFSoverISCSIiSCSI dia miasa ho ahy amin'ny alΓ lan'ny LIO, ary raha ny marina, rehefa manomboka ny kendrena iscsi ary tsy mahita fitaovana ZVOL, dia esoriny fotsiny amin'ny fanamafisana, izay manakana ny rafitra vahiny tsy hivoaka. Noho izany, na mamerina ny backup file json, na manampy fitaovana miaraka amin'ny famantarana ho an'ny VM tsirairay, izay mahatsiravina fotsiny rehefa misy milina am-polony toy izany ary ny configuration tsirairay dia manana kapila mihoatra ny 1.
Ary ny fanontaniana faharoa izay hodinihintsika dia ny fomba decrypt (io no hevi-dehibe amin'ny lahatsoratra). Ary hiresaka momba izany eto ambany isika, mandehana eo ambany fanapahana!
Matetika, ao amin'ny Internet, ny rakitra fototra dia ampiasaina (miampy ny tena manokana amin'ny slot alohan'ny amin'ny baiko - cryptsetup luksAddKey), na amin'ny tranga tsy fahita firy (amin'ny Internet amin'ny teny Rosiana dia misy fampahalalana kely) - ny script decrypt_derived hita ao amin'ny /lib/cryptsetup/script/ (mazava ho azy fa misy fomba hafa, saingy nampiasa ireo roa ireo aho, izay fototry ny lahatsoratra). Niezaka ihany koa aho mba hampidirana tsy miankina tanteraka aorian'ny famerenana indray, tsy misy baiko fanampiny ao amin'ny console, mba "hiakatra" ho ahy indray mandeha ny zava-drehetra. Noho izany, nahoana no miandry? -
Andao aloha!
Andeha hatao hoe rafitra iray, toa an'i Debian, napetraka amin'ny fizarazarana crypto sda3_crypt ary kapila am-polony efa vonona ho encryption sy noforonina araka ny sitraponao. Manana fehezan-teny (passphrase) izahay hamahana ny sda3_crypt, ary avy amin'io fizarazarana io no hanaisotra ny "hash" amin'ny tenimiafina amin'ny rafitra mihazakazaka (decrypted) ary ampidirina amin'ny kapila sisa. Ny zava-drehetra dia fototra, ao amin'ny console ataontsika:
/lib/cryptsetup/scripts/decrypt_derived sda3_crypt | cryptsetup luksFormat /dev/sdX
izay X no disks, partitions, sns.
Aorian'ny fametahana ny kapila miaraka amin'ny "hash" avy amin'ny fehezan-teny misy anay dia mila mitady ny UUID na ID ianao - miankina amin'ny hoe iza no zatra amin'ny inona sy ny inona. Maka angona avy amin'ny / dev / disk / by-uuid sy by-id tsirairay avy.
Ny dingana manaraka dia ny fanomanana ny rakitra sy ny mini-scripts ho an'ny asa ilaintsika, andao hirosoana:
cp -p /usr/share/initramfs-tools/hooks/cryptroot /etc/initramfs-tools/hooks/
cp -p /usr/share/initramfs-tools/scripts/local-top/cryptroot /etc/initramfs-tools/scripts/local-top/
bebe kokoa
touch /etc/initramfs-tools/hooks/decrypt && chmod +x /etc/initramfs-tools/hooks/decrypt
Ny votoatin'ny ../decrypt
#!/bin/sh
cp -p /lib/cryptsetup/scripts/decrypt_derived "$DESTDIR/bin/decrypt_derived"
bebe kokoa
touch /etc/initramfs-tools/hooks/partcopy && chmod +x /etc/initramfs-tools/hooks/partcopy
Ny votoatin'ny ../partcopy
#!/bin/sh
cp -p /sbin/partprobe "$DESTDIR/bin/partprobe"
cp -p /lib/x86_64-linux-gnu/libparted.so.2 "$DESTDIR/lib/x86_64-linux-gnu/libparted.so.2"
cp -p /lib/x86_64-linux-gnu/libreadline.so.7 "$DESTDIR/lib/x86_64-linux-gnu/libreadline.so.7"
kely kokoa
touch /etc/initramfs-tools/scripts/local-bottom/partprobe && chmod +x /etc/initramfs-tools/scripts/local-bottom/partprobe
Votoaty ../partprobe
#!/bin/sh
$DESTDIR/bin/partprobe
ary farany, alohan'ny fanavaozana-initramfs, mila manova ny rakitra /etc/initramfs-tools/scripts/local-top/cryptroot ianao, manomboka amin'ny tsipika ~ 360, snippet code etsy ambany
tany am-boalohany
# decrease $count by 1, apparently last try was successful.
count=$(( $count - 1 ))
message "cryptsetup ($crypttarget): set up successfully"
break
ary ento amin'ity endrika ity
natontan'i
# decrease $count by 1, apparently last try was successful.
count=$(( $count - 1 ))
/bin/decrypt_derived $crypttarget | cryptsetup luksOpen /dev/disk/by-uuid/ *CRYPT_MAP*
/bin/decrypt_derived $crypttarget | cryptsetup luksOpen /dev/disk/by-id/ *CRYPT_MAP*
message "cryptsetup ($crypttarget): set up successfully"
break
Mariho fa na UUID na ID dia azo ampiasaina eto. Ny tena zava-dehibe dia ampidirina amin'ny /etc/initramfs-tools/modules ny mpamily ilaina ho an'ny fitaovana HDD / SSD. Azonao atao ny mahita hoe iza no mpamily ampiasaina amin'ny baiko udevadm info -a -n /dev/sdX | egrep 'mijery|DRIVER'.
Rehefa vita ary efa misy ny rakitra rehetra dia mihazakazaka fanavaozana-initramfs -u -k rehetra -v, amin'ny logging tsy tokony ho fahadisoana amin'ny fanatanterahana ny scripty. Reboot izahay, ampidiro ny fehezan-teny ary miandry kely, arakaraka ny isan'ny kapila. Avy eo, ny rafitra dia hanomboka ary amin'ny dingana farany amin'ny fandefasana, izany hoe aorian'ny "mametraka" ny fizarazarana fakany, dia hotanterahina ny baiko partprobe - hahita sy haka ny fizarana rehetra noforonina amin'ny fitaovana LUKS sy ny array rehetra, na ZFS na mdadm, ho tafavory tsy misy olana! Ary izany rehetra izany alohan'ny hampidirana azy serivisy sy serivisy fototra mila ireo kapila / laharan-tariby ireo.
fanavaozana1: Ahoana
Source: www.habr.com