SQcrypto.sh
Kryptování vrstev není pro použití skriptu crypto životně důležité, protože umí použít i plain sqimage. Ale je žádoucí pokud vrstva obsahuje data, která by šlo zneužít. U Full-Disklessu jsou všechna data na NFS serveru, v adresářích, které se sdílejí jen read-only a read-write přístup je vyhrazen jen konkrétním strojům. Ale autonomní Half-Diskless má snapshoty vrstev uložené jako soubory, takže se k nim může někdo nepovolaný dostat, pokud přehodí disk někam, kde bude mít přístup na uživatele root.
Nekryptované plain sqimage, může rozbalit a vytáhnout např. generický privátní ssh klíč, který se používá po úspěšném ověření uživatele k založení neexistujícího domovského adresáře. Ten mu sice bude k ničemu, ale nelze vyloučit, že se v nějaké jiné vrstvě vyskytnou soubory, které by volně dostupné být neměly. Proto se tyhle soubory kryptují.
Pro vytvoření kryptované verze vrstvy se používá stroj lab-burget – virtuální Half-Diskless, který má k dispozici virtuální blokové zařízení sdílené přes NFS a v konfiguraci vrstvu, ve které je skript SQcrypto.sh
a soubory potřebné pro sestavení dynamické verze ramdisku.
Skript SQcrypto.sh , je stejně jako SQimage.sh použitelný jen pod uživatelem root, který má povolen vzdálený přístup (ověřovaný ssh klíčem) na server, kde je HTTP úložiště.
|
- Nejprve se spustí stroj lab-burget v Half-Diskless konfiguraci, do které se přidá mezi použité vrstvy nový plain sqimage vytvořený na straně serveru skriptem
SQimage.sh
. - Během spuštění se stáhne na lokální blokové zařízení, do subvolume, které si
SQcrypto.sh
namountuje na adresář/local
- Během akce crypt udělá kopii stažené plain sqimage, kterou zakryptuje a použije při tom dekapitovanou hlavičku, kterou vytvoří v adresáři
/tmp
. Dekapitovanou hlavičku lze zabalit do archivu chráněného heslem rovnou během fáze crypt, pokud se zadá heslo jiné, než řetězecdefault
činone
- Pokud se použije
none
, zůstane hlavička rozbalená. A pokud se použijedefault
, použije skript jako heslo kontrolní součet zakryptovaného souboru. - Hotové soubory se odesílají přes SSH do úložiště na stroji k333-lab, kde zapíše další položka do souboru
changelog
při akci send. Použití kryptované verze vrstvy už je záležitostí konfigurace.
Při akci send se odešle vždy hlavička kontejneru i kryptovaný obsah, bez ohledu na to jestli se zadá jako parametr cesta k dekapitované hlavičce, nebo zakryptovanému blobu. |
Popis
Skript SQcrypto.sh
pracuje stejně jako SQimage.sh
a skript crypto se souborem changelog
, publikovaným přes HTTP.