OpenBao alebo Hashicorp Vault? OpenBao je open-source fork HashiCorp Vault-u, ktorý vznikol v roku 2023, keď HashiCorp zmenil licenciu Vault-u z MPL 2.0 na BSL.
Znamená to, že Vault už nie je plne open-source projekt. OpenBao si vzala pod krídla Linux Foundation (ktorú podporujú Red Hat, SUSE, Futurewei a ďalší) a má za cieľ zachovať si 100 % kompatibilitu s Vault API a rozvíjať projekt komunitne ako dlhodobo otvorený a bez vendor lock-inu.
Secrets management
OpenBao (a teda aj Vault) rieši centrálne ukladanie a správu secrets. V praxi to znamená, že namiesto toho, aby sme mali heslá v GitLabe, configoch alebo v poznámkach, všetko uložíme v jednom managemente, vydávame krátkodobé tokeny a aplikačné kódy nikdy nemusia vidieť samotné heslá.
Čo všetko teda s OpenBaom vieme zabezpečiť?
- Bezpečné uchovávanie
- hesiel, API kľúčov, certifikátov, tokenov, SSH kľúčov … a to všetko šifrované, auditované a kontrolované.
- Dynamické secrets
- OpenBao/Vault vie na požiadanie vygenerovať napr. databázové konto, ktoré platí len pár minút. Znižuje sa tak riziko úniku hesiel.
- Politiky a prístupové práva
- Vieme presne nastaviť, kto a na čo má právo (napr. aplikácia dostane iba token na čítanie konkrétnej databázy).
- Integrácie
- Integrácia je možná s Kubernetes, OpenShift, Terraform, CI/CD pipeline, VMware, cloudovými službami (AWS, Azure, GCP), …
- Vie byť Root CA alebo Intermediate CA.
- Audit a compliance
- Každý prístup je logovaný a teda vieme dokázať, kto a kedy pristupoval ku ktorým secrets.
Inštalácia a prvé spustenie
- Stiahneme si OpenBao z oficiálnych stránok. Vyberieme si OS na ktorom budeme OpenBao prevádzkovať. V mojom prípade je to Windows.
- Obsah stiahnutého .zip súboru, rozbalíme do cieľového adresára. Ja preferujem cestu: C:\Program Files\OpenBao.
- Pridáme cestu k adresáru do sytémových “Environment Variables” pomocou powershellu:
[System.Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\OpenBao", [System.EnvironmentVariableTarget]::Machine) - Ak nemáme zašifrovaný disk, je dobré šifrovať aspoň swap/paging file operačného systému.
- Citlivé dáta v RAM (heslá, šifrovacie kľúče, dokumenty, obsah e-mailov, cache prehliadača a pod.) sa môžu dostať do pagefile.sys. Ak nie je šifrovaný, niekto, kto má prístup k disku (napr. cez offline analýzu disku, forenzné nástroje alebo v prípade krádeže notebooku), si tieto dáta môže vyčítať. Keď je zapnutý Encrypt paging file, Windows pred vypnutím/reštartom súbor automaticky zmaže a pri štarte ho znova vytvorí – tým sa predchádza zneužitiu starého obsahu swapu.
- Kontrola, či je šifrovanie paging file zapnuté:
fsutil behavior query encryptpagingfile
- Ak nie je, šifrovanie zapneme:
fsutil behavior set encryptpagingfile 1
bao server -dev
Po predchádzajúcich krokoch, máme “inštaláciu” dokončenú a OpenBao pripravené na použitie. Ak sa chceme rýchlo zoznámiť s OpenBaom a zároveň nám nebude vadiť, že všetky nastavenia a secrets sa budú ukladať do RAMky, môžeme spustiť OpenBao server v dev režime.
bao server -dev
Príklad výstupu:
WARNING! dev mode is enabled! In this mode, OpenBao runs entirely in-memory
and starts unsealed with a single unseal key. The root token is already
authenticated to the CLI, so you can immediately begin using OpenBao.
You may need to set the following environment variables:
PowerShell:
$env:BAO_ADDR="http://127.0.0.1:8200"
cmd.exe:
set BAO_ADDR=http://127.0.0.1:8200
The unseal key and root token are displayed below in case you want to
seal/unseal the Vault or re-authenticate.
Unseal Key: H2XIQJkcPwxN7pVvyZW6RXRQQgtLVrNIScYOCO75DzM=
Root Token: s.HeKvDg9AShcrXeeAOCNGO1Gx
Development mode should NOT be used in production installations!
Otvorme si druhé powershell okno a nastavme premennú $env:BAO_ADDR:
$env:BAO_ADDR="http://127.0.0.1:8200"
Teraz sa už môžeme prihlásiť:
bao login <root_token_z_predchádzajúceho_výstupu>
Pre vytvorenie prvého “secretu”, v našom prípade mena a hesla do vCenter servera, spustíme nasledujúci príkaz:
bao kv put -mount=secret vCenter username='psguy@vsphere.local' password='oms#D2@$29,sa2jel;8'
Mount point (-mount) (alebo kv-v2 engine) s názvom “secret” sa vytvára automaticky pri spustení servera -dev, preto ho nie je potrebné explicitne vytvárať.
Ak si chceme zobraziť uložené meno a heslo pre vCenter, urobíme tak príkazom:
bao kv get -mount=secret vCenter
Príklad výstupu:
=== Secret Path === secret/data/vCenter ======= Metadata ======= Key Value --- ----- created_time 2025-08-31T09:47:03Z custom_metadata <nil> deletion_time n/a destroyed false version 1 ====== Data ====== Key Value --- ----- password oms#D2@$29,sa2jel;8 username psguy@vsphere.local
Ak chceme zobraziť iba heslo na vCenter:
bao kv get -mount=secret -field=password vCenter
Niekedy je jednoduchšie konfigurovať OpenBao a pridávať/čítať secrets cez GUI. Otvoríme si teda webový prehliadač, stránku http://127.0.0.1:8200/ a prihlásime sa root tokenom, ktorý sme už použili vyššie.
Zobrazenie vCenter username, potom môže vyzerať aj takto. 
Záver
V tomto článku sme si predstavili OpenBao, vysvetlili sme si inštaláciu a pridali prvý secret. Najbližšie si povieme, ako nainštalovať OpenBao tak, aby sa secrets ukladali na disk a zároveň ako ich aplikovať v kóde.
Súvisiace články:













