Home
» LINUX
»
Hoe gevoelige gegevens op Linux op te slaan met Vault
Hoe gevoelige gegevens op Linux op te slaan met Vault
HashiCorp Vault slaat statische geheimen op in een key/value (KV) secret engine en stelt geautoriseerde gebruikers in staat deze op te halen via de webinterface of de command line interface (CLI). Deze handleiding demonstreert de workflow op een lokale Linux-machine. Er wordt gebruikgemaakt van de KV v2 secret engine en de Vault-ontwikkelmodus, die opzettelijk onveilig is, gegevens alleen in het geheugen bewaart en deze verwijdert wanneer het proces wordt gestopt. Gebruik hier een placeholder-waarde; voer geen echt wachtwoord, API-sleutel of privé-referentie in. Voor persistente gevoelige gegevens kunt u Vault het beste in de niet-ontwikkelmodus implementeren met duurzame opslag en de juiste toegangscontroles.
Installeer Vault op Debian of Ubuntu.
Gebruik de officiële pakketrepository van HashiCorp in plaats van een oude, versiegebonden downloadlink. De onderstaande commando's voegen de ondertekeningssleutel en de apt-repository toe en installeren vervolgens Vault. Als u RHEL, Fedora of Amazon Linux gebruikt, kies dan de bijbehorende pakketinstructies op de officiële Vault-installatiepagina .
Controleer of de CLI in je PATH-omgevingsvariabele staat:
vault --version
Start een lokale demonstratieserver
Houd dit proces in een terminalvenster terwijl u de handleiding volgt. Koppel het aan het loopback-adres, zodat het alleen vanaf uw eigen computer bereikbaar is:
vault server -dev -dev-listen-address=127.0.0.1:8200
Vault initialiseert en ontgrendelt deze ontwikkelingsserver automatisch. De opstartoutput bevat een root-token; u hebt dit nodig om in te loggen op de gebruikersinterface. Dit token geeft uitgebreide beheerdersrechten, dus bewaar het op uw lokale machine en deel het nooit. De ontwikkelingsmodus maakt ook gebruik van onveilige standaardinstellingen en opslag in het geheugen. HashiCorp geeft expliciet aan dat het bedoeld is voor experimenten, niet voor productie. De gebruikersinterface is beschikbaar op [adres] http://127.0.0.1:8200/ui. De demo gebruikt gewoon HTTP op de loopback-poort; stel deze poort nooit open voor een netwerk.
Maak voor een herhaalbaar voorbeeld een aparte KV v2-mount aan met de naam linux-kv. Stel in een tweede terminal het serveradres in en activeer de mount eenmaal terwijl deze demo actief is:
Dit voorkomt dat er wordt vertrouwd op de standaard mountnaam, die kan variëren tussen verschillende voorbeeldconfiguraties. Een KV v2-mount ondersteunt het schrijven van geheime gegevens. De documentatie van Vault over de KV v2-installatie beschrijft het mount-commando en de gebruikersinterface.
Sla een testgeheim op in de webinterface van Vault.
Open de http://127.0.0.1:8200/uipagina in uw browser. Voer het root-token in dat in de serverterminal wordt weergegeven en meld u aan. De Vault UI is standaard ingeschakeld in de ontwikkelmodus; raadpleeg de officiële UI-documentatie .
Selecteer 'Geheimen' , open de linux-kv/mount en kies de optie om een geheim aan te maken. Op de pagina met engines zou deze mount moeten worden herkend als Key/Value versie 2.
Voer voor het geheime pad in linux-demo. Voer onder de sleutel/waarde-velden in api_keyals sleutel en test-valueals waarde. Klik op Opslaan . Dit zijn voorbeeldteksten, geen inloggegevens.
De mount en het pad identificeren dit record samen als linux-kv/linux-demo. Gebruik neutrale pad- en sleutelnamen: namen kunnen voorkomen in lijsten of metadata, dus plaats er geen wachtwoord of andere gevoelige informatie in. Gebruik KV voor gewone herbruikbare sleutel/waarde-records. De Cubbyhole-engine van Vault is gekoppeld aan een individueel token en wordt vernietigd wanneer dat token verloopt.
Schrijf en haal het geheim op met de CLI.
De ontwikkelserver authenticeert automatisch de lokale Vault CLI. Stel indien nodig het adres in een andere terminal in en gebruik vervolgens de onderstaande expliciete mount-syntaxis:
export VAULT_ADDR='http://127.0.0.1:8200'
vault kv put -mount=linux-kv linux-demo api_key=test-value
vault kv get -mount=linux-kv linux-demo
Het getcommando print de waarde, daarom gebruikt het voorbeeld alleen een placeholder. Een KV v2 putschrijft een nieuwe versie en vervangt de huidige gegevens van het geheim; neem elk veld op dat u wilt behouden. Vermijd het rechtstreeks plaatsen van echte inloggegevens in shellcommando's, omdat deze in de shellgeschiedenis kunnen blijven staan of zichtbaar kunnen zijn voor inspectie door lokale processen. Gebruik een niet-root-identiteit en een beperkt ACL-beleid voor echte gebruikers of applicaties.
Stop de demo en bereid Vault voor op echte gegevens.
Ga terug naar de terminal waarin de server draait en druk op Ctrl+C . De demo stopt en de in het geheugen opgeslagen geheimen en token gaan verloren. Als je de demo opnieuw start, wordt een nieuwe instantie aangemaakt; eerdere gegevens worden niet hersteld.
Om échte geheimen te bewaren, configureert u een Vault-server die niet voor ontwikkelingsdoeleinden wordt gebruikt, met een duurzame opslagbackend. HashiCorp raadt Integrated Storage aan voor veel zelfbeheerde implementaties; de Raft-documentatie legt de persistentie- en back-up-/herstelfuncties uit. De bestandssysteembackend is een andere ondersteunde optie voor duurzaam gebruik op één server, maar biedt geen hoge beschikbaarheid.
Een daadwerkelijke implementatie vereist ook TLS voor clientverbindingen, authenticatie in productieomgevingen, beleid voor minimale privileges, beveiligde initialisatie en ontsleuteling van gegevens, beperkte toegang tot het bestandssysteem en geteste back-ups. Vault versleutelt opgeslagen gegevens in rust, maar de server, de tokens en de back-ups moeten nog steeds worden beschermd. Volg de waarschuwingen van HashiCorp voor de ontwikkelmodus en de richtlijnen voor implementatie in productieomgevingen voordat u referenties opslaat waarvan u afhankelijk bent.