Press "Enter" to skip to content

GOTO 2018 • Secret Management with Hashicorp’s Vault • Daniel Bornkessel


[Musica]
okay, benvenuto al mio top secret
di gestione con Hershey poliziotti volta solo
sai se tu di sotto parlo il punto focale
di questo discorso è di parlare un po ‘
sulla gestione segreta e sul perché tu
avrebbe bisogno di una gestione segreta questo è
tipo di molto breve il discorso a mezzogiorno
ha fatto davvero un buon lavoro per farlo e
dopo parlerò di cosa
è Vaught e come può aiutarti?
la tua gestione segreta e e al
molto fine parlerò di qualche caveau
interni che sono davvero interessanti
ma l’obiettivo di questo discorso è come pensare
su alcune pratiche nella tua azienda
che probabilmente potresti migliorare e
idealmente andare a giocare con Vault e
disclaimer quindi non sono connesso a
Hershey Cove Mi piace il prodotto, quindi sono
tipo di presentazione di un prodotto, ma io sono
non connesso a Hershey core vault o
qualunque sia il motivo per cui mi concentro sul vault
non ha per quanto ne so un impareggiabile
funzione caratteristica impostata senza essere
senza avere un fornitore o un framework
bloccare ed è per lo più open source
ci sono alcune funzionalità aziendali ma
in tutti i progetti in cui abbiamo usato volt
in questo momento non abbiamo mai dovuto usare il
Edizione Enterprise così aperta
l’ edizione sorgente che puoi fare per lo più
ogni altra soluzione all’interno del
stesso spazio se cerchi qualcosa
come quello e disclaimer che non ho usato
qualcuno di quelli attivamente ho appena letto il
documentazione di giocare con loro
brevemente la sua risposta chiave dal quadrato
non ha tante caratteristiche che non ha
hanno il cosiddetto segreti dinamici io
parlare di segreti animati più tardi grandi
Inoltre ha major e come iper
supporto del modulo di sicurezza all’aperto
versione sorgente questo cratere da Cloud
Fonderia che sembra molto promettente
Penso che abbia dei segreti dinamici . Vengo
non ho capito completamente il
documentazione della sua su misura e molto
specifico per Cloud Foundry che è una specie di
– come la California è davvero grande
aziende
e poi c’è la sequenza AWS
manager che è una specie di un anno
anche se non hanno segreti dinamici
ma qualcosa di simile puoi estenderlo
con le funzioni lambda sembra molto
promettente ma ovviamente è un po ‘
un po ‘centrato su AWS e ovviamente puoi farlo
tutto da soli, ma che è un sacco di
complessità e lavoro così la gestione segreta
quali sono le cose di gestione segreta
gestione segreta non qualcosa di simile
tutti definirebbero allo stesso modo
quindi cosa intendo quando parlo di segreto
la gestione è così segreta che i mantra fanno parte
del tuo concetto di sicurezza e un focus
di gestione segreta sono minacce interne
che possono essere impiegati canaglia o
accesso non autorizzato ai segreti con quello
Voglio dire, sono uno sviluppatore di f1 ma perché
non abbiamo alcun processo in atto in
la società a cui ho probabilmente accesso
segreti per il database di un altro
applicazione ad esempio è lunga vita
segreti come se avessi creato una nuova applicazione
Creo un database creato da qualcuno
utente con le password e da quel momento in poi
l’epopea le credenziali sono valide per
mesi o anni o in realtà probabilmente
per sempre a meno che non ci sia una sicurezza
problema o rottura quando dobbiamo rotolare
i nostri segreti fanno parte della gestione segreta come
bene per me come lo definirei
è il blocco dell’audit come se avessi un lucchetto dove io
può vedere come chi ha richiesto le credenziali
per quale sistema in quale momento
questo è molto importante se ne hai qualcuno
richiede implica requisiti ed è
parte di misure sicure e simili
alta automazione per cambiare la revoca
e segreti rotolanti e bene che dovrebbe
essere come tutti dovrebbero sapere che
e questa è un’eccellente alta entropia di
password ma non sempre
capita così abbiamo avuto un progetto come mezzo a
anno fa dove abbiamo creato un kubernetes
cluster e siamo tornati indietro come pochi
mesi dopo e hanno creato un database
su AWS che era disponibile pubblicamente in
Internet e la password per
il database di produzione era segreto
punto esclamativo quindi penso a tutti
sa che questo è necessario ma è così
non sempre
il caso purtroppo sono sempre stato
cercando questo esempio estremo dove a
azienda stava fallendo perché come
i segreti erano allo scoperto e lo erano
lunga vita e in realtà lo stesso Neumann
oggi che era quello che cercavo in modo
c’era una società in cui le password
Erano fuori allo scoperto ed è stato
distrutto entro 15 minuti e loro
non potrei mai yeah bene non hanno mai avuto
indietro i loro dati quindi qual è la corrente
situazione gestione segreta, quindi il migliore
le pratiche sono in realtà ampiamente conosciute
alta entropia e password ecc
di solito sono visti come molto importanti
quindi non avrai mai la risposta
qualcuno da un manager da nessuno come
pensi che la gestione segreta sia
importante nessuno potrà mai dire di no che è
non importante
tuttavia implementazioni cuori e
Le soluzioni sono piuttosto rari, inoltre,
come l’ EPS e le strutture non lo sono per lo più
pronto per la gestione segreta moderna che cosa
Intendo dire che questo è ciò che parlano
riguarda e l’automazione alta è in realtà
ancora in eccezioni se ne parliamo
come le piccole e medie imprese
come le aziende più grandi di solito hanno
gestione segreta in atto ma è
flussi di lavoro solitamente molto complessi che
rallentare le aziende e questo è come
contraria alle mitigazioni esterne delle minacce
come il firewalling e il mantenimento del
sistema operativo aggiornato mantenendo il
immagini docker aggiornate di solito
la gestione automatizzata ma segreta è molto
spesso non ancora automatizzato ed è spesso
‘solo ed è per questo che è spesso scritto
a favore di caratteristiche critiche
caratteristiche di business quindi una domanda per
la stanza come chi qui ha produzione
credenziali sul loro portatile proprio a questo
momento può essere password di database come bordo
le chiavi così piccole che pensano che ci sia un
buona idea speriamo che nessuno abbia ragione, quindi perché
sto parlando di gestione segreta così
rapidamente su di me sono un anziano consultato
in EQ e part- time e concentrandosi su
DevOps e argomenti di consegna continua a
la nuova coda è una società concisa
Codice di consulenza per l’architettura di Tinh
recensioni e recensioni di architettura e
sviluppo pratico così come c’è stato a
parla in precedenza come prima di questo lotto
erano sordi fino a quando non si parlava di una baia
l’azienda se sei interessato che abbiamo
una cultura aziendale molto interessante noi
incontrarsi come sei volte all’anno
è un’ottima compagnia, okay
pubblicità quindi un tipico progetto noi
di solito entrano in esso è come se fosse un
migrazione dal monolite al micro
servizio o sistema autonomo
l’architettura la lingua è molta
le sfide già impostate è per lo più Java
in genere con i data center di avvio a molla
per noi è AWS o container locale
la gestione di questi giorni è sempre
kubernetes non abbiamo nemmeno il
domanda più che sia giusto
soluzione o meno e poi CI qualunque
usato prima che sia per lo più Jenkins e
per favore usa qualcosa come get lab o
persino qualcosa come la registrazione di CI della conquista
tutti sanno che la registrazione è
di solito whoops non so che di solito è
elasticsearch e Cabana e monitoraggio
è qualcosa di nuovo, non tutti lo sanno
su questo è come di solito promesse
gestione segreta qualcosa di solito
non lo so e la maggior parte del
volte non so cosa intendo veramente
con la gestione segreta la domanda chiede
ci piace come si fa l’iniezione della password
per un database tre applicazioni e
di solito la risposta è come da
variabili di ambiente che è come il
modo di app trifecta per farlo e quando
sono kubernetes è come leggere
Valori sui segreti questo è tutto bello allora
il prossimo passo è come va bene quindi come stai
assicurati che non tutti possano leggere
ogni segreto di ogni applicazione se
sono buone le risposte come abbiamo
come il controllo dell’accesso basato sui ruoli e
tutti i coordinatori hanno capito qual è
di solito non è vero, ma a volte lo fanno
dillo, ma ora eccoti il ​​prossimo
punti di solito non ne ho mai visti nessuno
progetto o azienda che lo aveva capito
come cambiare le password per
le applicazioni sono generalmente un processo manuale
il registro di controllo è qualcosa in realtà nessuno
sì la maggior parte del tempo e solitamente loro
non posso davvero dire chi ha accesso o
chi ha le credenziali a quali database
se se un dipendente con conoscenza di a
molte credenziali lasciano l’azienda
le password di solito non sono cambiate e
revocare le credenziali è qualcosa di più
delle persone in realtà non supportano così dentro
tutti questi esempi sono completamente
Ovviamente su misura come vault
può aiutarti con tutti quei problemi
come il sommario esecutivo questo è più basso
discorso di marketing dalla pagina Web così sia
molto veloce è negozi sicuri e
strettamente controllata la password di Sultan
certificati chiavi API e altri segreti
e gestisce il leasing qui di chiave
chiave di revoca che rotola sul controllo e
per tutto ciò fornisce davvero bello
API REST per tutte quelle operazioni così
è davvero facile da usare e solo da essere
certo perché la gente lo confonde
non inteso per sedersi nella tua richiesta
risposta Amo così tanto la tua domanda
vault non è lì per fare la gestione degli utenti
dell’applicazione che si distribuisce ma
è pensato per la tua applicazione
accesso ai sistemi circostanti così dentro
il suo modo più semplice come il caveau sembra
questo ti autentichi e autorizzi
in qualche modo e poi c’è questa cosa dentro
il mezzo che è come questa volta
elaborare con l’ API REST e su
l’altro vault ti dà dei segreti se
questa era l’ unica cosa che ti fa solo
cambiato una serie di segreti contro
un’altra serie di segreti e non vincerebbe
molto qui ma la volta può in realtà
fornisce diversi metodi di
l’autenticazione di alcuni sono adatti per
umani come LDAP o nome utente e
password e alcuni sono utilizzabili per simili
applicazioni eseguite su kubernetes
AWS e dall’altro lato esso non è vero
non può solo memorizzare valori statici
come le chiavi API che scrivi e poi
puoi uscire di nuovo ma puoi ottenere
come la cosiddetta sequenza dinamica che è
di cosa parlerò ora
segreti così dinamici cosa sono loro
sono come credenziali create al volo
è per questo che è chiamato dinamico per ciascuno
istanza di un’app o di un utente che desidera un
segreto quindi se hai un webshop e te
fai un nuovo diploma o ne hai dieci
istanze ogni istanza del
l’applicazione avrà un singolo utente
e password individuale per accedere alla
database e tutti quei segreti che hanno
un tempo per vivere in modo che siano validi solo
per esempio diciamo un’ora o un giorno qualunque
tu configuri e tutto questo è pienamente
controllato in modo da poter sempre dire come me
distribuito versione 5 della mia domanda
giovedì scorso alle 2 e in host
con l’indirizzo IP questa istanza ha avuto accesso
per esempio al database 2 e come funziona
questo lavoro quindi funziona come l’ unico
non è l’unica cosa che fa la palla
automatizza il lavoro che di solito
gli operatori fanno per te così per
crea un nuovo utente perché crea
gli utenti al volo devi avere un amministratore
credenziali per poter fare
così è la prima cosa che fai se
tu configuri un tale segreto come dinamico
backend segreto è che fornisci il vaud
con credenziali che ti permettono di
crea nuovi utenti al volo
il secondo punto è solo se lo è
necessario che dipende dal back-end
si configurano vuoto con le impostazioni che
dì a vault come creare un utente lo farò
avere un esempio questo probabilmente tipo di
confondendo nel terzo passo perché noi
avere come pochi segreti di sinistra a volte
dobbiamo dire al caveau anche come
elimina di nuovo quegli utenti quindi restiamo
con l’esempio sul mio database sequel
perché è qualcosa che nessuno
database relazionale che è molto comune
usare il caso così nel primo passaggio I
configurare il vault con loro con
credenziali per essere in grado di creare utenti
sul mio mio sequel database in modo da avere a
ascensore di codice quindi ho configurato per essere
ok questo è un mio database sicuro e tu
accessi con questo uso
e password quindi in questo caso lo chiamo
admin e password e questo è l’host
del database e ci sono due ruoli
che creerò in seguito e uno di loro
si chiama client di sola lettura e uno di
loro sono chiamati client readwrite perché
alcune applicazioni probabilmente hanno solo bisogno di
solo accesso di lettura e alcuni hanno bisogno
accesso in lettura / scrittura in modo da primo passo che
configurare le credenziali e il secondo
passo configuri quei ruoli e in
questo è il caso del database relazionale
così qui abbiamo i clienti con
solo il database che diciamo va bene usa il
client nome database che è un database
Mi sono configurato qui e la creazione
dichiarazione e questo è ora come semplice
codice segreto è un mini modello dove
nome e password sono come stringhe casuali
che viene compilato dal vault upon
creazione e questo è come il codice sequel
non creare un utente identificato dal
password e concessione selezionare sui client e
il ruolo di riscrittura sarebbe lo stesso ma
invece del selettore di sovvenzione sarà concesso
seleziona aggiorna inserisci elimina sui client
a questo utente e quindi abbiamo predefinito
A TTL piace questo sono solo questi segreti
valido per un’ora e alcuni segreti come
questo è quello che abbiamo configurato qui ora tu
può estendere il villaggio alla validità di
i segreti e possiamo farlo come a
massimo per dieci giorni come 240 volte I
potrebbe dire per favore lascia che sia valido per
più tempo ma dopo 240 ore in questo
caso che deve davvero diventare nuovo
segreti dal mondo così una volta che ho
configurato che ora ho un
applicazione in questo caso presumo come
in tutti questi esempi si supponga che il
l’applicazione è autenticata e
autorizzato a parlare con Vault in modo che legga
da questa magia passa qui perché questo è un
percorso che spiegherò più tardi
come raggiungere i clienti di credenziali di DB
read-only è il ruolo che ho configurato
prima allora la parola creerà un utente su
il volo nel mio database sicuro e
restituire il login e la password al
applicazione quando il nostro TTL è finito e noi
non ha rinnovato il volere di credenziali volontà
cancella automaticamente questo utente dal
database così anche se qualcuno lo capisce
tu
la password dopo un’ora all’ora
esempio qui non è più valido così
se la persona perde la compagnia
non posso farci niente per questo
database back-end per cui c’è il supporto
un bel po ‘di database qui non solo il mio
sequel può usarlo per i più comuni
candidati un altro backend segreto che
è interessante se vivi in ​​AWS
la parola è come parlare con l’ API AWS in
ordine di creare una nuova istanza ec2 o
cancellata nuova istanza ec2 la strategia è
sempre lo stesso così il primo molto prima
passo è quello di fornire un deposito con il
credenziali per essere autorizzato a
crea un utente IM o un token STS allora tu
creare i ruoli in cui ho lasciato il passo
qui allora un’applicazione può leggere
da AWS crea def questo è il ruolo
che ho creato qui il mondo parlerà poi
all’API e creare il token o l’I
sono un utente nel caso se questo è un token
come AWS supporta token TTL da se stesso
quindi ogni volta che c’è un sistema di back-end
che supporta CTL vault userà quello
caratteristica e ci tornare alla
applicazione e quindi l’applicazione può
parla con l’ API e ancora se
non è sul simbolico, ma un caveau utente IAMB
cancellerà quindi l’ utente I am quando
il TTL è sopra la chiave privata
infrastruttura che è interessante se tu
vuoi fare come il traffico sicuro nel tuo
cluster come autenticazione TLS u2
passo di configurazione è di nuovo lo stesso te
fornisci il certificato CI e il
La chiave privata di CA per svuotare poi il
le conversazioni delle applicazioni con Vault Vault vengono create
un certificato client e l’applicazione
può usare questo certificato client a
parla con le tue applicazioni così con quello
abbiamo effettivamente implementato TLS reciproco in
il nostro cluster Kubernetes in questi giorni
lo farebbe probabilmente con SEO o link
D al
ma nel momento in cui usiamo che coloro
le misure di servizio non erano no
disponibile ancora è possibile utilizzare Vault per dare
gli sviluppatori accedono tramite ssh agli strumenti
ci sono due metodi che il primo metodo è lasciato
parli con i tuoi discorsi per evitare l’api
e dillo bene per favore dammi l’accesso
a questo IP e cosa crea a
nome utente alla volta password al volo
con quello puoi provare a connetterti al
host e ora sull’host c’è un piccolo
agente di sicurezza che parla con Vault e
convalida c’è questo nome utente con a
la password unica è valida e quindi
indovina ti dà accesso all’host il
svantaggio di questa tecnica è questo
se non possono parlare non hai
accesso alle tue macchine più
quindi c’è un’altra tecnica che è
più difficile attirare l’ interesse solo del testo
fondamentalmente in poche parole è che tu firmi
le tue chiavi pubbliche ssh con una volta
CA e utilizzare questo segno di chiave pubblica per
connettersi a un altro host e su questo host
il demone di età SS controlla se questo
pubblico è stato firmato questo è in realtà
non usare molto spesso ssh ma è una macchina
Funzionalità SSH in modo che sia supportato da
Daemon SSH è la tecnica migliore a
un po ‘più complesso da spiegare e
allora finalmente è l’ultimo segreto backend I
voglio parlare di questo transito quindi se
vuoi crittografare o decifrare i documenti
senza memorizzare nulla è coinvolto cosa
potrebbe ci si copre pure basta
in realtà deve attivare il transito
back-end e quindi puoi solo pubblicare un
il documento di volta in volta verrà annullato
il documento crittografato e il
l’applicazione all’avvio può quindi chiamare il
endpoint con decifrare e ottiene il
il documento torna decrittografato così a volte
questo è necessario non so di bene
esempio al momento, ma si può solo
usarlo come decodifica e crittografia e
facilità la cosa buona qui è che il
la chiave privata per D e la crittografia no
lascia il caveau in modo da non doverti preoccupare
circa piace memorizzare questa chiave privata
da qualche parte tutto è gestito bene così
sono loro sono più segreti
backend di cui abbiamo parlato più di
loro c’è una console se lavori con
console c’è rabbitmq e pochi
altri sono probabilmente alcuni nuovi
ora, ma ovviamente non lo erano tutti
l’accesso al vault dovrebbe essere in grado di
leggi tutti i segreti che abbiamo così noi
devo autenticare in qualche modo contro
estremità della volta e si chiamano fuori indietro
e quello che ne ha alcuni di loro
adatto per sviluppatori e alcuni
adatto per le applicazioni prima di andare
al back-end di autenticazione
Parlerò dei token in realtà di Tom
l’ unico modo per autorizzare contro Vault
e sono sempre creati votando così
non può creare un tomo te stesso e
vengono restituiti quando si autentica
con successo così autenticazione voi
fornire un nome utente password volt check
in qualche modo va bene
la password del nome utente è corretta ma quella
non ti dice cosa hai permesso di fare
questa è l’autorizzazione che sono in qualche modo
paragonabile a un ID di sessione sul sito web se
tu vivi nel web e loro hanno sempre
autorizzazioni e politiche assegnate
quindi un token ha sempre i permessi e
politiche assegnate a loro in modo che Tom possa dire
per esempio questo sviluppatore può leggere a
passargli una password per il database
accesso in lettura / scrittura o no questo è come può
crea un token c’è un comando con a
vault CL isola non usiamo mai questo
comando ma solo per mostrare come cosa cosa
il totem sembra un po ‘ come un
UUID
c’è una accessoria token che salterò
questo per ora cosa significa questo
e la durata di questo token è cinque
minuti quindi ogni token ha un TTL è
rinnovabili e le politiche totali lo farò
parlare di politiche più tardi l’ impostazione predefinita è
sempre applicato così può solo averne un po ‘
diritti delle politiche sempre che tutti
totem dovrebbe avere e in questo caso
admin pure così puoi avere diversi
le politiche si applicano ad esso così per gli sviluppatori
è possibile utilizzare provider di identità esterni
questo è un po ‘come un flusso di O2 ma
è un po ‘diverso questo e
il primo è come l-dub radius o up
a tutti funzionano fondamentalmente allo stesso modo
devi configurare il vault due per avere
accesso a due LDAP e quindi cosa faccio come
uno sviluppatore II si blocca nel vault con il
off metodo sommare ciò che i venditori del mondo
inoltra queste credenziali per aggiungere e
di solito mi piace se possibile username
le password sono corrette la risposta
contiene prima di tutto l’utente e il
raggruppa gli utenti in parte e in funzione
su queste due informazioni cosa creerà
un token con queste politiche applicate a
così potrebbe essere come se fossi un caso utente o
legame otterrò l’amministratore della politica perché
Sono un vault dell’amministratore oh yeah e
quindi posso usare il token per parlare con
vault API uguale a se vivi
github se hai la gestione degli utenti
ciò che puoi fare è fondamentalmente lo stesso
invece di username password è a
token invece di gruppi come squadre ma
la strategia è la stessa per le applicazioni
ora siamo tornati alle domande come come
ottengo una password per il database attraverso
la mia applicazione senza memorizzarla nel mio
repository git e il primo back-end I
voglio parlare delle comunità di cooperative
di per le persone che usano le comunità se tu
non so kubernetes
ogni pensiero se non sai cosa
gli apotres pensano a contenitori ogni
contenitore in kubernetes viene eseguito con a
utente tecnico che chiamano un servizio
account e ogni account di servizio ha un
token con il quale può autenticarsi
contro la kubernetes api che può
in realtà solo l’autenticazione può significare
che non può fare alcuna operazione sull’API
ma può sempre autenticarlo io
direi ok questo account di servizio
sì, è valido l’account di servizio questo
tra l’altro anche se vivi
kubernetes per ogni applicazione tu
dovrebbe sempre creare un account di servizio
senza permessi di sorta a meno che
vuoi parlare con la kubernetes api
che di solito non è il caso e allora
puoi farlo ora se sei in applicazione
puoi autenticare contro il vuoto con
il metodo kubernetes e tu passi
questa area conversazione
mi dispiace in avanti come questo il token per
l’account di servizio è montato in ogni
contenitore che viene eseguito in kubernetes così via
ogni contenitore è possibile raggiungere questo totin
cosa puoi fare ora se vuoi parlare
per votare puoi leggere questo token e poi
Dì a vault login con il metodo
kubernetes vault passa questo al
kubernetes api e se questo è valido
token la risposta ha qualcosa di simile
il nome dell’account di servizio e il
spazio dei nomi dell’account di servizio e
a seconda di queste due informazioni
può quindi creare un token con certezza
autorizzazioni e politiche ad esso collegate
così hai incontrato dal nome dell’account di servizio
e lo spazio dei nomi e tutto lo spazio dei nomi
hai incontrato quei due token e poi puoi
usa questo discorso per parlare con Vault
quindi solo perché è abbastanza popolare
è così che l’abbiamo fatto in un progetto, quindi noi
aveva un avevamo un contenitore init e
ha fatto ballare tutta questa autenticazione qui
e ottenuto questo token e salvato in a
volume condiviso quindi il contenuto dell’anno come
se quello ha avuto successo l’interno
contenitore muore e l’app può solo prendere
il token e parla a volt e questo
il contenitore interno era solo un vegetale
perché vault è un’API REST che puoi semplicemente
fai tutto con l’arricciatura che puoi usare
modello di console e console
modello se qualcuno lo sa da
console che può direttamente parlare al vuoto
ma anche questo è stato un super semplice
contenitore non era aria finalmente Knox con
passione se non sei ancora su Kubernetes
ma tu corri su AWS c’è qualcosa
chiamato
AWS off e ti dà lo stesso
possibilità di eseguire applicazioni
senza inietti segreti te stesso e
quello che fondamentalmente hai il tuo ec2
istanza in cui vengono eseguite le applicazioni
e tu hai l’API ec2 e su tutti
applicazione abbiamo questo facile
servizio metadati disponibile in modo che significa
fondamentalmente su ogni facile applicazione
istanza in AWS se non ti è familiare
con esso puoi arricciare informazioni su
qui sotto la tua istanza sotto questo URL
e AW AWS fornisce una versione crittografata
del documento di identità dell’istanza in
questo percorso è così su ogni istanza
questo percorso e questo è criptato da a
chiave privata di AWS, quindi cosa puoi fare
si chiama questo documento, si ottiene questo
documento a cui si passa questo documento
vault e dire login con il metodo off
AWS prima di tutti i controlli del vault
se questo è stato veramente crittografato da AWS
perché ovviamente le chiavi pubbliche sono
molto noto quindi non va bene
autenticato controllo e poi si parla di
l’ API ec2 e verifica che questo
l’istanza dovrebbe essere autorizzata ad avere
accesso al vault e questo dipende dal
questo è un bel po ‘di caratteristiche
può controllare come ID account ID ami a V
ID di subnet del PC
Sto arrotolando i profili di istanza o c’è
alcune caratteristiche che puoi
controllare e poi basandoti su di te
crea un token e con questo token oh
sì , sì , l’ho dimenticato per sempre
creare un token e quindi facoltativamente ma
dovresti sempre farlo nella tua lista nera
questa istanza l’ idea qui è che tu
può fare questa autenticazione come
tutti o ogni applicazione che ha
può accedere a questa istanza di ec2
autenticarsi da solo con questo
metodo quindi cosa fai qui l’idea
è come all’inizio del processo di avvio che fai
questa autenticazione con un piccolo demone
o applicazione e dopo questo
l’istanza è nella lista nera e nessun altro
su questa istanza può farlo
di nuovo così anche se la tua istanza è Hecht
e non puoi autenticarti di nuovo con
questa istanza e finalmente la usi
token per parlare con Vault e poi ottenere
qualunque sequenza tu voglia, c’è
un altro metodo chiamato I am off message
questo è molto più complesso che ho appena fatto
che qui dentro per riferimento
Aprile Non parlerò di questo in dettaglio
ora le diapositive che fornisco li hanno
alcuni grafici su questo è lo stesso
idea se non si utilizza il recupero AWS
maglia ma Martha manca o solo chef
o burattino puoi effettivamente fare lo stesso
usando April è un po ‘di più
complesso ma è gestibile così nel
Finisci usi qualunque cosa o se vuoi
ottenere l’ accesso ai sistemi, quindi cosa abbiamo fatto
gli sviluppatori o io dovremmo averlo dentro
Contea di contea e tu hai te
autenticarti con l’ aggiunta e
quindi ottieni politiche che ti danno
accesso all’API AWS a due database
all’infrastruttura a chiave privata che utilizziamo
per esempio per avere accesso a
kubernetes se usi il controllo Q o Q
Coltello su di te vuoi pronunciarlo
che funziona davvero con un cliente
certificato o certificato cliente
autenticazione cucita su un interno
cluster e per un altro progetto che abbiamo fatto
lo stesso che stai cercando Kate che abbiamo aggiunto
riceverai un certificato cliente che scriviamo
la configurazione di controllo del cubo e poi il
lo sviluppatore ha accesso a kubernetes per
diciamo un giorno o qualcosa del genere una volta a
giorno devi accedere per ottenere le comunità
qualcuno lascia la compagnia che no
devi preoccuparti delle tue comunità
accesso perché non è più variato
e alle macchine SSH e poi di nuovo il
applicazioni che vengono eseguite in Kubernetes
autenticarsi con il metodo kubernetes
Vault e quindi accedere a
database segreti statici come chiavi API
anche certificati e probabilmente
decifrare alcune cose che sono criptate
il repository guarda così in fretta le politiche
e per questo dobbiamo sapere che
comunità
i concorrenti organizzano segreti come a
combattere l’albero e per la gamba dei segreti statici
diciamo che le chiavi API sono molto
semplice perché è così
roba statica quindi ne hai un po ‘
organizzazione qui team F1 API Keys
Google Analytics e chiavi API cartacee per
esempio, ma questo è il caso di
fuori per tutto questo è il motivo se tu
ricorda qualche vodka mesi prima
è sempre stato come un sentiero di fuoco
quindi se voglio leggere i file per i dati come
100 segreti per l’accesso al database che faccio
Vuoto leggere barra del database slash Kretz
clienti oblique sola lettura e ottengo che
username password anche se questo è
dinamico quindi ogni richiesta restituirà a
utente diverso e una password diversa
e le politiche ora a cui si applicano
file o directory se vuoi
attenersi alla metafora dell’albero dei file e
supportano i jolly del file system
è per questo che è abbastanza utile il loro supporto
era l’utente Connexus e loro ottengono
assegnati dopo l’autenticazione e loro
sempre legato a un token e alle politiche
legato a espiare can non può essere cambiato così
invece è necessario creare un nuovo token
e quelli sono i soliti sospetti qui
creare lettura aggiornamento elenco di eliminazione negare I
penso che tutti possano probabilmente capire
cosa significano c’è uno speciale
permesso chiamato pseudo perché lì
sono alcune parti coinvolte che dovrebbero
essere accessibile solo agli utenti amministratori
ad esempio come l’accensione e lo spegnimento
il blocco di revisione può essere eseguito tramite REST
API pure e dovrebbe essere solo
accessibile dagli utenti amministratori in modo simile
come appare una politica per un
applicazione questa applicazione è consentita
elencare e raggiungere ogni segreto statico
sotto Secrets team one app inoltre
può ottenere un certificato client di
l’accesso può emettere un certificato di impianto
accedendo al broker di emissione PKI e può farlo
leggere può eliminare solo le credenziali per a
database ok l’ aspetto ordinato
[Musica]
il registro di controllo è sorprendentemente fuori
default ma questo ha una buona ragione quindi noi
avere come tre file di backend supportati
syslog e socket e se vault non può
scrivere il blocco ordinato non lo farà
rispondere a qualsiasi richiesta l’idea è quella
qualcuno che vuole fare qualcosa
malizioso potrebbe semplicemente riempire il duro
disco quindi cosa non può scrivere la verifica
bloccare quindi fa le cose malevole e
quindi libera il database così per te
sembrerebbe che il blocco di controllo sia intatto
ma sì va semplicemente non fa nulla
se non possiamo andare a cavallo o in punto e il
il registro di controllo blocca ogni operazione e così via
sembra quello che è stato fatto quando era
eseguito da chi è stato eseguito e quindi
il carico utile della richiesta e la risposta
carico utile e, naturalmente, come il sensibile
i dati non sono come stampati nelle serrature
ma è un hash con HTML sha-256
nell’idea qui è come se qualcuno
Twitter è fuori la tua password del database e
ti rendi conto che un giorno dopo, se così fosse
se conosci il contenuto del carico utile
puoi farlo con lo stesso metodo e
quindi cerca nelle tue serrature e vedi chi
chi ha creato l’esempio di password, quindi questo
come un esempio, possiamo vedere ok
nome utente che sono io autenticato tramite
Ho tentato di elencare l’operazione LDAP
tutti i segreti e il permesso era
negato e il valore hash del mio cliente
aperto per quello che ho usato era così
mai abbastanza carino blocco ordinato per
tutto prima di venire agli interni
come piccolo riassunto ti piaci
autenticarsi in qualche modo si ottiene politiche
allegato e quindi puoi leggere statico o
segreti dinamici e tutto è bloccato
e vuoto è questa cosa nel mezzo
Qui
quindi alcuni interessanti in interni a
Vault il deposito non porta
il proprio motore di archiviazione che può utilizzare
diversi motori di archiviazione il più comune
quelli sono console e HCD come nel
mondo kubernetes un sacco di gente usa l’HDD
console è anche da Heavy Corp così
che è molto ben supportato pure, ma
ci sono un sacco di altre opzioni solo essere
attento non ogni opzione supporta un alto
modalità di disponibilità da Vault i dati è
crittografato a riposo con una chiave simmetrica
e questa chiave simmetrica è crittografata da a
master key e inizia la memorizzazione
back-end e c’è la chiave principale è
crittografato con qualcosa che viene chiamato
La condivisione segreta di Shamir quindi devi
decifrare la chiave master per
reclutare la chiave simmetrica e questo
Semiramis una condivisione segreta è super
tecnica interessante e ciò significa
per decifrare i dati necessari 1
su n chiavi e quando si desidera decifrare
i dati che puoi fornire
chiavi di decrittazione in qualsiasi ordine, quindi non c’è
nessun ordine e puoi crearne altri
le chiavi di cui hai bisogno per decifrare
i dati così per renderlo di più
concreto come volta quando si inizializza
vault crea cinque tasti su
inizializzazione che è solo questa
fatto una volta e tre di quelle cinque chiavi
sono necessari per annullare la chiusura del deposito e
questo è configurabile da Kenna dove io
giocato dieci chiavi e otto inutili
puoi creare quindici chiavi ma solo
cinque chiavi sono necessarie per adattarsi
la tua azienda e l’idea qui è quella
hai alta disponibilità di chiave o
titolari perché ogni volta che inizi a
istanza del vault e se hai alto
modalità di disponibilità si potrebbe avere cinque
istanze evolute per esempio ogni volta
si avvia un’istanza che devi
decifrare la chiave master
quindi c’è per istante non per archiviazione
back-end e come una sola chiave è
completamente privo di valore come il portachiavi
non deve essere qualcuno con qualcuno
accesso speciale e contratti possono essere
tutti i progettisti optano per la squadra dei morti
assistenza qualunque cosa tu voglia
avere un’alta disponibilità di possessori di chiavi se
qualcuno che ha uno di quelli che si chiudono
sono chiamati “unsealing”, è affittato
l’azienda è possibile creare nuove chiavi come
se hai cinque chiavi in ​​quelle cinque chiavi
coinvolge alcuni crede alla compagnia e
allora hai bisogno di tre chiavi per
crea cinque nuove chiavi che puoi
ridistribuire e le vecchie chiavi sono tutte
dopo di ciò invalido e già dico
che come ogni volta ho tutte le istanze
ha iniziato la chiave principale deve essere
disponibilità decrittografata del vault
in realtà ha lasciato tutte le diapositive e bravo dentro
tempo così alta disponibilità è come te
hanno come esempio tre istanze
ma solo un istante risponderà a
richiesta se si richiede va a uno dei
le istanze passive c’è un reindirizzamento
come un HTTP tre o due al leader
del cluster, quindi per quanto riguarda l’uso vuoto
[Musica]
come l’integrazione del voto come ci sono
alcuni framework che hanno l’integrazione per
mondo
Springwood ha qualche supporto che non conosco
quanto è bello che abbiamo sempre dovuto fare un po ‘
alcuni lavori per conto nostro, ad esempio per
sequenza dinamica e se lo fai
te Penso che il modo migliore per farlo
è quello di creare come bastone con un quadro
di solito le strutture raggiungono la configurazione
file con le credenziali come bastone
questa tecnica e creare file di configurazione
con un’applicazione di supporto che parla di
volta
quindi puoi usare il modello di console o a
miglior file per quello e in quel modo
lo sviluppo locale non deve cambiare
non hai tutta questa logica del vault
la tua applicazione ma hai un piccolo
aiuto per quello e sono veramente facili
per scrivere lo abbiamo fatto con uno script bash
devi preparare la tua domanda a
Credenziali TTL per le tue applicazioni
reagire di conseguenza quando il tuo database
la password non è più valida
quello che hai da fare è necessario rileggere
i file di configurazione che idealmente di
Naturalmente ha già le nuove credenziali
scritto in loro e poi rifare il
richiesta del database o se vi trovate in a
container gestisci il mondo e il tuo fronte
router dove proviamo la richiesta se questo
fallisce puoi uscire con un errore
codice e quindi la gestione del contenitore
il sistema riavvia il tuo contenitore ma quello
dipende dal tuo setup come faccio
iniziare è un po ‘come in realtà
a 1 minuto ti investi su questo URL
progetto vault Possiedo demo slash o hash
demo e questo è come un interattivo
il mondo che ti viene impostato puoi farlo
inizializza il vault aprilo in questo
ad esempio penso che loro solo sapessero
solo bisogno di una chiave che puoi scrivere segreto
e leggere segreto solo per ottenere una sensazione simile
come ci si sente a lavorare
vault il prossimo passo sarebbe quello di scaricare
localmente e inizia con – – def
parametro che avvia vault e memorizza
tutto in memoria e il
l’investimento per quello è come 20 minuti
per farlo funzionare e poi suoni
in giro con esso per poche ore o pochi
giorni per avere un feeling con esso
tuttavia c’è un apprendimento veramente ripido
curva quindi c’è molto di diverso
backend quindi abbiamo già parlato di like
Segreti backends back back in storage
backend e poi ne hai altri
servizi circostanti e tutti quelli
i servizi usano la stessa parola e loro
di solito hanno un po ‘diverso
significato e nelle prime settimane lo fu
sempre come va bene, abbiamo questo
certificato e questo certificato è
TTL – questo è un discorso, so che è questo
altri tipi di discorsi quindi ce ne sono molti
complessità in realtà e iniziare
è un po ‘ difficile ed è difficile
davvero per testare qualcosa velocemente perché
se vuoi testare come vuoi
prova questo
Cosa di autenticazione AWS per ottenere
alcuni la mia password sicura per il tuo
database devi avere accesso ad AWS
devi avere un utente che è permesso
per creare altri utenti
Sì, devi avere un WS installato lì
e tu hai il mio database sequel e tu
devi configurare tutti i ruoli così è
non è così che lo provi e dentro
i primi tre minuti che hai
buon esempio funziona così è un po ‘
difficile da iniziare e poi se lo sei già
Conoscenza del caveau così hai imparato
tutto questo e se vuoi portarlo
in produzioni come quasi tutte
tutorial funziona solo in questo sviluppo
modalità in cui non hai bisogno di HTTP non lo fai
bisogno di certificati e tutta questa roba in modo
portarlo in produzione è un bel po ‘
lavoro pure, quindi c’è abbastanza
investimento e con ciò sono effettivamente
finito grazie
[Applausi]

Please follow and like us: