Jak dostat data z šifrovaného oddílu QNAPu

Aneb když to jednou zrestartujete a stane se vám ošklivý... zlý... nepěkná věc. Moje domácí úložiště od QNAPu po restartu jaksi někde ztratilo konfiguraci disků, polí a tak dále. Takže po naběhnutí byly jaksi všechna data zmizelá... Co s tím?

Na QNAPu naštěstí běží SSH a přihlášením se na něj (funguje stejný login) se objeví standardní linuxový shell. Takže klasickou běžnou magií (RAID pole jsou klasický linuxový SW RAID, takže přes mdadm sestavit) lze disky sestavit do původní podoby, namountovat, a tak dále. Bohužel jsem nepřišel na to, jak QNAP přesvědčit, aby si to zapamatoval, takže po restartu najede do stejně rozbité podoby, nicméně tohle řešení alespoň stačí na to, aby se šlo k datům dostat a někam je přesunout. Nicméně, jeden oddíl byl šifrovaný, nastaveno přes webové rozhraní.

Po chvíli bádání se naštěsí ukazuje, že i tady se používá klasický linuxový LUKS. Jediný zádrhel je v tom, že heslo zadané do web rozhraní napřímo nefunguje. QNAP klíč modifikuje. A tady nastává trik:

  1. echo -n $(openssl passwd -1 -salt 'YCCaQNAP') > /tmp/qnap.key
Na výzvu zadáme heslo, které bylo zadáno do web rozhraní. A v souboru /tmp/qnap.key pak máme klíčový soubor, kterým lze už disk odemknout:
  1. cryptsetup luksOpen /dev/mdX decryptedvol --key-file=/tmp/qnap.key
/dev/mdX zaměníme za zařízení se šifrovanou volume. Pokud příkaz projde bez chyby, máme v /dev/mapper/decryptedvol rozšifrované zařízené, které můžeme už standardně namountovat. Tadááá. Postup samozřejmě funguje identicky i mimo QNAP - pokud se disk z QNAPu vrazí do počítače s Linuxem, lze se k datům dostat úplně stejně.