Famaritana ny kaontenera LUKS amin'ny fotoana fanombohan'ny rafitra

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 voamariky ny AEP, ity fomba ity dia miasa ho an'ny LUKS1 ihany.

Source: www.habr.com

Add a comment