A’ dì-chrioptachadh soitheach LUKS aig àm tòiseachaidh an t-siostaim

Latha math is oidhche a h-uile duine! Bidh an dreuchd seo feumail dhaibhsan a chleachdas crioptachadh dàta LUKS agus a tha airson diosgan a dhì-chrioptachadh fo Linux (Debian, Ubuntu) air ìrean de dhì-chrioptachadh an sgaradh freumh. Agus cha b 'urrainn dhomh a leithid de fhiosrachadh a lorg air an eadar-lìon.

O chionn ghoirid, leis an àrdachadh anns an àireamh de dhioscaichean anns na sgeilpichean, ruith mi a-steach don duilgheadas a bhith a’ dì-chrioptachadh dhioscaichean a’ cleachdadh an dòigh nas aithnichte tro /etc/crypttab. Gu pearsanta, tha mi a’ comharrachadh beagan dhuilgheadasan le bhith a’ cleachdadh an dòigh seo, is e sin gu bheil am faidhle ga leughadh dìreach às deidh a bhith a’ luchdachadh (mount) an sgaradh freumh, a bheir droch bhuaidh air in-mhalairt ZFS, gu sònraichte ma chaidh an togail bho sgaradh air inneal * _crypt, no creach mdadm air a thogail bho sgaradh cuideachd. Tha fios againn uile gun urrainn dhut parted a chleachdadh air soithichean LUKS, ceart? Agus cuideachd an duilgheadas a th 'ann a bhith a' tòiseachadh tràth air seirbheisean eile, nuair nach eil arrays ann fhathast, ach cleachdadh Tha feum agam air rudeigin mu thràth (bidh mi ag obair le Proxmox VE 5.x agus ZFS thairis air iSCSI).

Beagan mu ZFSoverISCSIBidh iSCSI ag obair dhòmhsa tro LIO, agus gu dearbh nuair a thòisicheas an targaid iscsi agus nach fhaic e innealan ZVOL, bidh e dìreach gan toirt air falbh bhon rèiteachadh, a chuireas casg air siostaman aoighean bho bhith a’ putadh. Mar sin, an dàrna cuid ag ath-nuadhachadh cùl-taic faidhle json, no a’ cur le làimh innealan le aithnichearan airson gach VM, rud a tha dìreach uamhasach nuair a tha dusanan de dh’ innealan mar sin ann agus tha barrachd air diosc 1 aig gach rèiteachadh.

Agus is e an dàrna ceist a bheachdaicheas mi air mar a nì thu dì-chrioptachadh (is e seo prìomh phuing an artaigil). Agus bruidhnidh sinn mu dheidhinn seo gu h-ìosal, rachaibh fon ghearradh!

Mar as trice, air an eadar-lìn, bidh prìomh fhaidhle air a chleachdadh (fèin-chur ris an t-slot ron seo leis an àithne - cryptsetup luksAddKey), no ann an eisgeachdan tearc (air an eadar-lìn ann an cànan na Ruis chan eil ach glè bheag de dh'fhiosrachadh) - an sgriobt decrypt_derived suidhichte ann an / lib/cryptsetup/script/ (gu dearbh, tha dòighean eile ann, ach chleachd mi an dà rud sin, a bha mar bhunait don artaigil). Bha mi cuideachd a’ strì airson làn in-ghabhail fèin-riaghailteach às deidh reboots, às aonais òrdughan a bharrachd sa chonsól, gus am biodh a h-uile dad “ag itealaich” dhòmhsa sa bhad. Mar sin, carson a tha thu a 'feitheamh? -

Feuch an tòisich sinn!

Gabhamaid siostam, mar Debian, air a chuir a-steach air sgaradh crypto sda3_crypt agus dusan diosc deiseil airson a chrioptachadh agus a chruthachadh gu susbaint do chridhe. Tha prìomh abairt againn (passphrase) gus sda3_crypt fhuasgladh, agus is ann bhon sgaradh seo a bheir sinn air falbh an “hash” bhon fhacal-fhaire air an t-siostam ruith (dì-chrioptaichte) agus cuiridh sinn ris a’ chòrr de na diosgan e. Tha a h-uile dad bunaiteach, anns a’ chonsail a bhios sinn a’ coileanadh:

/lib/cryptsetup/scripts/decrypt_derived sda3_crypt | cryptsetup luksFormat /dev/sdX

far a bheil X na diosgan, na pàirtean againn, msaa.

Às deidh dhut na diosgan a chrioptachadh le “hash” bhon fhacal-fhaire againn, feumaidh tu an UUID no an ID a lorg - a rèir cò a tha cleachdte ri dè agus dè. Gabhaidh sinn dàta bho /dev/disk/by-uuid agus by-id fa leth.

Is e an ath cheum faidhlichean agus mion-sgriobtaichean ullachadh airson na gnìomhan a dh’ fheumas sinn, rachamaid air adhart:

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/

tuilleadh

touch /etc/initramfs-tools/hooks/decrypt && chmod +x /etc/initramfs-tools/hooks/decrypt

Susbaint ../decrypt

#!/bin/sh

cp -p /lib/cryptsetup/scripts/decrypt_derived "$DESTDIR/bin/decrypt_derived"

tuilleadh

touch /etc/initramfs-tools/hooks/partcopy && chmod +x /etc/initramfs-tools/hooks/partcopy

Na th' ann an ../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"

beagan a bharrachd

touch /etc/initramfs-tools/scripts/local-bottom/partprobe && chmod +x /etc/initramfs-tools/scripts/local-bottom/partprobe

Susbaint ../partprobe

#!/bin/sh

$DESTDIR/bin/partprobe

agus mu dheireadh, mus tèid ùrachadh-initramfs, feumaidh tu am faidhle /etc/initramfs-tools/scripts/local-top/cryptroot a dheasachadh, a’ tòiseachadh bho loidhne ~360, criomag còd gu h-ìosal

Original


                # decrease $count by 1, apparently last try was successful.
                count=$(( $count - 1 ))
                
                message "cryptsetup ($crypttarget): set up successfully"
                break

agus thoir a dh' ionnsuidh na foirme so

Deasaichte


                # 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

Thoir an aire gum faodar UUID no ID a chleachdadh an seo. Is e am prìomh rud gu bheil na draibhearan riatanach airson innealan HDD / SSD air an cur ri /etc/initramfs-tools/modules. Gheibh thu a-mach dè an draibhear a thathas a’ cleachdadh leis an àithne udevadm fiosrachadh -a -n /dev/sdX | egrep 'a' coimhead | DRIVER'.

A-nis gu bheil sinn deiseil agus na faidhlichean uile nan àite, ruith ùrachadh-initramfs -u -k uile -v, ann an logadh chan fhaod a bhith mearachdan cur an gnìomh ar sgriobtaichean. Bidh sinn ag ath-thòiseachadh, cuir a-steach am facal-faire agus feitheamh beagan, a rèir an àireamh de dhioscaichean. An ath rud, tòisichidh an siostam agus aig an ìre mu dheireadh den fhoillseachadh, is e sin às deidh “a’ cur suas” an sgaradh freumh, thèid an àithne partprobe a chuir gu bàs - lorgaidh agus togaidh e a h-uile sgaradh cruthaichte air innealan LUKS agus arrays sam bith, biodh e ZFS no mdadm, thèid a chruinneachadh gun duilgheadasan! Agus seo uile mus luchdachadh prìomh sheirbheisean agus seirbheisean a dh’ fheumas na diosgan/rèitichean sin.

ùrachadh1: Ciamar mhothaich mi AEP, chan obraich an dòigh seo ach airson LUKS1.

Source: www.habr.com

Cuir beachd ann