Coimeádán LUKS á dhíchriptiú ag am tosaithe an chórais

Lá agus oíche mhaith gach duine! Beidh an post seo úsáideach dóibh siúd a úsáideann criptiú sonraí LUKS agus ar mian leo dioscaí a dhíchriptiú faoi Linux (Debian, Ubuntu) ar céimeanna de dhíchriptiú na críochdheighilte. Agus ní raibh mé in ann faisnéis den sórt sin a fháil ar an Idirlíon.

Níos déanaí, leis an méadú ar líon na dioscaí ar na seilfeanna, rith mé isteach an fhadhb a bhaineann le dioscaí a dhíchriptiú ag baint úsáide as an modh níos mó ná an-aitheanta trí /etc/crypttab. Go pearsanta, leag mé béim ar roinnt fadhbanna leis an modh seo a úsáid, is é sin go bhfuil an comhad á léamh ach amháin tar éis luchtú (mount) an deighilt fhréamh, a théann i bhfeidhm go diúltach ar allmhairí ZFS, go háirithe má tógadh iad ó landairí ar an bhfeiste *_crypt, nó ruathair mdadm tógtha ó landairí freisin. Tá a fhios againn go léir gur féidir leat parted a úsáid ar choimeádáin LUKS, ceart? Agus freisin an fhadhb a bhaineann le tús luath seirbhísí eile, nuair nach bhfuil aon arrays fós, ach bain úsáid as Tá rud éigin ag teastáil uaim cheana féin (oibrím le Proxmox VE 5.x cnuasaithe agus ZFS thar iSCSI).

Beagán faoi ZFSoverISCSIOibríonn iSCSI domsa trí LIO, agus go deimhin, nuair a thosaíonn an sprioc iscsi agus nach bhfeiceann sé feistí ZVOL, déanann sé iad a bhaint go simplí as an gcumraíocht, rud a chuireann cosc ​​​​ar chórais aoi ó booting. Mar sin, trí chúltaca comhad json a athchóiriú, nó gléasanna a chur leis de láimh le haitheantóirí do gach VM, rud atá uafásach nuair a bhíonn mórán de na meaisíní sin ann agus go bhfuil níos mó ná diosca amháin ag gach cumraíocht.

Agus is é an dara ceist a bhreithneoidh mé ná conas a dhíchriptiú (is é seo príomhphointe an ailt). Agus beidh muid ag caint faoi seo thíos, dul faoin gearrtha!

Is minic, ar an Idirlíon, a úsáidtear eochairchomhad (féin-chur leis an sliotán roimhe seo leis an ordú - cryptsetup luksAddKey), nó in eisceachtaí neamhchoitianta (ar an Idirlíon Rúisis-teanga níl ach fíorbheagán faisnéise) - an script decrypt_derived lonnaithe i /lib/cryptsetup/script/ (ar ndóigh, tá bealaí eile ann, ach d’úsáid mé an dá cheann seo, a bhí mar bhunús leis an alt). Rinne mé a dhícheall freisin chun cuimsiú uathrialach iomlán a bhaint amach tar éis atosaigh, gan aon orduithe breise sa chonsól, ionas go mbeadh gach rud “ag eitilt suas” domsa láithreach. Dá bhrí sin, cén fáth fanacht? —

Tosaímid!

Glacaimid leis go bhfuil córas, cosúil le Debian, suiteáilte ar dheighilt crypto sda3_crypt agus dosaen dioscaí réidh le bheith criptithe agus cruthaithe le hábhar do chroí. Tá pasfhrása (passphrase) againn chun sda3_crypt a dhíghlasáil, agus is ón deighilt seo a bhainfimid an “hash” as an focal faire ar an gcóras reatha (díchriptithe) agus cuirfimid leis an gcuid eile de na dioscaí é. Tá gach rud bunúsach, sa chonsól déanaimid feidhmiú:

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

áit a bhfuil X ár dioscaí, landairí, etc.

Tar éis duit na dioscaí a chriptiú le "hash" ónár bpasfhrása, ní mór duit an UUID nó an ID a fháil amach - ag brath ar cé atá i dtaithí ar cad agus cad. Glacaimid sonraí ó /dev/disk/by-uuid agus seach-id.

Is é an chéad chéim eile ná comhaid agus mion-scripteanna a ullmhú le haghaidh na bhfeidhmeanna a gcaithfimid oibriú, leanfaimid ar aghaidh:

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

Inneachar ../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

Ábhar/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"

beagán níos mó

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

Ábhar ../partprobe

#!/bin/sh

$DESTDIR/bin/partprobe

agus ar deireadh, roimh an nuashonrú-initramfs, ní mór duit an comhad /etc/initramfs-tools/scripts/local-top/cryptroot a chur in eagar, ag tosú ó líne ~360, blúire cód thíos

Bunaidh


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

agus é a thabhairt chuig an bhfoirm seo

Curtha in eagar


                # 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

Tabhair faoi deara gur féidir UUID nó ID a úsáid anseo. Is é an rud is mó ná go gcuirtear na tiománaithe riachtanacha le haghaidh feistí HDD / SSD le /etc/initramfs-tools/modules. Is féidir leat a fháil amach cén tiománaí atá á úsáid leis an ordú udevadm eolas -a -n /dev/sdX | egrep 'lorg | TIOMÁNAITHE'.

Anois go bhfuil muid críochnaithe agus na comhaid go léir i bhfeidhm, reáchtáil nuashonrú-initramfs -u -k uile -v, sa logáil ní mór nach bhfuil earráidí forghníomhaithe ár scripteanna. Atosaigh muid, cuir isteach an pasfhrása agus fanfaimid beagán, ag brath ar líon na dioscaí. Ansin, tosóidh an córas agus ag an gcéim dheireanach den seoladh, is é sin tar éis an fhréamhdheighilt a “gléasadh”, déanfar an t-ordú partprobe a fhorghníomhú - gheobhaidh sé agus piocadh suas gach deighilt chruthaithe ar fheistí LUKS agus aon eagair, bíodh sé ZFS nó mdadm, a chur le chéile gan fadhbanna! Agus seo go léir roimh luchtú seirbhísí lárnacha agus seirbhísí a dteastaíonn na dioscaí/eagair seo uathu.

nuashonrú1: Conas faoi ​​deara AEP, ní oibríonn an modh seo ach do LUKS1.

Foinse: will.com

Add a comment