SQcrypto.sh

Z DCEwiki
Skočit na navigaci Skočit na vyhledávání

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.

Upozornění 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ě.
  1. 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.
  2. Během spuštění se stáhne na lokální blokové zařízení, do subvolume, které si SQcrypto.sh namountuje na adresář /local
  3. 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ězec default či none
  4. Pokud se použije none, zůstane hlavička rozbalená. A pokud se použije default, použije skript jako heslo kontrolní součet zakryptovaného souboru.
  5. 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.
Poznámka 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.

Zápis do souboru changelog po úspěšném odeslání souborů