
[Musica]
Mi chiamo Diogo Monica, sono la sicurezza
leader talker e oggi voglio parlare a
un po ‘ sul substrato sicuro
costruire il mobi wale quindi questo è gentile
di un titolo criptico, che spero sarà
molto chiaro in questa ultima diapositiva di questo
presentazione perché uso questa diapositiva attuale
e prima di entrare nel discorso stesso
voglio solo parlare un po ‘di me
Mi piacciono le motociclette e mi piace
rafting, ma come lavoro di un giorno
eseguire il team di sicurezza al docker show di
mani quante persone effettivamente usano
docker e il pubblico va bene spettacolo di
mani quante persone effettivamente usano
i computer del pubblico circa lo stesso
questo va bene prima che la finestra mobile sia effettivamente utilizzata
lavorare per un’azienda chiamata square
piazza è una società di infrastrutture che
fa i pagamenti e io ero lì per quattro
anni costruendo la crittografia e prima
Quadrato e non è mostrato nella diapositiva
perché è un po ‘imbarazzante
ma stavo facendo un dottorato e lei ha fatto il boot
sistemi perché volevo che mio padre amasse
io che ho fallito totalmente così bene dopo di me
ho sprecato troppi anni del mio dottorato di ricerca
ha iniziato a lavorare in sicurezza e ora
oggi voglio parlarvi di un certo
cose che abbiamo lavorato alla finestra mobile
in particolare voglio iniziare con questo
terminale questo terminale è abbastanza nel
primo posto
ma la seconda cosa che sta mostrando è
ti sta mostrando una distribuzione docker stack
che è un unico comando che si nutre di a
llamó file e distribuisce un set di micro
servizi cosa fa in realtà quando
fai una distribuzione docker per quelli di voi
che hanno familiarità con esso è crea
reti per te gestisce micro servizi
li collega tra loro insiemi fino
tutte le variabili ambientali vengono eseguite
questi contenitori poi all’improvviso da
eseguendo un comando hai un pieno
database di infrastrutture di lavoro tuo
in-memory salva la tua applicazione
i lavoratori non importa che cosa sei tu
può effettivamente avere un’infrastruttura completa
con un comando la ragione per cui sono
mostrarti questo è davvero facile
ma solo perché è facile no
significa che è semplice così oggi il mio discorso
riguarda ciò che è in realtà sotto il cofano
e per mostrare ciò che è in realtà
succede sotto il cofano quando lo fai
questo comando in particolare lo faremo
guarda tutti i pezzi che sono
necessario per la distribuzione dello stack di docker su
lavorare in modo sicuro e un’analogia che io
in realtà mi piace davvero usare è Tetris
spettacolo di mani quelli di voi che hanno
Ho giocato a Tetris bene con le stesse persone
che useresti la finestra mobile così è
il grande Tetris è un gioco molto semplice come
sai che l’obiettivo del gioco è avere
questi tetra Nomos che è in realtà
risulta essere il nome ufficiale per quelli
piccole cose per Tirana Mo ho pensato
era bello che i Tirana Mo dovessero essere
ammucchiati in un modo che creano pieno
linee e non lasciare eventuali lacune che di
lo scopo del gioco ogni volta che hanno a
la linea completa scompare e tu
continuare a giocare se si accumulano tutti
e sei pieno di buchi allora tu
perdere il motivo per cui sto usando Tetris come
un’analogia è perché si scopre che
Tetris è come la sicurezza delle infrastrutture
se lasci i buchi che hai
vulnerabilità quindi oggi voglio parlare
a proposito di tetra namas e in particolare io
voglio parlare dei sette Tetra Nomos
che sono legati alla sicurezza di quella finestra mobile
ha effettivamente creato ognuno di loro ha un
scopo diverso, ciascuno di essi ha un impatto
la sicurezza in qualche modo e ognuno di loro lo è
andando a contribuire alla finale
piattaforma nella pila docker finale
schierare lavorando sotto il cofano in a
moda sicura quindi ce ne sono diversi
diversi animali deterrenti ciascuno di questi
due tirana Mo è in realtà un aperto
software sorgente in modo da poter accedere a github
e vedere ognuno di questi come un
progetto indipendente abbiamo infrakit
che è un modo per gestire l’ infrastruttura
e un’infrastruttura indipendente
Kit di Linux che consente di creare OSS
abbiamo eseguito C che è un contenitore
runtime abbiamo il contenitore D che è a
supervisore del contenitore
abbiamo la finestra mobile che è a
notaio piattaforma di esecuzione del contenitore che
ti permette di fare la firma e, infine
sciame kit che è un contenitore
Orchestratore e quindi entrerò
ognuno di loro e parla con te
sulle proprietà di sicurezza che loro
hai e perché dovresti essere eccitato e
una delle cose che voglio menzionare
è che ognuno di questi
i pezzi dovrebbero essere in grado di
operare in modo indipendente è possibile utilizzarli
e comporli come più vi piace e
in tutta la presentazione sarò
vi mostrerà esattamente questo modo andiamo al
prima parliamo un po ‘di
implicito ciò che è infrakit infrakit è
in realtà uno dei più recenti a
Tirana Mo’s la finestra mobile ha creato un
progetti open-source e cosa consente
di fare è permette di avere
macchina indipendente dall’infrastruttura
gestione e cosa intendo con questo
che non importa realmente quale nuvola
il fornitore che stai usando può essere utilizzato
infrastruttura locale AWS Google cloud
piattaforma come la tua non è davvero
importa
infrakit ti permette di creare virtuale
le macchine gestiscono il loro ciclo di vita
macchine virtuali il sistema operativo così
e così via, la ragione per cui questa è una
buona idea è perché abbiamo uno strumento
uno strumento dichiarativo basato su quello giallo
ti permette di controllare tutti i tuoi
le macchine e la migrazione del cloud diventano
davvero facile e la gestione del cloud diventa
davvero facile perché è un indipendente
piattaforma su cui si può operare se
Rickett ha alcuni dettagli che penso
sono particolarmente interessanti da a
prospettiva di sicurezza e solo da a
prospettiva dell’usabilità il primo è
la Clara t’v si aggiorna quindi penso molto
di voi conoscete la chiarezza di
infrastruttura e il concetto dove tu
avere il codice s dell’infrastruttura definito a
file un file di configurazione che imposta cosa
l’infrastruttura dovrebbe essere e
una volta che ti impegni, succede qualcosa
e questo assicura che il tuo
l’infrastruttura è nello stato che tu
voglio che non l’abbia diverguto
in realtà non è cambiato è esattamente
quello che hai definito come configurazione
la loro infrastruttura rappresenta infrakit
fa questo per la macchina reale
gestione ed è abbastanza bello perché
la chiarezza degli aggiornamenti ti consente di
in realtà dico per esempio la versione di
il sistema operativo che stai utilizzando
attraverso le vostre macchine virtuali così con
infrakit potresti avere un file che dice
Voglio cinque istanze di questa macchina
quindi eseguendo questo sistema operativo Linux
se si desidera aggiornare il funzionamento
sistema l’unica cosa che devi fare è
cambi nel file la versione tu
vuoi cambiare il tuo impegno e poi
infrakit capirà che il
la versione è
corrispondenza che vuoi una nuova versione di
il sistema operativo Linux e lì
lo aggiornerà automaticamente per te
rolling implementa ciò che questo ti permette di fare
fai e cosa vorrei che tu avessi come
una metrica di sicurezza è un concetto chiamato
tempo inverso di cui ho parlato a
un po ‘ di recente, quindi cos’è
invertire il tempo nel motivo per cui dovrebbe interessarti
su di esso come una metrica di sicurezza bene
il contrario del tempo è il concetto in cui
invece di essere orgoglioso del
tempo di attività di un server oh ho un server
quello è stato per 12 anni non è quello
cool invece di seguire quella mentalità
di come 15 anni fa , ora
seguire è il contrario di quello che sei
eccitato quando il server più vecchio del tuo
l’infrastruttura è viva da una settimana
per un’ora è qualcosa da essere
orgoglioso di qualcosa c’è stata una vita
per 12 anni non tanto nella ragione
perché questo è importante rintracciare il
concetto di tempo di attività inverso come una metrica
perché si scopre che ci si insinua
macchine virtuali in OSS è uno dei
le maggiori cause del centro, quindi se lo sei
rinfrescando costantemente le tue macchine se
hai un limite massimo di una settimana
le mie macchine non possono essere più vecchie di una
settimana e tu hai qualcosa come
infrakit allora ti assicurerai che il tuo
il sistema operativo è costantemente in corso
sono state girate nuove macchine virtuali
creato per soddisfare questa dipendenza di a
settimana vecchia macchina virtuale e quella
rimuove le macchine deriva non può andare alla deriva se
vengono costantemente da un oro
immagine se sono costantemente in corso
creato da un nuovo ISO da un nuovo
AMI non possono allontanarsi l’un l’altro e
dal punto di vista della sicurezza che lo era
una gestione prospettica delle operazioni di uptime
e deriva ma da una sicurezza
prospettiva questo è sorprendente
come puoi backdoor un’immagine che
il concetto si rinnova che non puoi avere
persistenza nel caso in cui un hacker vi entri
avere persistenza sull’host perché il
l’immagine continua ad aggiornarsi con l’altra
il lato del tempo inverso è fantastico
rintracciando il tempo il più vecchio tempo del
macchina che è stata viva ma il
l’altra cosa che dobbiamo fare è noi
aggiornare costantemente il nostro oro
Immagine
quindi un’altra metrica che va di pari passo
il rovescio del tempo è immagine d’oro
freschezza in questa che vuoi sempre
avere l’immagine più fresca che vuoi sempre
per aggiornare la tua immagine d’oro tuo ami
il tuo ISO e facendo così avere questi
due metriche insieme sai che il tuo
l’infrastruttura è sempre aggiornata così
cose come il patching del kernel sono allora
automaticamente perché da quando lo sei
tracciamento del tempo di attività inverso nella creazione di nuovi
macchine da un’immagine dorata che è
patchato il prima possibile
quindi necessariamente hai un
infrastruttura come le ultime patch il
ultimo kernel e quindi è un altro
assicurati il modo in cui possiamo fare questo o
il motivo per cui possiamo farlo è perché
infrakit
ti consente di fare in modo che i deploy di Rolling pensino
hai familiarità con i dispiegamenti di wildung
all’interno di load balancer il contesto di
applicazioni e bilanciamento del carico uguali
concetto potrebbe effettivamente essere richiesto
macchine se stai eseguendo un
Orchestrator allora è davvero carino
facile da prendere il carico di lavoro da un host
il filmato dell’altro chiude il vecchio
ospitare e crearne uno nuovo e questo è
quello che ho dimenticato fa per te
questa dipendenza e ti permette di
avvertire effettivamente gli host che sono
sta per essere spento rimuove il
i carichi di lavoro di tali host vengono interrotti
quegli ospiti e ne crea uno nuovo
dall’immagine globale, quindi questo è
qualcosa che devi ovviamente
sostenere questo tipo di mentalità in giro
tracciare il tempo di attività inverso così è
infrakit ora parliamo del prossimo
parte del software open source che Linux ottiene
Il kit Linux non è un sistema operativo
Linux kit non è non boom boom – cosa
il kit per Linux fa in realtà è costruito
un sistema operativo per te così da pensare
come un costruttore di sistemi operativi e
analogia che possiamo effettivamente fare è il
allo stesso modo della finestra mobile come un’immagine mobile
il formato non è un’immagine è qualcosa
che ti permette di costruire un’immagine e te
avere un file di finestra mobile che dice al tuo
docker come costruire questa immagine proprio tu
puoi sempre ricostruirlo e avrai un
L’immagine per essere in grado di distribuire il kit di Linux è
la stessa cosa ma per i sistemi operativi
così come la chiarezza dell’infrastruttura come a
file mo dichiarativo dici esattamente cosa
vuoi dal tuo sistema operativo in
in questo caso dici che vuoi un kernel
con una certa versione
vuoi questo sistema init all’avvio
vuoi eseguire DHCP e vuoi eseguirlo
con queste bandiere e vuoi farlo
sicuro che tu stia confidando nel
organizzazione kit Linux per sicurezza in
questo caso significa che queste cose
devi diventare ed essere firmato da noi
docker e una volta che hai questo lo dici
Linux kit per costruirlo in Linux lo farà
darti un ISO e AMI che ti darà
qualcosa per te per correre così semplicemente
costruito un sistema operativo per te
col tempo perché è così bello lo stesso
modo che ti diciamo sempre di correre
contenitori minimi gestiscono contenitori che
sono il più piccolo possibile che hanno il
la minor quantità di materiale in essi minimizza
la superficie di attacco è davvero molto piccola
contenitori di dimensioni megabytes la stessa cosa
si applica ai sistemi operativi perché lo farebbe
hai centinaia di pacchetti di sistema perché
avresti centinaia di inutilizzati
binari perché dovresti avere quel tipo di
esposizione perché avresti gigabyte di
un sistema operativo in cui è necessario l’ 1% di
e così il kit di Linux segue il principio
di minimo privilegio e solo in questo caso
ti permette o mette solo dentro il
sistema operativo finale esattamente quello che tu
dillo a così se abbiamo costruito il precedente
sistema operativo con un file sam’l
sei sicuro che quel sistema operativo
avrà solo l’operatore sanitario e avrà il
sistema di rete su un kernel che è 4,9 punti X.
questa è l’unica cosa che avrà se
si desidera qualsiasi altra cosa in esso si deve
dichiaralo cosa significa che è
un sistema operativo davvero minimale che
è ovviamente un funzionamento molto sicuro
sistema in realtà fa un passo avanti
e ti consente di eseguire il tuo funzionamento
sistema in modo immutabile che cosa
significa che il sistema operativo lo farà
non essere scrivibile, sarà solo leggibile
quindi se c’è un attaccante che arriva
compromettere i tuoi ospiti in essere sul
sistema operativo non c’è e c’è
nulla che possa effettivamente alterare
non c’è persistenza no
cambiando i binari non c’è una porta di servizio
nel tuo numero SSH che non avevamo
SSH perché non avevamo quel binario
e il numero due che non può scrivere sul
sistema operativo attuale in modo che ulteriormente
aggiunge alla sicurezza non solo almeno
privilegiato almeno l’autorità in termini
solo delle cose di cui hai bisogno
non posso scriverci altre cose che noi
nel kit di Linux cerchiamo di incubare nuovi
progetti in crescita
sono davvero additivi da una sicurezza
prospettiva
cose come Len lock LS M che è un
Modulo di sicurezza Linux che ti permette di
EVP F e kernel ovviamente stiamo aggiungendo
perché guardia che è davvero sicura
alternativa a IPSec è una VPN
meccanismo di tunneling che è veramente piccolo
5.000 linee di codice e molto molto bene
implementato in modo sicuro
invece di IPSec con centinaia di
migliaia di righe di codice
stiamo anche percorrendo il sentiero di
riscrivere demoni di sistema come DHCP
linguaggi sicuri in-memory come Oh cammello
ciò significa che sono le cose
stai aggiungendo al tuo sistema operativo
non sono più scritti in C vulnerabili a
buffer overflow sono scritti in a
linguaggio di memoria sicuro che ulteriormente
riduce al minimo i vostri surfista di esposizione e di
la tua esposizione ad attacchi dal
al di fuori
quindi questo permea in tutta
Privilegio minimo per il leasing di Linux
Autorità un’ultima cosa che voglio
dire che Linux non è qualcosa è
Oh Tarek in te se lo hai, se l’hai usato
docker per Mac o finestra mobile per Windows
in realtà stai usando Linux nascosto a destra
ora perché il modo in cui costruiamo il
sistema operativo in esecuzione
del tuo Mac è con il kit di Linux , quindi è così
già distribuito in milioni di host
oggi quello era il kit per Linux ora lasciami fare
portarti a correre C C è un open
software sorgente che ti permette di avere
efficacemente un contenitore molto leggero
runtime lo abbiamo donato all’OCI così
è uno standard a questo punto e cosa
una volta che fa è il sub più semplice
componente di ciò che un contenitore in realtà
è un contenitore al centro è effettivamente un
combinazione di più meccanismi che
il kernel di Linux fornisce per isolare a
elaborare come namespace in gruppi C.
quindi eseguire C è un pezzo di software che
usa questi primitivi di base come
namespace e gruppi C in Linux a
crea una vista isolata del tuo processo
nel sistema nel caso di namespace
ottengono effettivamente gli spazi dei nomi
hai una visione isolata nella tua
contenitore del sistema
così pidz mountain namespace IPC net what
ciò significa che ti verrà assegnato un nome
su tutti questi diversi componenti il
un pozzo quando sei dentro a
contenitore non puoi vedere i processi
di chiunque altro puoi vedere solo il tuo
il tuo così tu sei efficacemente
namespace e per ogni altro
sottosistema nel kernel c’è a
spazio dei nomi corrispondente che ti consente
per eseguire in una vista isolata all’interno di
il tuo contenitore quindi il secondo più grande
componente di cui si prende cura
si configurano i gruppi di scene come gruppi
è il modo in cui limitiamo le risorse
che i tuoi contenitori hanno effettivamente
accesso a così ci sono gruppi c per CPU
per memoria per PID così avanti e così via
usando i gruppi c possiamo mitigarli
contenitore che consuma tutto il
processi nel tuo host o contenitore
consumando tutta la memoria o tutti
la CPU siamo effettivamente risorse
limitando ciò che il contenitore può fare
quindi queste due sottocomponenti c’è di più
ma questi due componenti secondari consentono
per eseguire contiene dalla memoria CPU pit
prospettiva e contenitore isolato
all’interno del tuo sistema operativo e questo è quello che una volta
in realtà UNC non è particolarmente
utile da solo è possibile eseguire i contenitori
manualmente ma ha bisogno di qualcosa per
sorvegliare i contenitori è il
l’ esecuzione di sigilli contenitori è un contenitore
ancora funzionante ha funzionato
uscire con un codice di errore non lo sappiamo
cosa sta succedendo posso farlo nuovamente, dovrei
eseguire nuovamente, quindi abbiamo bisogno di qualcosa per
supervisionare questi contenitori e questo è
perché abbiamo creato il contenitore D così container
D è stato donato al CN CF ed è ora
di nuovo non solo il codice open source e a
progetto ma è effettivamente donato a
fondamento quindi il codice non appartiene più
a docker appartiene al tutto
comunità di CN CF nello stesso modo in cui funziona
C ora appartiene alla comunità di OCI
e così contenitore D come ho menzionato noi
bisogno di un modo per sorvegliare questa corsa C
contenitori così abbiamo costruito questo Titano in
questo progetto open source da supervisionare
loro e c’è un sacco di cose che
ovviamente capisce se a
contenitore eseguito con successo
rieseguire la programmazione dei contenitori
un sacco di cose che lo fa anche
ti permette di tirare le immagini così l’immagine
raggruppamento di componenti in esecuzione all’interno di
una ricerca di corsa
di un’immagine è il lavoro del contenitore di
contenitore D ma da una sicurezza
prospettiva c’è una cosa che io
voglio sottolineare che è particolarmente
interessante quel contenitore D fa e
ciò influenza la sicurezza dell’intero
sistema si tratta di contenitori di contenitori quindi se
stai facendo il dottore e se lo hai
medico usato prima che tu sia definitivamente
familiarità con dr. Poole dr. Poole è il
in modo da far scendere un’immagine al tuo
host per eseguirlo effettivamente in dr.
Poole di solito assomiglia al dott.
Poole e gen-x l’ultima immagine arriva
e ora puoi eseguirlo all’interno di a
Esegui il contenitore del sedile così tanto bene
abbastanza facile ma docker
tirare e in particolare un metodo di tiro può
essere fatto con il nome ma potrebbe anche
essere fatto con un hash e così via
stai dicendo che voglio nginx e voglio
l’ ultima AG si potrebbe dire che voglio nginx
ma voglio questo specifico crittografico
hash del contenuto che è remoto
La ragione per cui è bello è che lo faremo
vedi un po ‘in un notaio che è
un’uscita ronimal ma il modo in cui questo
funziona se fornisci un hash a
scarica se dici piscina docker o
contenitore D tira un hash contenitore
invece di un nome cosa è in realtà
sta succedendo sotto il cofano stai usando
un sistema indirizzabile ai contenuti quindi tutto il
sotto componenti del contenitore
strati diversi
hanno hash che hanno tutti hash fino a uno
hash manifest principale quindi cosa è in realtà
succede quando dici per favore
scarica questo hash specifico di nginx il
l’unica cosa che puoi ottenere è sicura
versione di quel contenuto perché c’è
un hash crittografico che è in corso
convalidato su tutto il contenuto del tuo
contenitore quindi se dici nginx più tardi
non sei sicuro di quello che stai ricevendo ma
se stai dicendo nginx in uno specifico
hash sai che stai ricevendo
esattamente l’hash hanno chiesto il
motivo per cui questo è importante
diventa ovvio nel nostro prossimo set ronimal
notaio notarile è un software open source
che abbiamo appena donato a CN CF quindi ho solo
è stato approvato pochi giorni fa e così
ti consente di fare software affidabile
consegna è fiducia arbitraria il
consegna del software che non ha
necessariamente a che fare con i contenitori ma
il modo in cui funziona è correlato a
quegli hash che stavo descrivendo
in particolare se guardi indietro o
immaginabile non vogliamo correre tirare
l’hash casuale nginx di Dio sa quanti
personaggi che non ho memorizzato quello che ho
voglio dire che voglio tirare l’ultimo
versione di nginx o 1.1 della nostra genetica
un 1,5 di nginx così chiaramente ci deve essere
essere qualcosa che traduce questo umano
nome leggibile questa versione più recente in a
sicuro hash in un modo che possiamo fidarci
e quindi questo è il lavoro del notaio notarile
è un sistema generico che abbiamo implementato
nella finestra mobile ma è un sistema generico
questo fa un lavoro davvero bene
traduce i nomi per proteggere la crittografia
hash e lo fa usando il digitale
firme ha molto di interessante
problemi o molto interessante
caratteristiche che risolve molto
problemi per la consegna del software e
c’è un modello di attaccante e una minaccia
modello che abbiamo sulla pagina del notaio
e vi consiglio di andare a vedere, ma una
cosa specifica di cui voglio parlare
notaio è il fatto che ti permette di
non ho solo una firma digitale così
se avessi una chiave GPG, firmeresti a
pezzo di software con GPG e poi tu
sarebbe verificare l’autenticità del
software con una chiave gbg e c’è a
molti problemi con quel numero uno se
il software non è aggiornato
non è possibile revocare il particolare software
che l’hai firmato sarà sempre come
finché la chiave è valida quel pezzo di
il software sarebbe sempre valido con
notaio che non funziona in questo modo e se
hai solo una chiave GPG che hai solo tu
la possibilità di firmare con una chiave se
quella chiave è compromessa che non hai
un’opzione come come recuperare da esso e
cosa succede se hai o il bisogno di
più sistemi un team di sicurezza
approvazione e l’approvazione persona OPS cosa
quindi non risolviamo questo problema con
permettendo di avere la firma di soglia così
quello che puoi dire con il notaio non è solo
verificare che questo contenuto sia firmato ma
puoi dire per favore verifica questo
contenuto è stato firmato dal sistema CI da
il sistema di stadiazione da parte del team di sicurezza
dal sistema di distribuzione può aggiungere tanti
come vuoi e poi il sistema in esecuzione
il contenitore verrà eseguito solo se
è stato firmato da tutti
una sola di queste entità in questo
soglia in modo che è uno dei più grandi
caratteristiche e l’altro
caratteristica è nel caso GPG se
stai firmando un software con solo un puro
l’applicazione di GPG Becky è stata compromessa
sei effettivamente incasinato che devi
torna indietro e resetta tutto il poly
componenti chiave devi rifare il
tutto il sistema devi inviare un nuovo
chiave pubblica fino a tutti gli host
efficacemente vai e modifica ogni
host singolo con notaio che hai
qualcosa chiamato chiave salvabile
compromettere ciò che in realtà significa
che se la chiave viene compromessa è possibile
in realtà porti una chiave di root che tu
mantenere sempre offline online
ruota automaticamente e non lo fai
devi cambiare qualcosa sul finale
ospita ci sono alcuni tecnici
componenti sul motivo per cui questo è davvero
interessante ma dalla tua prospettiva
l’unica cosa che conta è che a
la chiave viene compromessa nella stadiazione CI
è importante portarlo come chiave online
ruotato e in pochi secondi hai finito il
la vecchia chiave non conta più un attaccante no
più ha qualcosa di valore e questo è
qualcosa che è davvero importante per
devi avere in ogni singolo sistema quello
hai che usa le chiavi crittografiche
la capacità di avere una chiave salvabile
compromesso e quindi questo ci porta a
finestra mobile perché la finestra mobile fa molto
cose ma la finestra mobile usa Runcie the
Esecuzione container supervisionata da
contenitore D la piattaforma di supervisione in
notaio per l’immagine sicura tira in
combinazione di tutto questo
in un paio di altre cose è ciò che docker
in realtà è che è un software
piattaforma container in aggiunta che io
voglio menzionare su run C e container
La finestra mobile D viene fornita con SC Linux ed epimer
i profili sono quindi già protetti da
profili di default che solo facendo
finestra mobile eseguita ereditate in modo efficace a
contenitore d contenitore o una corsa C
contenitore non sanno quali profili
si desidera eseguire la finestra mobile viene fornito con
profili d’opinione per garantire
efficacemente un buon equilibrio tra
usabilità e di sicurezza si tratta anche
con una whitelist di capacità
quindi c’è qualcosa in Linux che è
capacità che sta dividendo il
autorità che l’utente root ha e
sottotitoli più piccoli e quando si esegue a
contenitore docker hai meno della metà
delle capacità che hai
in rotta dal
e di nuovo c’è un buon compromesso
tra usabilità e sicurezza di
di default abbiamo anche un sistema di sistema
chiamato whitelist che ci permette di
attenuato emerso di esposizione del
kernel se per caso qualcuno
ha compromesso il contenitore e ci prova
attacca il kernel del sistema operativo da
Il container
stiamo mitigando parte di quella superficie di
attacco perché le chiamate di sistema sono in corso
autorizzata in chiamate di sistema pericolose
che abbiamo rimosso dalla whitelist
non può essere effettivamente chiamato così se c’è
un exploit o una vulnerabilità in quelli
in realtà non influisce sul tuo sistema
poi finalmente come ho menzionato il nodo
la reintegrazione viene di default solo per te
abilitarlo all’improvviso è possibile utilizzare
un modo molto semplice dr. pol docker push
con la raffinatezza del notaio e
la capacità di avere integrità e di
terminare la chiave rivale di più firme
compromesso così avanti e così via
e questo mi porta all’ultimo mo atrani
i talkers del debito hanno creato ciò che viene chiamato
kit di palude non ultimo in ordine ma ultimo
di cui parlerò parlerò
oggi
kit di palude è un privilegio minimo
contenitore Orchestrator cosa significa
è che abbiamo fatto molta attenzione nello sciame a
assicurarsi che ogni nodo che sta eseguendo
i tuoi contenitori hanno solo accesso a
risorse nel codice e al
contenitori di cui ha bisogno per il suo scopo
né più né meno e ho intenzione di andare oltre
alcuni dettagli sul perché questo è vero e
tutte le cose che dovevamo attraversare
per garantire che questo fosse vero e il
il primo ha a che fare con il nodo sicuro
introduzione contenitori da corsa in uno
l’host è fantastico ma se vuoi scalare
attraverso più nodi e tu sei
costante aggiunta e rimozione dei nodi
rimuovendo i nodi devi avere una sicurezza
modo di introdurre questi nuovi nodi in
il tuo cluster in un modo che conosci
fidati di quello che nessun attaccante può fare
o unisciti a un nodo o partecipa a una nota
cluster o man-in-the-middle l’articolazione
di un altro Custer o impersonare un nodo
nel tuo cluster quindi abbiamo creato a
meccanismo che utilizza il nodo sicuro
introduzione che in realtà è carina
è semplice basato su un token che tu
probabilmente ci sono familiari
cose che sono simili a fornire a
token per unire un nodo e quel token
assicura diverse cose numero uno
assicura che non c’è in sicurezza n così
il nodo si fida di
cluster e il cluster sa che questo
il nodo ha l’autorità di unirsi e
consente anche di emettere un certificato
per ogni singolo nodo e a
il certificato in realtà si rivolgerà a
essere l’identità che ogni nodo in a
cluster palude sta per utilizzare per
durata della durata di questo nodo in
il cluster quindi ogni singolo nodo di just
unirsi a uno sciame ottiene immediatamente un
certificato x.509 che come sapete è un
tipo normale di certificati che sono
usato nel tuo PKI ma lo facciamo per questo
sciami dentro
automaticamente un’autorità di certificazione
viene creato per te
i certificati iniziano a essere generati e
i certificati iniziano a essere ruotati
automaticamente e per le persone nel
pubblico che si preoccupa veramente di questi
cose questo è ciò che appare un certificato
come ha un paio di caratteristiche ma
uno che vorrei menzionare è il CN è
l’ ID della nota che è un caso a caso
ID generato che sta per vivere
per tutta la durata del tuo nodo
che puoi davvero fidarti invece di
avere un nome o un nome host in un dato di fatto
puoi fidarti che hai una crittografia
identità per ogni singolo nodo nel tuo
cluster e questo sta per diventare
davvero importante perché ora che noi
avere un’identità crittografica per ciascuno
nodo del nostro cluster possiamo fare qualcosa
davvero fantastico possiamo avere TLS reciproco
tra ogni singolo dei nostri nodi così
in questo cluster quando ti unisci al nodo
automaticamente tutte le comunicazioni
tra i nodi e i gestori il
i gestori sono i nodi più privilegiati
e gli operai sono effettivamente solo
i nodi che eseguiranno il nostro
contenitori
tutto ha TLS reciproco quindi i nodi
autorizzare i gestori e i gestori
autorizzo le note i nodi sanno cosa
manager specifico con cui stanno parlando e
i manager sanno quali nodi specifici
stanno parlando con questo è davvero
importante perché se stiamo usando TLS è
significa che abbiamo riservatezza
integrità e autenticità di ogni
comunicazione unica significa che
tutto ciò che inviamo a un lavoratore tale
come segreti è criptato in transito
ogni singolo segreto che inviamo
al nodo non c’è uomo nel mezzo
che può intercettare un segreto per noi e
quindi questo è in realtà qualcosa che è
non è vero per molti altri orchestratori
là fuori quando ne installate molti altri
orchestratori non hai TLS di
di default hai accesso aperto ai segreti
non c’è autenticità che tutti possano
accedere a tutto e quindi per noi il
meno privilegiati e la sicura
i principi predefiniti si sono uniti a
lascia che ti diamo una CA che arriva
default che ti dà queste proprietà
e ora che abbiamo effettivamente TLS reciproco
perché abbiamo alcune identità che sono
essere ruotato in modo automatico come
a partire da ogni ora che puoi
ruotare automaticamente i certificati ogni
ora se vuoi e abbiamo
certificati che sono le tue identità
che vengono ruotati automaticamente per
tu senza di te non fai nulla e così via
in cima a questo possiamo ora fare segreto sicuro
distribuzione così quando stai correndo in a
sciame abbiamo voluto un modo per ottenere
segreti come token o chiavi private
o certificati TLS per le tue app
in modo sicuro ai contenitori reali come fare
Facciamo che questi siano inviati sul
rete come sappiamo che stiamo arrivando
i contenitori giusti
bene stiamo costruendo sui primitivi
che siamo arrivati così lontano da quando siamo salvi
introdotto la nota a noi grappolo
sappi che non ci sono nodi canaglia nel
cluster da quando abbiamo emesso la crittografia
identità dei nodi per ogni nodo che conosciamo
esattamente quali nodi stavano inviando questo
informazioni ae dal momento che stiamo usando
TLS reciproco per tutte le comunicazioni noi
sappi che questi segreti stanno vivendo
consegnato in modo sicuro alle note finali
li useranno così è
davvero importante e ci permette di
in realtà basta far correre i segreti
i contenitori ruotano i segreti in modo sicuro
moda un’altra cosa che voglio
menzione è di default i segreti che
ti comporti con lo sciame che si immagazzina nel
manager e ottenere automaticamente
replicato ovviamente per piena tolleranza
ma vengono nuovamente crittografati a riposo
di default quindi non ci sono componenti del
sistema che non viene acceso e
puoi accordarlo ma le scelte che sono
fatto per te dal get-go sono i
quelli giusti quindi ora lascia che te lo dica
un po ‘ sulla rotazione trasparente
Ho parlato di questo concetto di
compromesso chiave sopravvissuto per notaio
che era il concetto dove se una chiave
viene compromesso, non devi farlo
tutto tranne che fare clic su un pulsante nella chiave
ruota per te questo è qualcosa che io
cura profondamente e che è davvero
importante in sicurezza perché il primo
cosa devi fare quando sei
compromesso è quello di ruotare tutte le chiavi
ma se hai un cluster
che non ti permette di ruotare tutto il
chiavi che cosa devi creare?
cluster da zero e quindi cosa c’è di caldo
ci siamo presi molta cura e ci siamo assicurati
che tutto nel cluster consente
per farti ruotare i segreti che puoi
ruotarli aggiungono un nuovo segreto e
automaticamente distribuito a tutti i
contenitori ma ora la domanda diventa
per quanto riguarda la chiave principale che dire di questo
CA l’autorità di certificazione che è
in realtà rilasciare i certificati al
nota cosa succede a quel certificato
autorizza cosa succede se un manager ottiene
compromesso perché se un lavoratore ottiene
compromessa sappiamo come rimuoverlo
dal cluster eliminiamo il
certificato e tutto è buono ma
se il manager viene compromesso il
manager ha accesso al certificato
autorità
il gestore consente effettivamente nuove note
per unire il sistema in questioni
identità per le note quindi ha il
materiale chiave della CA radice cosa facciamo
fai bene e questo è dove un sacco di
gli ingegneri della sicurezza non sono d’accordo e io
di solito non sono d’accordo e ho una specie di
opinione diversa
di solito ingegneri di sicurezza che stiamo disegnando
questo su un consiglio creiamo un manager noi
avere tutti questi lavoratori e quando loro
vieni a questo problema dicono oh se un
l’attaccante compromette il manager che siamo
avvitato
non c’è niente che possiamo fare , facciamolo
un nuovo cluster per me la risposta non è
scrollando le spalle , creiamo un nuovo cluster
la realtà è che la maggior parte del
volte non hai attaccanti
compromettere la maggior parte del cluster
di volte quello che è successo è stato qualcuno
ha pubblicato la chiave privata su github o
qualcuno l’ha sostenuto in un posto che è così
non dovrebbe avere e quindi è necessario il
capacità di rotazione effettiva da questo
situazione e così ora abbiamo il problema
di cui ci fidiamo di una radice, ma non lo facciamo
sapere come ruotarlo così è caldo noi
è andato un passo sopra ed è qualcosa
che non ho mai visto nessun orchestratore
Là fuori fai e ti permettiamo di farlo
effettivamente ruotare la radice della fiducia nel
il modo in cui lo facciamo in realtà risulta
per essere piuttosto semplice, hai fiducia in
l’autorità di certificazione blu se tu
vuoi ruotarlo, crei un nuovo rosso
autorità di certificazione, ma quello che fai è
crei un intermedio in modo da firmare
la nuova radice con la vecchia radice e così via
ora hai due radici nei manager
ma a questo punto tutte le note sono ancora
si fidano l’un l’altro e solo tutti i nodi
credi in blu, il prossimo passo è andare
attraverso tutti i nodi
in emissione un nuovo certificato per ogni
solo una di queste note ma la nuova
il certificato non verrà firmato da
blu il nuovo certificato sta per essere
firmato da una catena di rosso di rosso blu
e rosso, quindi ciò che significa è che tutto il
i nodi otterranno un nuovo certificato
che in realtà è emesso dal rosso ma
fidato di blu perché è reale
intermedio e quindi c’è a
catena da rosso a rosso a blu che ogni
il singolo nodo si fida del motivo per cui questo
è importante perché tu sei
ruotando questi i nodi devono fidarsi
l’un l’ altro quindi non importa se i nodi
ha un certificato di nota dal blu o a
il nodo ha già un nuovo certificato da
rosso devono comunicare con ciascuno
altro e quindi devono fidarsi
l’un l’altro quindi questo è il motivo per cui questo passo è
importante e così dopo lo facciamo prima
passare in realtà possiamo inventare che è allora
emessi dal rosso possiamo entrare e in realtà
porta via il blu e fidati solo del rosso e così via
ora siamo passati da noi non ci fidiamo di blu o
crediamo nell’azzurro perché non ci fidiamo più del blu
abbiamo completamente ruotato la rotta della fiducia
dell’autorità di certificazione va bene così ora
facciamo in realtà tutto insieme io
ti ha mostrato sette diversi Tetra Nomos
ognuno di essi ha una sicurezza diversa
proprietà che tutti potrebbero usare usate
indipendentemente, quindi usiamoli effettivamente
la prima combinazione che voglio fare è
notaio e portuale
cosa succede se porto il notaio e
finestra mobile se porto il notaio e la finestra mobile
quello che ho è un crittografo
notaio crittografato
è garantire l’autenticità del
docker del contenuto
è in esecuzione quindi non importa se
c’è una nuvola se stai ospitando il
contenuto o le immagini su un mirror HTTP
sei completamente non criptato
ignorando efficacemente la fiducia di ciò che è
nel mezzo il contenitore finale
l’esecutore è l’unico host docker finale
fidandosi della chiave non dell’intermedio
posto dove è memorizzato questo è fantastico
cosa succede se facciamo kit di sciami e uniamoci a
docker bene in questo caso questi
I deuteronomi insieme cosa sono
ti darò che stanno per dare
tu un autorizzato autenticato e
modo criptato di efficace
comunicare tra tutte le note va bene
questo è bello di per sé non particolarmente
utile ma possiamo continuare cosa fare se noi
aderire
il Tet ronimal infrakit con kit di sciami
quello che avrai è per nessuno
sistema che si desidera un modo sicuro di
facendo un’introduzione al nodo che descrivo
tu in termini generali come ha funzionato il
capacità di avere un gettone che protegge
l’emissione del certificato end to end no
deve essere usato con la finestra mobile che è possibile utilizzare
per le tue macchine per tutto
la tua infrastruttura e se mettessimo Linux
kit e usarlo come builder di base del sistema operativo
beh, ovviamente quello che otterremo è
configurazione dura che otterremo un
sistema operativo che è minimo arriva
con impostazioni predefinite sicure e viene
in realtà costruito da zero per essere
Minimo privilegiato e possiamo continuare
cerchiamo di collegare notaio e kit di palude diamo
vedere cosa succede realmente lì o
notaio in kit di Linux cosa stiamo andando
è ora quando stai costruendo un Linux
kit OS se stai usando notarile ora tu
avere build verificate crittograficamente
ogni componente del tuo sistema operativo
quello che viene tirato dentro è essere criptico
verificato graficamente con notaio che è
fantastico possiamo continuare ad andare giù
percorso bene proviamo a ottenere infrakit plus
notaio per rifornimento occidentale se noi ora
aggiungi infrakit plus notary più kit per Linux
cosa otteniamo otteniamo qualcosa che è
fantastico che è crittograficamente
stivali verificati quindi infrakit
gira su una macchina virtuale che usa
notaio per risolvere l’hash sicuro che
dovrebbe essere in esecuzione e quindi può essere utilizzato
kit di linux per fare Verity VM Verity di DM è un
funzionalità linux che ti permette di
assicurati che l’immagine sia in esecuzione sul
host remoto è l’immagine che tu
in realtà lo vogliono e quindi non c’è modo
per un attaccante di pasticciare con la tua scorta
catena e caricare un’immagine dannosa in
le tue macchine virtuali o nei tuoi host
perché la tua verifica crittografica
e così questo è qualcosa che noi
potrebbe fare in futuro ma è un figo
modo di combinare questi elementi costitutivi
in qualcosa di veramente bello ma possiamo
andare avanti cosa Se utilizzi questa Runcie
container D e docker beh ovviamente
ottenere un sicuro dal contenitore predefinito
esecuzione che è ciò che fornisce la finestra mobile
per impostazione predefinita quando lo si installa e
basta fare il docker eseguire ora erano nel
quelli complessi cosa succede se aggiungiamo eseguire C
contenitore D finestra mobile
lo sciame di un notaio li confonde tutti
insieme cosa è questo Geddes bene
ci porta al sicuro per contenitore predefinito
piattaforma
ti permette di avere l’esecuzione di
contenitori di distribuzione sicura di
Introduzione alla nota di sicurezza Secrets in
contenitori in esecuzione con Runcie
container d in modo privilegiato di leasing
e ora l’ovvia domanda finale è
cosa succede se mettiamo tutta questa roba
insieme tutte le talpe tirana e
proprio come metterli bene cosa fai
ottenere è sicuro dall’infrastruttura predefinita
si arriva in remoto alla stazione
verifica dalle immagini d’oro di avvio
in fase di creazione con il kit minimal di Linux
os sta eseguendo contenitori docker minimi
che hanno protetto le configurazioni di default
in un cluster che ha TLS reciproco e
distribuzione segreta sicura tutto con il
firme digitali di notaio e mantenere
rotazione della chiave trasparente in termini di
Conclusione oggi di cui ti parlo
infrakit il modo in cui si può fare la macchina
gestione in docker o per qualsiasi sistema
in realtà abbiamo parlato con voi circa la
capacità di avere Linux al minimo
immagine edificio sicuro abbiamo parlato un po ‘
riguardo alla corsa C abbiamo parlato un po ‘di
contenitore D e abbiamo parlato un po ‘
su Docker se stesso e poi finalmente siamo
parlato di notaio che è il modo
che fai la firma digitale
verifica e abbiamo parlato di sciami
kit che è il modo in cui lo fai
contenitore Orchestrator, quindi cosa succede
quando porti tutti questi pezzi insieme
ricevi la balena moby grazie molto
tanto
e solo così tu sai che mi ha preso
20 minuti della mia vita per fare questo
animazione quindi lo farò di nuovo e
ci sei andato tutti i pezzi sono venuti
insieme alla fine quindi ne abbiamo alcuni
domande che sono state inviate all’app
e voglio leggerli ad alta voce così questo
è la domanda
Degra ha fatto un ottimo lavoro nel fornire
meccanismi per la messa in sicurezza delle infrastrutture
quando vedremo Duggar fare lo stesso per
codice dell’applicazione eseguito all’interno di a
contenitore è una domanda eccellente I
direi che abbiamo già ragione
ora quindi se ci pensi quando sei
eseguire un’applicazione e la si inserisce
una finestra mobile è l’ unica cosa che sei
facendo è che stai fissandolo sei
aggiungendo più sicurezza sei di default
aggiungendo la capacità di mitigare l’accesso
per l’ host hai capacità che
sono caduti hai la sicurezza di Linux
profili con esposizioni minime a
il kernel e tu ovviamente lo hai
contiene una vista e in termini di risorse
hai un’app che ora è segregata
dal sistema operativo, quindi se non altro non lo fai
cambia tutto nel tuo sistema l’unico
la cosa che fai è avere la tua corrente
sistema ma poi hai messo la tua applicazione
all’interno del docker sei efficacemente
rendendoli più sicuri di default il
virtù di mettere in docker stesso questo
ha detto che stiamo facendo un passo sopra di noi
una cosa del genere si chiama finestra mobile
scansione di sicurezza che esegue la scansione delle immagini
immagini di finestra mobile per vulnerabilità e così via
se la tua applicazione ha una vulnerabilità
come heartbleed che verrà rilevato
quindi il fatto che sia in a
formato che tutti sanno che puoi usare
strumenti come il sistema operativo principale ha uno strumento chiamato
Clair abbiamo la scansione di sicurezza della finestra mobile
ma solo il fatto che la finestra mobile ha una propria
il formato di un’immagine sta già aiutando
la sicurezza della tua infrastruttura
perché tutti sanno come scansionarlo
tutti sanno come disfarlo
tutti sanno come guardare il
binario su un po ‘di
vulnerabilità e col passare del tempo
queste cose stanno solo migliorando
i meccanismi predefiniti di isolamento di
finestra mobile sono solo sempre meglio che
significa che la sicurezza del tuo
le applicazioni stanno migliorando solo se
hai una schifosa applicazione PHP che
ha l’esecuzione di codice remoto su di esso se
qualcuno ci entra in realtà puoi farlo
basta eseguire la finestra mobile docker container –
– sola lettura e ora nessuno può scrivere
il contenitore docker che ha l’attaccante
esecuzione di codice in modalità remota ma non è possibile
scarica i payload non è possibile compilare gli strumenti
non può attaccare il kernel che crea
movimento laterale
più difficile quindi il mio argomento è già fatto
aiuta la sicurezza delle tue applicazioni e lo è
solo andando a fare di più in futuro
va bene l’ ultima domanda è a
questionario qui dice relativamente
domanda di base
così più scuro e ufw mi ha morso esponendo
i dati per la rete pubblica bene ho combattuto ufw
accesso limitato assicurato qual è il tuo
raccomandazione sull’ascolto IP bianco
accedere alla finestra mobile ai contenitori docker quindi
pensa YP I peel bianco bianco bianco
l’elenco non è una funzionalità di sicurezza I
non pensare che dovresti usare IP da
ascoltando qualsiasi tipo di sicurezza
giusto modo di esporre le cose al
Internet se questo è il tuo obiettivo è quello di utilizzare
TLS quindi non è possibile configurare la finestra mobile
in realtà basta ascoltare su TLS e se tu
non devi ascoltare su internet
quindi basta ascoltare su localhost o usare il
docker socket docker predefinito non lo fa
ascoltare sulla rete di default così
chiudi i tuoi firewall per chiudere le porte
a meno che tu non sappia cosa stai facendo, no
esporre la finestra mobile al mondo grazie
ti ringrazio molto
[Applausi]
Mi chiamo Diogo Monica, sono la sicurezza
leader talker e oggi voglio parlare a
un po ‘ sul substrato sicuro
costruire il mobi wale quindi questo è gentile
di un titolo criptico, che spero sarà
molto chiaro in questa ultima diapositiva di questo
presentazione perché uso questa diapositiva attuale
e prima di entrare nel discorso stesso
voglio solo parlare un po ‘di me
Mi piacciono le motociclette e mi piace
rafting, ma come lavoro di un giorno
eseguire il team di sicurezza al docker show di
mani quante persone effettivamente usano
docker e il pubblico va bene spettacolo di
mani quante persone effettivamente usano
i computer del pubblico circa lo stesso
questo va bene prima che la finestra mobile sia effettivamente utilizzata
lavorare per un’azienda chiamata square
piazza è una società di infrastrutture che
fa i pagamenti e io ero lì per quattro
anni costruendo la crittografia e prima
Quadrato e non è mostrato nella diapositiva
perché è un po ‘imbarazzante
ma stavo facendo un dottorato e lei ha fatto il boot
sistemi perché volevo che mio padre amasse
io che ho fallito totalmente così bene dopo di me
ho sprecato troppi anni del mio dottorato di ricerca
ha iniziato a lavorare in sicurezza e ora
oggi voglio parlarvi di un certo
cose che abbiamo lavorato alla finestra mobile
in particolare voglio iniziare con questo
terminale questo terminale è abbastanza nel
primo posto
ma la seconda cosa che sta mostrando è
ti sta mostrando una distribuzione docker stack
che è un unico comando che si nutre di a
llamó file e distribuisce un set di micro
servizi cosa fa in realtà quando
fai una distribuzione docker per quelli di voi
che hanno familiarità con esso è crea
reti per te gestisce micro servizi
li collega tra loro insiemi fino
tutte le variabili ambientali vengono eseguite
questi contenitori poi all’improvviso da
eseguendo un comando hai un pieno
database di infrastrutture di lavoro tuo
in-memory salva la tua applicazione
i lavoratori non importa che cosa sei tu
può effettivamente avere un’infrastruttura completa
con un comando la ragione per cui sono
mostrarti questo è davvero facile
ma solo perché è facile no
significa che è semplice così oggi il mio discorso
riguarda ciò che è in realtà sotto il cofano
e per mostrare ciò che è in realtà
succede sotto il cofano quando lo fai
questo comando in particolare lo faremo
guarda tutti i pezzi che sono
necessario per la distribuzione dello stack di docker su
lavorare in modo sicuro e un’analogia che io
in realtà mi piace davvero usare è Tetris
spettacolo di mani quelli di voi che hanno
Ho giocato a Tetris bene con le stesse persone
che useresti la finestra mobile così è
il grande Tetris è un gioco molto semplice come
sai che l’obiettivo del gioco è avere
questi tetra Nomos che è in realtà
risulta essere il nome ufficiale per quelli
piccole cose per Tirana Mo ho pensato
era bello che i Tirana Mo dovessero essere
ammucchiati in un modo che creano pieno
linee e non lasciare eventuali lacune che di
lo scopo del gioco ogni volta che hanno a
la linea completa scompare e tu
continuare a giocare se si accumulano tutti
e sei pieno di buchi allora tu
perdere il motivo per cui sto usando Tetris come
un’analogia è perché si scopre che
Tetris è come la sicurezza delle infrastrutture
se lasci i buchi che hai
vulnerabilità quindi oggi voglio parlare
a proposito di tetra namas e in particolare io
voglio parlare dei sette Tetra Nomos
che sono legati alla sicurezza di quella finestra mobile
ha effettivamente creato ognuno di loro ha un
scopo diverso, ciascuno di essi ha un impatto
la sicurezza in qualche modo e ognuno di loro lo è
andando a contribuire alla finale
piattaforma nella pila docker finale
schierare lavorando sotto il cofano in a
moda sicura quindi ce ne sono diversi
diversi animali deterrenti ciascuno di questi
due tirana Mo è in realtà un aperto
software sorgente in modo da poter accedere a github
e vedere ognuno di questi come un
progetto indipendente abbiamo infrakit
che è un modo per gestire l’ infrastruttura
e un’infrastruttura indipendente
Kit di Linux che consente di creare OSS
abbiamo eseguito C che è un contenitore
runtime abbiamo il contenitore D che è a
supervisore del contenitore
abbiamo la finestra mobile che è a
notaio piattaforma di esecuzione del contenitore che
ti permette di fare la firma e, infine
sciame kit che è un contenitore
Orchestratore e quindi entrerò
ognuno di loro e parla con te
sulle proprietà di sicurezza che loro
hai e perché dovresti essere eccitato e
una delle cose che voglio menzionare
è che ognuno di questi
i pezzi dovrebbero essere in grado di
operare in modo indipendente è possibile utilizzarli
e comporli come più vi piace e
in tutta la presentazione sarò
vi mostrerà esattamente questo modo andiamo al
prima parliamo un po ‘di
implicito ciò che è infrakit infrakit è
in realtà uno dei più recenti a
Tirana Mo’s la finestra mobile ha creato un
progetti open-source e cosa consente
di fare è permette di avere
macchina indipendente dall’infrastruttura
gestione e cosa intendo con questo
che non importa realmente quale nuvola
il fornitore che stai usando può essere utilizzato
infrastruttura locale AWS Google cloud
piattaforma come la tua non è davvero
importa
infrakit ti permette di creare virtuale
le macchine gestiscono il loro ciclo di vita
macchine virtuali il sistema operativo così
e così via, la ragione per cui questa è una
buona idea è perché abbiamo uno strumento
uno strumento dichiarativo basato su quello giallo
ti permette di controllare tutti i tuoi
le macchine e la migrazione del cloud diventano
davvero facile e la gestione del cloud diventa
davvero facile perché è un indipendente
piattaforma su cui si può operare se
Rickett ha alcuni dettagli che penso
sono particolarmente interessanti da a
prospettiva di sicurezza e solo da a
prospettiva dell’usabilità il primo è
la Clara t’v si aggiorna quindi penso molto
di voi conoscete la chiarezza di
infrastruttura e il concetto dove tu
avere il codice s dell’infrastruttura definito a
file un file di configurazione che imposta cosa
l’infrastruttura dovrebbe essere e
una volta che ti impegni, succede qualcosa
e questo assicura che il tuo
l’infrastruttura è nello stato che tu
voglio che non l’abbia diverguto
in realtà non è cambiato è esattamente
quello che hai definito come configurazione
la loro infrastruttura rappresenta infrakit
fa questo per la macchina reale
gestione ed è abbastanza bello perché
la chiarezza degli aggiornamenti ti consente di
in realtà dico per esempio la versione di
il sistema operativo che stai utilizzando
attraverso le vostre macchine virtuali così con
infrakit potresti avere un file che dice
Voglio cinque istanze di questa macchina
quindi eseguendo questo sistema operativo Linux
se si desidera aggiornare il funzionamento
sistema l’unica cosa che devi fare è
cambi nel file la versione tu
vuoi cambiare il tuo impegno e poi
infrakit capirà che il
la versione è
corrispondenza che vuoi una nuova versione di
il sistema operativo Linux e lì
lo aggiornerà automaticamente per te
rolling implementa ciò che questo ti permette di fare
fai e cosa vorrei che tu avessi come
una metrica di sicurezza è un concetto chiamato
tempo inverso di cui ho parlato a
un po ‘ di recente, quindi cos’è
invertire il tempo nel motivo per cui dovrebbe interessarti
su di esso come una metrica di sicurezza bene
il contrario del tempo è il concetto in cui
invece di essere orgoglioso del
tempo di attività di un server oh ho un server
quello è stato per 12 anni non è quello
cool invece di seguire quella mentalità
di come 15 anni fa , ora
seguire è il contrario di quello che sei
eccitato quando il server più vecchio del tuo
l’infrastruttura è viva da una settimana
per un’ora è qualcosa da essere
orgoglioso di qualcosa c’è stata una vita
per 12 anni non tanto nella ragione
perché questo è importante rintracciare il
concetto di tempo di attività inverso come una metrica
perché si scopre che ci si insinua
macchine virtuali in OSS è uno dei
le maggiori cause del centro, quindi se lo sei
rinfrescando costantemente le tue macchine se
hai un limite massimo di una settimana
le mie macchine non possono essere più vecchie di una
settimana e tu hai qualcosa come
infrakit allora ti assicurerai che il tuo
il sistema operativo è costantemente in corso
sono state girate nuove macchine virtuali
creato per soddisfare questa dipendenza di a
settimana vecchia macchina virtuale e quella
rimuove le macchine deriva non può andare alla deriva se
vengono costantemente da un oro
immagine se sono costantemente in corso
creato da un nuovo ISO da un nuovo
AMI non possono allontanarsi l’un l’altro e
dal punto di vista della sicurezza che lo era
una gestione prospettica delle operazioni di uptime
e deriva ma da una sicurezza
prospettiva questo è sorprendente
come puoi backdoor un’immagine che
il concetto si rinnova che non puoi avere
persistenza nel caso in cui un hacker vi entri
avere persistenza sull’host perché il
l’immagine continua ad aggiornarsi con l’altra
il lato del tempo inverso è fantastico
rintracciando il tempo il più vecchio tempo del
macchina che è stata viva ma il
l’altra cosa che dobbiamo fare è noi
aggiornare costantemente il nostro oro
Immagine
quindi un’altra metrica che va di pari passo
il rovescio del tempo è immagine d’oro
freschezza in questa che vuoi sempre
avere l’immagine più fresca che vuoi sempre
per aggiornare la tua immagine d’oro tuo ami
il tuo ISO e facendo così avere questi
due metriche insieme sai che il tuo
l’infrastruttura è sempre aggiornata così
cose come il patching del kernel sono allora
automaticamente perché da quando lo sei
tracciamento del tempo di attività inverso nella creazione di nuovi
macchine da un’immagine dorata che è
patchato il prima possibile
quindi necessariamente hai un
infrastruttura come le ultime patch il
ultimo kernel e quindi è un altro
assicurati il modo in cui possiamo fare questo o
il motivo per cui possiamo farlo è perché
infrakit
ti consente di fare in modo che i deploy di Rolling pensino
hai familiarità con i dispiegamenti di wildung
all’interno di load balancer il contesto di
applicazioni e bilanciamento del carico uguali
concetto potrebbe effettivamente essere richiesto
macchine se stai eseguendo un
Orchestrator allora è davvero carino
facile da prendere il carico di lavoro da un host
il filmato dell’altro chiude il vecchio
ospitare e crearne uno nuovo e questo è
quello che ho dimenticato fa per te
questa dipendenza e ti permette di
avvertire effettivamente gli host che sono
sta per essere spento rimuove il
i carichi di lavoro di tali host vengono interrotti
quegli ospiti e ne crea uno nuovo
dall’immagine globale, quindi questo è
qualcosa che devi ovviamente
sostenere questo tipo di mentalità in giro
tracciare il tempo di attività inverso così è
infrakit ora parliamo del prossimo
parte del software open source che Linux ottiene
Il kit Linux non è un sistema operativo
Linux kit non è non boom boom – cosa
il kit per Linux fa in realtà è costruito
un sistema operativo per te così da pensare
come un costruttore di sistemi operativi e
analogia che possiamo effettivamente fare è il
allo stesso modo della finestra mobile come un’immagine mobile
il formato non è un’immagine è qualcosa
che ti permette di costruire un’immagine e te
avere un file di finestra mobile che dice al tuo
docker come costruire questa immagine proprio tu
puoi sempre ricostruirlo e avrai un
L’immagine per essere in grado di distribuire il kit di Linux è
la stessa cosa ma per i sistemi operativi
così come la chiarezza dell’infrastruttura come a
file mo dichiarativo dici esattamente cosa
vuoi dal tuo sistema operativo in
in questo caso dici che vuoi un kernel
con una certa versione
vuoi questo sistema init all’avvio
vuoi eseguire DHCP e vuoi eseguirlo
con queste bandiere e vuoi farlo
sicuro che tu stia confidando nel
organizzazione kit Linux per sicurezza in
questo caso significa che queste cose
devi diventare ed essere firmato da noi
docker e una volta che hai questo lo dici
Linux kit per costruirlo in Linux lo farà
darti un ISO e AMI che ti darà
qualcosa per te per correre così semplicemente
costruito un sistema operativo per te
col tempo perché è così bello lo stesso
modo che ti diciamo sempre di correre
contenitori minimi gestiscono contenitori che
sono il più piccolo possibile che hanno il
la minor quantità di materiale in essi minimizza
la superficie di attacco è davvero molto piccola
contenitori di dimensioni megabytes la stessa cosa
si applica ai sistemi operativi perché lo farebbe
hai centinaia di pacchetti di sistema perché
avresti centinaia di inutilizzati
binari perché dovresti avere quel tipo di
esposizione perché avresti gigabyte di
un sistema operativo in cui è necessario l’ 1% di
e così il kit di Linux segue il principio
di minimo privilegio e solo in questo caso
ti permette o mette solo dentro il
sistema operativo finale esattamente quello che tu
dillo a così se abbiamo costruito il precedente
sistema operativo con un file sam’l
sei sicuro che quel sistema operativo
avrà solo l’operatore sanitario e avrà il
sistema di rete su un kernel che è 4,9 punti X.
questa è l’unica cosa che avrà se
si desidera qualsiasi altra cosa in esso si deve
dichiaralo cosa significa che è
un sistema operativo davvero minimale che
è ovviamente un funzionamento molto sicuro
sistema in realtà fa un passo avanti
e ti consente di eseguire il tuo funzionamento
sistema in modo immutabile che cosa
significa che il sistema operativo lo farà
non essere scrivibile, sarà solo leggibile
quindi se c’è un attaccante che arriva
compromettere i tuoi ospiti in essere sul
sistema operativo non c’è e c’è
nulla che possa effettivamente alterare
non c’è persistenza no
cambiando i binari non c’è una porta di servizio
nel tuo numero SSH che non avevamo
SSH perché non avevamo quel binario
e il numero due che non può scrivere sul
sistema operativo attuale in modo che ulteriormente
aggiunge alla sicurezza non solo almeno
privilegiato almeno l’autorità in termini
solo delle cose di cui hai bisogno
non posso scriverci altre cose che noi
nel kit di Linux cerchiamo di incubare nuovi
progetti in crescita
sono davvero additivi da una sicurezza
prospettiva
cose come Len lock LS M che è un
Modulo di sicurezza Linux che ti permette di
EVP F e kernel ovviamente stiamo aggiungendo
perché guardia che è davvero sicura
alternativa a IPSec è una VPN
meccanismo di tunneling che è veramente piccolo
5.000 linee di codice e molto molto bene
implementato in modo sicuro
invece di IPSec con centinaia di
migliaia di righe di codice
stiamo anche percorrendo il sentiero di
riscrivere demoni di sistema come DHCP
linguaggi sicuri in-memory come Oh cammello
ciò significa che sono le cose
stai aggiungendo al tuo sistema operativo
non sono più scritti in C vulnerabili a
buffer overflow sono scritti in a
linguaggio di memoria sicuro che ulteriormente
riduce al minimo i vostri surfista di esposizione e di
la tua esposizione ad attacchi dal
al di fuori
quindi questo permea in tutta
Privilegio minimo per il leasing di Linux
Autorità un’ultima cosa che voglio
dire che Linux non è qualcosa è
Oh Tarek in te se lo hai, se l’hai usato
docker per Mac o finestra mobile per Windows
in realtà stai usando Linux nascosto a destra
ora perché il modo in cui costruiamo il
sistema operativo in esecuzione
del tuo Mac è con il kit di Linux , quindi è così
già distribuito in milioni di host
oggi quello era il kit per Linux ora lasciami fare
portarti a correre C C è un open
software sorgente che ti permette di avere
efficacemente un contenitore molto leggero
runtime lo abbiamo donato all’OCI così
è uno standard a questo punto e cosa
una volta che fa è il sub più semplice
componente di ciò che un contenitore in realtà
è un contenitore al centro è effettivamente un
combinazione di più meccanismi che
il kernel di Linux fornisce per isolare a
elaborare come namespace in gruppi C.
quindi eseguire C è un pezzo di software che
usa questi primitivi di base come
namespace e gruppi C in Linux a
crea una vista isolata del tuo processo
nel sistema nel caso di namespace
ottengono effettivamente gli spazi dei nomi
hai una visione isolata nella tua
contenitore del sistema
così pidz mountain namespace IPC net what
ciò significa che ti verrà assegnato un nome
su tutti questi diversi componenti il
un pozzo quando sei dentro a
contenitore non puoi vedere i processi
di chiunque altro puoi vedere solo il tuo
il tuo così tu sei efficacemente
namespace e per ogni altro
sottosistema nel kernel c’è a
spazio dei nomi corrispondente che ti consente
per eseguire in una vista isolata all’interno di
il tuo contenitore quindi il secondo più grande
componente di cui si prende cura
si configurano i gruppi di scene come gruppi
è il modo in cui limitiamo le risorse
che i tuoi contenitori hanno effettivamente
accesso a così ci sono gruppi c per CPU
per memoria per PID così avanti e così via
usando i gruppi c possiamo mitigarli
contenitore che consuma tutto il
processi nel tuo host o contenitore
consumando tutta la memoria o tutti
la CPU siamo effettivamente risorse
limitando ciò che il contenitore può fare
quindi queste due sottocomponenti c’è di più
ma questi due componenti secondari consentono
per eseguire contiene dalla memoria CPU pit
prospettiva e contenitore isolato
all’interno del tuo sistema operativo e questo è quello che una volta
in realtà UNC non è particolarmente
utile da solo è possibile eseguire i contenitori
manualmente ma ha bisogno di qualcosa per
sorvegliare i contenitori è il
l’ esecuzione di sigilli contenitori è un contenitore
ancora funzionante ha funzionato
uscire con un codice di errore non lo sappiamo
cosa sta succedendo posso farlo nuovamente, dovrei
eseguire nuovamente, quindi abbiamo bisogno di qualcosa per
supervisionare questi contenitori e questo è
perché abbiamo creato il contenitore D così container
D è stato donato al CN CF ed è ora
di nuovo non solo il codice open source e a
progetto ma è effettivamente donato a
fondamento quindi il codice non appartiene più
a docker appartiene al tutto
comunità di CN CF nello stesso modo in cui funziona
C ora appartiene alla comunità di OCI
e così contenitore D come ho menzionato noi
bisogno di un modo per sorvegliare questa corsa C
contenitori così abbiamo costruito questo Titano in
questo progetto open source da supervisionare
loro e c’è un sacco di cose che
ovviamente capisce se a
contenitore eseguito con successo
rieseguire la programmazione dei contenitori
un sacco di cose che lo fa anche
ti permette di tirare le immagini così l’immagine
raggruppamento di componenti in esecuzione all’interno di
una ricerca di corsa
di un’immagine è il lavoro del contenitore di
contenitore D ma da una sicurezza
prospettiva c’è una cosa che io
voglio sottolineare che è particolarmente
interessante quel contenitore D fa e
ciò influenza la sicurezza dell’intero
sistema si tratta di contenitori di contenitori quindi se
stai facendo il dottore e se lo hai
medico usato prima che tu sia definitivamente
familiarità con dr. Poole dr. Poole è il
in modo da far scendere un’immagine al tuo
host per eseguirlo effettivamente in dr.
Poole di solito assomiglia al dott.
Poole e gen-x l’ultima immagine arriva
e ora puoi eseguirlo all’interno di a
Esegui il contenitore del sedile così tanto bene
abbastanza facile ma docker
tirare e in particolare un metodo di tiro può
essere fatto con il nome ma potrebbe anche
essere fatto con un hash e così via
stai dicendo che voglio nginx e voglio
l’ ultima AG si potrebbe dire che voglio nginx
ma voglio questo specifico crittografico
hash del contenuto che è remoto
La ragione per cui è bello è che lo faremo
vedi un po ‘in un notaio che è
un’uscita ronimal ma il modo in cui questo
funziona se fornisci un hash a
scarica se dici piscina docker o
contenitore D tira un hash contenitore
invece di un nome cosa è in realtà
sta succedendo sotto il cofano stai usando
un sistema indirizzabile ai contenuti quindi tutto il
sotto componenti del contenitore
strati diversi
hanno hash che hanno tutti hash fino a uno
hash manifest principale quindi cosa è in realtà
succede quando dici per favore
scarica questo hash specifico di nginx il
l’unica cosa che puoi ottenere è sicura
versione di quel contenuto perché c’è
un hash crittografico che è in corso
convalidato su tutto il contenuto del tuo
contenitore quindi se dici nginx più tardi
non sei sicuro di quello che stai ricevendo ma
se stai dicendo nginx in uno specifico
hash sai che stai ricevendo
esattamente l’hash hanno chiesto il
motivo per cui questo è importante
diventa ovvio nel nostro prossimo set ronimal
notaio notarile è un software open source
che abbiamo appena donato a CN CF quindi ho solo
è stato approvato pochi giorni fa e così
ti consente di fare software affidabile
consegna è fiducia arbitraria il
consegna del software che non ha
necessariamente a che fare con i contenitori ma
il modo in cui funziona è correlato a
quegli hash che stavo descrivendo
in particolare se guardi indietro o
immaginabile non vogliamo correre tirare
l’hash casuale nginx di Dio sa quanti
personaggi che non ho memorizzato quello che ho
voglio dire che voglio tirare l’ultimo
versione di nginx o 1.1 della nostra genetica
un 1,5 di nginx così chiaramente ci deve essere
essere qualcosa che traduce questo umano
nome leggibile questa versione più recente in a
sicuro hash in un modo che possiamo fidarci
e quindi questo è il lavoro del notaio notarile
è un sistema generico che abbiamo implementato
nella finestra mobile ma è un sistema generico
questo fa un lavoro davvero bene
traduce i nomi per proteggere la crittografia
hash e lo fa usando il digitale
firme ha molto di interessante
problemi o molto interessante
caratteristiche che risolve molto
problemi per la consegna del software e
c’è un modello di attaccante e una minaccia
modello che abbiamo sulla pagina del notaio
e vi consiglio di andare a vedere, ma una
cosa specifica di cui voglio parlare
notaio è il fatto che ti permette di
non ho solo una firma digitale così
se avessi una chiave GPG, firmeresti a
pezzo di software con GPG e poi tu
sarebbe verificare l’autenticità del
software con una chiave gbg e c’è a
molti problemi con quel numero uno se
il software non è aggiornato
non è possibile revocare il particolare software
che l’hai firmato sarà sempre come
finché la chiave è valida quel pezzo di
il software sarebbe sempre valido con
notaio che non funziona in questo modo e se
hai solo una chiave GPG che hai solo tu
la possibilità di firmare con una chiave se
quella chiave è compromessa che non hai
un’opzione come come recuperare da esso e
cosa succede se hai o il bisogno di
più sistemi un team di sicurezza
approvazione e l’approvazione persona OPS cosa
quindi non risolviamo questo problema con
permettendo di avere la firma di soglia così
quello che puoi dire con il notaio non è solo
verificare che questo contenuto sia firmato ma
puoi dire per favore verifica questo
contenuto è stato firmato dal sistema CI da
il sistema di stadiazione da parte del team di sicurezza
dal sistema di distribuzione può aggiungere tanti
come vuoi e poi il sistema in esecuzione
il contenitore verrà eseguito solo se
è stato firmato da tutti
una sola di queste entità in questo
soglia in modo che è uno dei più grandi
caratteristiche e l’altro
caratteristica è nel caso GPG se
stai firmando un software con solo un puro
l’applicazione di GPG Becky è stata compromessa
sei effettivamente incasinato che devi
torna indietro e resetta tutto il poly
componenti chiave devi rifare il
tutto il sistema devi inviare un nuovo
chiave pubblica fino a tutti gli host
efficacemente vai e modifica ogni
host singolo con notaio che hai
qualcosa chiamato chiave salvabile
compromettere ciò che in realtà significa
che se la chiave viene compromessa è possibile
in realtà porti una chiave di root che tu
mantenere sempre offline online
ruota automaticamente e non lo fai
devi cambiare qualcosa sul finale
ospita ci sono alcuni tecnici
componenti sul motivo per cui questo è davvero
interessante ma dalla tua prospettiva
l’unica cosa che conta è che a
la chiave viene compromessa nella stadiazione CI
è importante portarlo come chiave online
ruotato e in pochi secondi hai finito il
la vecchia chiave non conta più un attaccante no
più ha qualcosa di valore e questo è
qualcosa che è davvero importante per
devi avere in ogni singolo sistema quello
hai che usa le chiavi crittografiche
la capacità di avere una chiave salvabile
compromesso e quindi questo ci porta a
finestra mobile perché la finestra mobile fa molto
cose ma la finestra mobile usa Runcie the
Esecuzione container supervisionata da
contenitore D la piattaforma di supervisione in
notaio per l’immagine sicura tira in
combinazione di tutto questo
in un paio di altre cose è ciò che docker
in realtà è che è un software
piattaforma container in aggiunta che io
voglio menzionare su run C e container
La finestra mobile D viene fornita con SC Linux ed epimer
i profili sono quindi già protetti da
profili di default che solo facendo
finestra mobile eseguita ereditate in modo efficace a
contenitore d contenitore o una corsa C
contenitore non sanno quali profili
si desidera eseguire la finestra mobile viene fornito con
profili d’opinione per garantire
efficacemente un buon equilibrio tra
usabilità e di sicurezza si tratta anche
con una whitelist di capacità
quindi c’è qualcosa in Linux che è
capacità che sta dividendo il
autorità che l’utente root ha e
sottotitoli più piccoli e quando si esegue a
contenitore docker hai meno della metà
delle capacità che hai
in rotta dal
e di nuovo c’è un buon compromesso
tra usabilità e sicurezza di
di default abbiamo anche un sistema di sistema
chiamato whitelist che ci permette di
attenuato emerso di esposizione del
kernel se per caso qualcuno
ha compromesso il contenitore e ci prova
attacca il kernel del sistema operativo da
Il container
stiamo mitigando parte di quella superficie di
attacco perché le chiamate di sistema sono in corso
autorizzata in chiamate di sistema pericolose
che abbiamo rimosso dalla whitelist
non può essere effettivamente chiamato così se c’è
un exploit o una vulnerabilità in quelli
in realtà non influisce sul tuo sistema
poi finalmente come ho menzionato il nodo
la reintegrazione viene di default solo per te
abilitarlo all’improvviso è possibile utilizzare
un modo molto semplice dr. pol docker push
con la raffinatezza del notaio e
la capacità di avere integrità e di
terminare la chiave rivale di più firme
compromesso così avanti e così via
e questo mi porta all’ultimo mo atrani
i talkers del debito hanno creato ciò che viene chiamato
kit di palude non ultimo in ordine ma ultimo
di cui parlerò parlerò
oggi
kit di palude è un privilegio minimo
contenitore Orchestrator cosa significa
è che abbiamo fatto molta attenzione nello sciame a
assicurarsi che ogni nodo che sta eseguendo
i tuoi contenitori hanno solo accesso a
risorse nel codice e al
contenitori di cui ha bisogno per il suo scopo
né più né meno e ho intenzione di andare oltre
alcuni dettagli sul perché questo è vero e
tutte le cose che dovevamo attraversare
per garantire che questo fosse vero e il
il primo ha a che fare con il nodo sicuro
introduzione contenitori da corsa in uno
l’host è fantastico ma se vuoi scalare
attraverso più nodi e tu sei
costante aggiunta e rimozione dei nodi
rimuovendo i nodi devi avere una sicurezza
modo di introdurre questi nuovi nodi in
il tuo cluster in un modo che conosci
fidati di quello che nessun attaccante può fare
o unisciti a un nodo o partecipa a una nota
cluster o man-in-the-middle l’articolazione
di un altro Custer o impersonare un nodo
nel tuo cluster quindi abbiamo creato a
meccanismo che utilizza il nodo sicuro
introduzione che in realtà è carina
è semplice basato su un token che tu
probabilmente ci sono familiari
cose che sono simili a fornire a
token per unire un nodo e quel token
assicura diverse cose numero uno
assicura che non c’è in sicurezza n così
il nodo si fida di
cluster e il cluster sa che questo
il nodo ha l’autorità di unirsi e
consente anche di emettere un certificato
per ogni singolo nodo e a
il certificato in realtà si rivolgerà a
essere l’identità che ogni nodo in a
cluster palude sta per utilizzare per
durata della durata di questo nodo in
il cluster quindi ogni singolo nodo di just
unirsi a uno sciame ottiene immediatamente un
certificato x.509 che come sapete è un
tipo normale di certificati che sono
usato nel tuo PKI ma lo facciamo per questo
sciami dentro
automaticamente un’autorità di certificazione
viene creato per te
i certificati iniziano a essere generati e
i certificati iniziano a essere ruotati
automaticamente e per le persone nel
pubblico che si preoccupa veramente di questi
cose questo è ciò che appare un certificato
come ha un paio di caratteristiche ma
uno che vorrei menzionare è il CN è
l’ ID della nota che è un caso a caso
ID generato che sta per vivere
per tutta la durata del tuo nodo
che puoi davvero fidarti invece di
avere un nome o un nome host in un dato di fatto
puoi fidarti che hai una crittografia
identità per ogni singolo nodo nel tuo
cluster e questo sta per diventare
davvero importante perché ora che noi
avere un’identità crittografica per ciascuno
nodo del nostro cluster possiamo fare qualcosa
davvero fantastico possiamo avere TLS reciproco
tra ogni singolo dei nostri nodi così
in questo cluster quando ti unisci al nodo
automaticamente tutte le comunicazioni
tra i nodi e i gestori il
i gestori sono i nodi più privilegiati
e gli operai sono effettivamente solo
i nodi che eseguiranno il nostro
contenitori
tutto ha TLS reciproco quindi i nodi
autorizzare i gestori e i gestori
autorizzo le note i nodi sanno cosa
manager specifico con cui stanno parlando e
i manager sanno quali nodi specifici
stanno parlando con questo è davvero
importante perché se stiamo usando TLS è
significa che abbiamo riservatezza
integrità e autenticità di ogni
comunicazione unica significa che
tutto ciò che inviamo a un lavoratore tale
come segreti è criptato in transito
ogni singolo segreto che inviamo
al nodo non c’è uomo nel mezzo
che può intercettare un segreto per noi e
quindi questo è in realtà qualcosa che è
non è vero per molti altri orchestratori
là fuori quando ne installate molti altri
orchestratori non hai TLS di
di default hai accesso aperto ai segreti
non c’è autenticità che tutti possano
accedere a tutto e quindi per noi il
meno privilegiati e la sicura
i principi predefiniti si sono uniti a
lascia che ti diamo una CA che arriva
default che ti dà queste proprietà
e ora che abbiamo effettivamente TLS reciproco
perché abbiamo alcune identità che sono
essere ruotato in modo automatico come
a partire da ogni ora che puoi
ruotare automaticamente i certificati ogni
ora se vuoi e abbiamo
certificati che sono le tue identità
che vengono ruotati automaticamente per
tu senza di te non fai nulla e così via
in cima a questo possiamo ora fare segreto sicuro
distribuzione così quando stai correndo in a
sciame abbiamo voluto un modo per ottenere
segreti come token o chiavi private
o certificati TLS per le tue app
in modo sicuro ai contenitori reali come fare
Facciamo che questi siano inviati sul
rete come sappiamo che stiamo arrivando
i contenitori giusti
bene stiamo costruendo sui primitivi
che siamo arrivati così lontano da quando siamo salvi
introdotto la nota a noi grappolo
sappi che non ci sono nodi canaglia nel
cluster da quando abbiamo emesso la crittografia
identità dei nodi per ogni nodo che conosciamo
esattamente quali nodi stavano inviando questo
informazioni ae dal momento che stiamo usando
TLS reciproco per tutte le comunicazioni noi
sappi che questi segreti stanno vivendo
consegnato in modo sicuro alle note finali
li useranno così è
davvero importante e ci permette di
in realtà basta far correre i segreti
i contenitori ruotano i segreti in modo sicuro
moda un’altra cosa che voglio
menzione è di default i segreti che
ti comporti con lo sciame che si immagazzina nel
manager e ottenere automaticamente
replicato ovviamente per piena tolleranza
ma vengono nuovamente crittografati a riposo
di default quindi non ci sono componenti del
sistema che non viene acceso e
puoi accordarlo ma le scelte che sono
fatto per te dal get-go sono i
quelli giusti quindi ora lascia che te lo dica
un po ‘ sulla rotazione trasparente
Ho parlato di questo concetto di
compromesso chiave sopravvissuto per notaio
che era il concetto dove se una chiave
viene compromesso, non devi farlo
tutto tranne che fare clic su un pulsante nella chiave
ruota per te questo è qualcosa che io
cura profondamente e che è davvero
importante in sicurezza perché il primo
cosa devi fare quando sei
compromesso è quello di ruotare tutte le chiavi
ma se hai un cluster
che non ti permette di ruotare tutto il
chiavi che cosa devi creare?
cluster da zero e quindi cosa c’è di caldo
ci siamo presi molta cura e ci siamo assicurati
che tutto nel cluster consente
per farti ruotare i segreti che puoi
ruotarli aggiungono un nuovo segreto e
automaticamente distribuito a tutti i
contenitori ma ora la domanda diventa
per quanto riguarda la chiave principale che dire di questo
CA l’autorità di certificazione che è
in realtà rilasciare i certificati al
nota cosa succede a quel certificato
autorizza cosa succede se un manager ottiene
compromesso perché se un lavoratore ottiene
compromessa sappiamo come rimuoverlo
dal cluster eliminiamo il
certificato e tutto è buono ma
se il manager viene compromesso il
manager ha accesso al certificato
autorità
il gestore consente effettivamente nuove note
per unire il sistema in questioni
identità per le note quindi ha il
materiale chiave della CA radice cosa facciamo
fai bene e questo è dove un sacco di
gli ingegneri della sicurezza non sono d’accordo e io
di solito non sono d’accordo e ho una specie di
opinione diversa
di solito ingegneri di sicurezza che stiamo disegnando
questo su un consiglio creiamo un manager noi
avere tutti questi lavoratori e quando loro
vieni a questo problema dicono oh se un
l’attaccante compromette il manager che siamo
avvitato
non c’è niente che possiamo fare , facciamolo
un nuovo cluster per me la risposta non è
scrollando le spalle , creiamo un nuovo cluster
la realtà è che la maggior parte del
volte non hai attaccanti
compromettere la maggior parte del cluster
di volte quello che è successo è stato qualcuno
ha pubblicato la chiave privata su github o
qualcuno l’ha sostenuto in un posto che è così
non dovrebbe avere e quindi è necessario il
capacità di rotazione effettiva da questo
situazione e così ora abbiamo il problema
di cui ci fidiamo di una radice, ma non lo facciamo
sapere come ruotarlo così è caldo noi
è andato un passo sopra ed è qualcosa
che non ho mai visto nessun orchestratore
Là fuori fai e ti permettiamo di farlo
effettivamente ruotare la radice della fiducia nel
il modo in cui lo facciamo in realtà risulta
per essere piuttosto semplice, hai fiducia in
l’autorità di certificazione blu se tu
vuoi ruotarlo, crei un nuovo rosso
autorità di certificazione, ma quello che fai è
crei un intermedio in modo da firmare
la nuova radice con la vecchia radice e così via
ora hai due radici nei manager
ma a questo punto tutte le note sono ancora
si fidano l’un l’altro e solo tutti i nodi
credi in blu, il prossimo passo è andare
attraverso tutti i nodi
in emissione un nuovo certificato per ogni
solo una di queste note ma la nuova
il certificato non verrà firmato da
blu il nuovo certificato sta per essere
firmato da una catena di rosso di rosso blu
e rosso, quindi ciò che significa è che tutto il
i nodi otterranno un nuovo certificato
che in realtà è emesso dal rosso ma
fidato di blu perché è reale
intermedio e quindi c’è a
catena da rosso a rosso a blu che ogni
il singolo nodo si fida del motivo per cui questo
è importante perché tu sei
ruotando questi i nodi devono fidarsi
l’un l’ altro quindi non importa se i nodi
ha un certificato di nota dal blu o a
il nodo ha già un nuovo certificato da
rosso devono comunicare con ciascuno
altro e quindi devono fidarsi
l’un l’altro quindi questo è il motivo per cui questo passo è
importante e così dopo lo facciamo prima
passare in realtà possiamo inventare che è allora
emessi dal rosso possiamo entrare e in realtà
porta via il blu e fidati solo del rosso e così via
ora siamo passati da noi non ci fidiamo di blu o
crediamo nell’azzurro perché non ci fidiamo più del blu
abbiamo completamente ruotato la rotta della fiducia
dell’autorità di certificazione va bene così ora
facciamo in realtà tutto insieme io
ti ha mostrato sette diversi Tetra Nomos
ognuno di essi ha una sicurezza diversa
proprietà che tutti potrebbero usare usate
indipendentemente, quindi usiamoli effettivamente
la prima combinazione che voglio fare è
notaio e portuale
cosa succede se porto il notaio e
finestra mobile se porto il notaio e la finestra mobile
quello che ho è un crittografo
notaio crittografato
è garantire l’autenticità del
docker del contenuto
è in esecuzione quindi non importa se
c’è una nuvola se stai ospitando il
contenuto o le immagini su un mirror HTTP
sei completamente non criptato
ignorando efficacemente la fiducia di ciò che è
nel mezzo il contenitore finale
l’esecutore è l’unico host docker finale
fidandosi della chiave non dell’intermedio
posto dove è memorizzato questo è fantastico
cosa succede se facciamo kit di sciami e uniamoci a
docker bene in questo caso questi
I deuteronomi insieme cosa sono
ti darò che stanno per dare
tu un autorizzato autenticato e
modo criptato di efficace
comunicare tra tutte le note va bene
questo è bello di per sé non particolarmente
utile ma possiamo continuare cosa fare se noi
aderire
il Tet ronimal infrakit con kit di sciami
quello che avrai è per nessuno
sistema che si desidera un modo sicuro di
facendo un’introduzione al nodo che descrivo
tu in termini generali come ha funzionato il
capacità di avere un gettone che protegge
l’emissione del certificato end to end no
deve essere usato con la finestra mobile che è possibile utilizzare
per le tue macchine per tutto
la tua infrastruttura e se mettessimo Linux
kit e usarlo come builder di base del sistema operativo
beh, ovviamente quello che otterremo è
configurazione dura che otterremo un
sistema operativo che è minimo arriva
con impostazioni predefinite sicure e viene
in realtà costruito da zero per essere
Minimo privilegiato e possiamo continuare
cerchiamo di collegare notaio e kit di palude diamo
vedere cosa succede realmente lì o
notaio in kit di Linux cosa stiamo andando
è ora quando stai costruendo un Linux
kit OS se stai usando notarile ora tu
avere build verificate crittograficamente
ogni componente del tuo sistema operativo
quello che viene tirato dentro è essere criptico
verificato graficamente con notaio che è
fantastico possiamo continuare ad andare giù
percorso bene proviamo a ottenere infrakit plus
notaio per rifornimento occidentale se noi ora
aggiungi infrakit plus notary più kit per Linux
cosa otteniamo otteniamo qualcosa che è
fantastico che è crittograficamente
stivali verificati quindi infrakit
gira su una macchina virtuale che usa
notaio per risolvere l’hash sicuro che
dovrebbe essere in esecuzione e quindi può essere utilizzato
kit di linux per fare Verity VM Verity di DM è un
funzionalità linux che ti permette di
assicurati che l’immagine sia in esecuzione sul
host remoto è l’immagine che tu
in realtà lo vogliono e quindi non c’è modo
per un attaccante di pasticciare con la tua scorta
catena e caricare un’immagine dannosa in
le tue macchine virtuali o nei tuoi host
perché la tua verifica crittografica
e così questo è qualcosa che noi
potrebbe fare in futuro ma è un figo
modo di combinare questi elementi costitutivi
in qualcosa di veramente bello ma possiamo
andare avanti cosa Se utilizzi questa Runcie
container D e docker beh ovviamente
ottenere un sicuro dal contenitore predefinito
esecuzione che è ciò che fornisce la finestra mobile
per impostazione predefinita quando lo si installa e
basta fare il docker eseguire ora erano nel
quelli complessi cosa succede se aggiungiamo eseguire C
contenitore D finestra mobile
lo sciame di un notaio li confonde tutti
insieme cosa è questo Geddes bene
ci porta al sicuro per contenitore predefinito
piattaforma
ti permette di avere l’esecuzione di
contenitori di distribuzione sicura di
Introduzione alla nota di sicurezza Secrets in
contenitori in esecuzione con Runcie
container d in modo privilegiato di leasing
e ora l’ovvia domanda finale è
cosa succede se mettiamo tutta questa roba
insieme tutte le talpe tirana e
proprio come metterli bene cosa fai
ottenere è sicuro dall’infrastruttura predefinita
si arriva in remoto alla stazione
verifica dalle immagini d’oro di avvio
in fase di creazione con il kit minimal di Linux
os sta eseguendo contenitori docker minimi
che hanno protetto le configurazioni di default
in un cluster che ha TLS reciproco e
distribuzione segreta sicura tutto con il
firme digitali di notaio e mantenere
rotazione della chiave trasparente in termini di
Conclusione oggi di cui ti parlo
infrakit il modo in cui si può fare la macchina
gestione in docker o per qualsiasi sistema
in realtà abbiamo parlato con voi circa la
capacità di avere Linux al minimo
immagine edificio sicuro abbiamo parlato un po ‘
riguardo alla corsa C abbiamo parlato un po ‘di
contenitore D e abbiamo parlato un po ‘
su Docker se stesso e poi finalmente siamo
parlato di notaio che è il modo
che fai la firma digitale
verifica e abbiamo parlato di sciami
kit che è il modo in cui lo fai
contenitore Orchestrator, quindi cosa succede
quando porti tutti questi pezzi insieme
ricevi la balena moby grazie molto
tanto
e solo così tu sai che mi ha preso
20 minuti della mia vita per fare questo
animazione quindi lo farò di nuovo e
ci sei andato tutti i pezzi sono venuti
insieme alla fine quindi ne abbiamo alcuni
domande che sono state inviate all’app
e voglio leggerli ad alta voce così questo
è la domanda
Degra ha fatto un ottimo lavoro nel fornire
meccanismi per la messa in sicurezza delle infrastrutture
quando vedremo Duggar fare lo stesso per
codice dell’applicazione eseguito all’interno di a
contenitore è una domanda eccellente I
direi che abbiamo già ragione
ora quindi se ci pensi quando sei
eseguire un’applicazione e la si inserisce
una finestra mobile è l’ unica cosa che sei
facendo è che stai fissandolo sei
aggiungendo più sicurezza sei di default
aggiungendo la capacità di mitigare l’accesso
per l’ host hai capacità che
sono caduti hai la sicurezza di Linux
profili con esposizioni minime a
il kernel e tu ovviamente lo hai
contiene una vista e in termini di risorse
hai un’app che ora è segregata
dal sistema operativo, quindi se non altro non lo fai
cambia tutto nel tuo sistema l’unico
la cosa che fai è avere la tua corrente
sistema ma poi hai messo la tua applicazione
all’interno del docker sei efficacemente
rendendoli più sicuri di default il
virtù di mettere in docker stesso questo
ha detto che stiamo facendo un passo sopra di noi
una cosa del genere si chiama finestra mobile
scansione di sicurezza che esegue la scansione delle immagini
immagini di finestra mobile per vulnerabilità e così via
se la tua applicazione ha una vulnerabilità
come heartbleed che verrà rilevato
quindi il fatto che sia in a
formato che tutti sanno che puoi usare
strumenti come il sistema operativo principale ha uno strumento chiamato
Clair abbiamo la scansione di sicurezza della finestra mobile
ma solo il fatto che la finestra mobile ha una propria
il formato di un’immagine sta già aiutando
la sicurezza della tua infrastruttura
perché tutti sanno come scansionarlo
tutti sanno come disfarlo
tutti sanno come guardare il
binario su un po ‘di
vulnerabilità e col passare del tempo
queste cose stanno solo migliorando
i meccanismi predefiniti di isolamento di
finestra mobile sono solo sempre meglio che
significa che la sicurezza del tuo
le applicazioni stanno migliorando solo se
hai una schifosa applicazione PHP che
ha l’esecuzione di codice remoto su di esso se
qualcuno ci entra in realtà puoi farlo
basta eseguire la finestra mobile docker container –
– sola lettura e ora nessuno può scrivere
il contenitore docker che ha l’attaccante
esecuzione di codice in modalità remota ma non è possibile
scarica i payload non è possibile compilare gli strumenti
non può attaccare il kernel che crea
movimento laterale
più difficile quindi il mio argomento è già fatto
aiuta la sicurezza delle tue applicazioni e lo è
solo andando a fare di più in futuro
va bene l’ ultima domanda è a
questionario qui dice relativamente
domanda di base
così più scuro e ufw mi ha morso esponendo
i dati per la rete pubblica bene ho combattuto ufw
accesso limitato assicurato qual è il tuo
raccomandazione sull’ascolto IP bianco
accedere alla finestra mobile ai contenitori docker quindi
pensa YP I peel bianco bianco bianco
l’elenco non è una funzionalità di sicurezza I
non pensare che dovresti usare IP da
ascoltando qualsiasi tipo di sicurezza
giusto modo di esporre le cose al
Internet se questo è il tuo obiettivo è quello di utilizzare
TLS quindi non è possibile configurare la finestra mobile
in realtà basta ascoltare su TLS e se tu
non devi ascoltare su internet
quindi basta ascoltare su localhost o usare il
docker socket docker predefinito non lo fa
ascoltare sulla rete di default così
chiudi i tuoi firewall per chiudere le porte
a meno che tu non sappia cosa stai facendo, no
esporre la finestra mobile al mondo grazie
ti ringrazio molto
[Applausi]
Please follow and like us: