GNU/Linux >> Znalost Linux >  >> Linux

Jak používat Ansible Vault k zabezpečení citlivých dat

Ansible je fantastický nástroj pro automatizaci a orchestraci populární mezi mnoha vývojáři díky své jednoduchosti a snadnému použití. Jednou z nejdůležitějších funkcí, která přichází s Ansible, je Ansible Vault. Jak už byste asi uhodli, Vault Ansible je bezpečnostní funkce, která se používá k šifrování nebo zabezpečení citlivých informací v příručkách nebo souborech namísto jejich prostého textu, což by v případě narušení představovalo významnou hrozbu. Mezi taková data patří hesla , tokeny rozhraní API a certifikáty SSL abych zmínil několik. Můžete zašifrovat celou příručku YAML soubory řetězce v playbooku s citlivými informacemi, jako je heslo.

V této příručce se podíváme na různé způsoby, jak vám Ansible vault může pomoci uzamknout vaše citlivé nebo důvěrné informace a udržet slídiče na uzdě.

Vytvořte šifrovaný soubor pomocí Ansible Vault

Ansible vault používá nástroj příkazového řádku ansible-vault pro šifrování citlivých informací pomocí algoritmu AES256. To poskytuje symetrické šifrování, které je vloženo do definovaného hesla. Uživatel může použít stejné heslo k šifrování nebo dešifrování souborů za účelem přístupu k obsahu.

Chcete-li vytvořit zašifrovaný soubor, použijte nástroj ansible-vault, jak je znázorněno

$ ansible-vault vytvořit soubor.yml

Chcete-li například vytvořit soubor, nazvěte jej secret_file.yml , spusťte příkaz

$ ansible-vault create secret_file.yml

Budete vyzváni k zadání nového hesla trezoru. Zadejte preferované heslo a potvrďte. Jakmile potvrdíte heslo, spustí se editor vim.

Poté zadejte obsah souboru, který chcete zašifrovat úložištěm Ansible, a soubor uložte. Níže je ukázkový text.

Hello, this is my secret file

Když si soubor prohlédnete, zjistíte, že již byl zašifrován pomocí algoritmu AES256, jak je znázorněno.

$ vim secret_file.yml

Úprava zašifrovaného souboru pomocí Ansible Vault

Chcete-li provést změny v již existujícím souboru, který je zašifrován, použijte syntaxi:

$ ansible-vault upravit soubor.yml

Z našeho ukázkového souboru, který jsme vytvořili dříve, by příkaz pro úpravu souboru byl:

$ ansible-vault edit secret_file.yml

Opět budete vyzváni k zadání hesla trezoru a po jeho poskytnutí vám bude udělen přístup k souboru, abyste mohli provádět úpravy.

Zobrazení zašifrovaného souboru

Chcete-li nahlédnout do zašifrovaného souboru, použijte syntaxi:

$ ansible-vault zobrazit soubor.yml

Pomocí našeho souboru bude tedy příkaz

$ ansible-vault view secret_file.yml

Šifrování existujícího souboru pomocí Ansible Vault

Předpokládejme, že chcete zašifrovat již existující soubor, který je nezašifrovaný, řekněme soubor inventáře. jak byste na to šli? Chcete-li toho dosáhnout, použijte syntaxi:

$ ansible-vault zašifrovat soubor.yml

Chcete-li například zašifrovat soubor file1.yml  spusťte příkaz:

$ ansible-vault encrypt file1.yml

Zadejte heslo úložiště a potvrďte jej, aby se soubor zašifroval.

Dešifrování souboru pomocí Ansible Vault

Chcete-li dešifrovat soubor a vrátit se k prostému textu, spusťte příkaz:

$ ansible-vault decrypt file1.yml

Pokud vše proběhlo v pořádku, zobrazí se zpráva „Dešifrování bylo úspěšné“. Nyní můžete použít příkaz cat k zobrazení obsahu souboru.

Resetovat heslo Ansible vault

Také můžete resetovat nebo změnit heslo trezoru. To se provádí pomocí rekey možnost v příkazu ansible vault, jak je znázorněno:

$ ansible-vault rekey secret_file.yml

Nejprve zadejte aktuální heslo trezoru a později vytvořte nové heslo a potvrďte ho.

Dešifrování obsahu za běhu v Ansible Playbook

Před Ansible 2.4 vyžadovalo dešifrování souborů za běhu použití –ask-vault-pass jak je znázorněno buď s ansible nebo ansible-playbook příkazy:

$ ansible-playbook playbook_example.yml --ask-vault-pass

Poté budete vyzváni k zadání hesla Vault a dešifrování začne za běhu.

To však bylo zastaralé. Od Ansible 2.4 je standardní metodou výzvy k zadání hesla použití –vault-id možnost, jak je uvedeno.

$ ansible-playbook playbook_example.yml --vault-id @prompt

@prompt vyzve k zadání hesla

Jednoduchým trikem, jak se vyhnout výzvě k zadání hesla při každém dešifrování souborů za běhu, je uložit heslo úložiště do souboru.

Před Ansible 2.4 bylo způsobem, jak toho dosáhnout, použití –vault-password-file parametr k určení cesty k souboru, který obsahuje uložené heslo.

Například v níže uvedené ukázce je soubor s hesly umístěn v souboru /etc/ansible/vault_pass.txt.

$ ansible-playbook playbook_example.yml --vault-password-file /etc/ansible/vault_pass.txt

Nicméně stejně jako –ask-vault-pass možnost, možnost –soubor s heslem-sejfu byla zastaralá, aby připravila cestu pro –vault-id volba. Příkaz tedy vypadá takto:

$ ansible-playbook playbook_example.yml --vault-id /etc/ansible/vault_pass.txt

Šifrování proměnné v Ansible Playbook

Kromě šifrování celé příručky ansible-vault také vám dává možnost šifrovat pouze proměnné. Ve většině případů se jedná o proměnné obsahující vysoce důvěrné a citlivé informace, jako jsou hesla a klíče API.

Níže uvedená příručka je určena k vytištění hodnoty proměnné my_secret, která obsahuje heslo definované jako [email protected].

Obecně je špatný nápad ukládat hesla v prostém textu, protože pokud se někdo dostane k souboru playbooku, může být ohrožena vaše bezpečnost.

Nabízí se vám tedy 2 možnosti:zašifrovat celý soubor nebo zašifrovat hodnotu proměnné.

Chcete-li zašifrovat proměnnou, použijte encrypt_string možnost, jak je uvedeno.

$ ansible-vault encrypt_string ‘řetězec’ –name ‘název_proměnné’

Chcete-li zašifrovat hodnotu proměnné my_secret na příkladu playbooku bude příkaz:

$ ansible-vault encrypt_string '[email protected]' --name 'my_secret'

Výše uvedený výstup ukazuje, že heslo bylo zašifrováno šifrováním AES 256 . Odtud zkopírujte celý zašifrovaný kód z !vault | . Přejděte do souboru playbook a smažte hodnotu hesla v prostém textu a vložte zašifrovanou hodnotu, jak je znázorněno.

Uložte a ukončete soubor. Nyní spusťte playbook a ověřte, zda bude stále zobrazovat hodnotu hesla uloženého v my_secret proměnná.

Výše uvedený výstup ukazuje, že příručka poskytuje požadované výsledky, což znamená, že se nám podařilo zašifrovat proměnnou.

Toto uzavírá tento tutoriál o Ansible Vault. Nyní můžete zabezpečit své soubory a chránit své důvěrné informace před zvědavýma očima.


Linux
  1. Jak používat příkaz SFTP pro bezpečný přenos souborů

  2. Jak zabezpečit citlivá data pomocí tajemství Docker Compose

  3. Jak rm funguje? Co dělá rm?

  1. Jak používat rsync k zálohování dat

  2. Jak používat typ souboru ve Vimu?

  3. Jak použít chmod ke změně oprávnění k souboru?

  1. Jak vytvořit soubor v Ansible

  2. Jak používat značky v Ansible Playbook (příklady)

  3. Jak používat proměnné v Ansible Playbook