Slide 1

Slide 1 text

— Le petit chaperon rouge pratique enfin le “Zero Trust” 26 Janvier 2023

Slide 2

Slide 2 text

— Sommaire Notre environnement 01 Le petit chaperon rouge pratique enfin le “Zero Trust” 00 02 Il était une fois… 03 Tech 04 La morale

Slide 3

Slide 3 text

— he / him @sphinxgaiaone Cloud Builder chez WeScale Jérôme Masson

Slide 4

Slide 4 text

— 2015 +65 Création de WeScale Passionné(e)s de Cloud PARIS NANTES FULL REMOTE ON RECRUTE WE ARE WESCALE Présentation 00

Slide 5

Slide 5 text

Storyteller - Kubernetes’ City Hunter Phippy & friends (CNCF) Captain Kube Goldie Main Characters: Goldies Phippy & friends (CNCF)

Slide 6

Slide 6 text

as Bad Wolf: Litmus Incubating project LimtusChaos (CNCF) Lone Wolf

Slide 7

Slide 7 text

Environnement 01

Slide 8

Slide 8 text

— Préparation de notre environnement 01Le petit chaperon rouge pratique enfin le “Zero Trust”

Slide 9

Slide 9 text

— Infrastructure & Environnement Le petit chaperon rouge pratique enfin le “Zero Trust” 01 Infrastructure - Un / plusieurs cluster Kubernetes Apps - Installation avec Helm - Configuration & mise en place des tests - App Go - basée sur podtato-head : - manifest.yaml / server.go

Slide 10

Slide 10 text

— 01 Objectifs Concept principal du “Zero Trust”: "Ne jamais croire, Toujours vérifier” D’un Kubernetes Vanilla ou en mode service managé - Identifier les points de faiblesse - Appréhender les contres-mesures - Démystifier la simplicité de Kubernetes - Démystifier la complexité des outillages Le petit chaperon rouge pratique enfin le “Zero Trust”

Slide 11

Slide 11 text

Il était une fois 02 Le petit chaperon rouge pratique enfin le “Zero Trust”

Slide 12

Slide 12 text

— Il était une fois 02 Dans un village lointain… Vit une petite application, elle est la plus mignonne de son village. Sa mère-grand et surtout sa maman en sont folles. Tout le monde l’appelait le petit chaperon rouge ou “Goldie Red”

Slide 13

Slide 13 text

— Il était une fois 02 Dans un village lointain… Un jour sa maman lui dit : « Va voir comme se porte ta mère-grand, car on m'a dit qu'elle était malade, porte-lui une galette et ce petit pot de beurre. Ne parle surtout à personne et reviens avant la tombée de la nuit !!! »

Slide 14

Slide 14 text

— Il était une fois 02 Le village Kubernetes, Ta mère-grand vit dans le village Kubernetes, « C'était un cluster où il faisait bon vivre … »

Slide 15

Slide 15 text

— Il était une fois 02 La rencontre, Sur le chemin, notre petite application croise le loup solitaire, et il lui demande où elle va : « Je vais voir ma mère-grand, et lui porter une galette avec un petit pot de beurre que ma mère lui envoie. »

Slide 16

Slide 16 text

— Il était une fois 02 La rencontre, Mais où vit-elle : « Dans le village Kubernetes tout là-bas, derrière le endpoint: … » Montre moi ta carte, pour que je puisse te guider : « Tiens voilà mon kubeconfig » Tu peux passer par là, mais moi je suis pressé. Au revoir et à bientôt !!!

Slide 17

Slide 17 text

— Il était une fois 02 Le Loup solitaire était bien un méchant loup, Il se presse d’aller voir la mère-grand, il toque à la porte et imite la voix du petit chaperon rouge : Mère-grand lui répond : « Tire la chevillette et la bobinette cherra! » Le loup entre, la dévore et prend sa place.

Slide 18

Slide 18 text

— Il était une fois 02 Pendant ce temps là, Insouciante, la petite application prend son temps, elle regarde les fleurs et discute avec les animaux … Jusqu’au moment où …

Slide 19

Slide 19 text

Le petit chaperon rouge arrive devant la maison de mère-grand 02

Slide 20

Slide 20 text

— Il était une fois 02 Goldie rouge toque à la porte, « Tire la chevillette et la bobinette cherra ! » - s'écria le loup Le petit chaperon rouge entre. Il voit sa mère-grand et dit : « Que vous avez de grands yeux !? » « C’est pour mieux te voir mon enfant. » - répond le loup

Slide 21

Slide 21 text

— Il était une fois 02 Goldie rouge continue ses questions, Le petit chaperon rouge dit ensuite : « Que vous avez de grandes oreilles !? » « C’est pour mieux t’entendre mon enfant. » - répond le loup

Slide 22

Slide 22 text

— Il était une fois 02 « C’est pour mieux te MANGER !!! » Le loup dévore le petit chaperon rouge et s’endort le ventre bien rond… Jusqu’au moment où … Goldie rouge pose une dernière question: « Que vous avez de grandes dents !? »

Slide 23

Slide 23 text

Le chasseur arrive 02

Slide 24

Slide 24 text

Kubernetes patterns 03 Reprenons en mode “Zero trust”

Slide 25

Slide 25 text

— 03 Objectifs - “Zero Trust” Concept principal du “Zero Trust”: "Ne jamais croire, Toujours vérifier” D’un Kubernetes Vanilla ou en mode service managé - Identifier les points de faiblesse - Appréhender les contres-mesures - Démystifier la simplicité de Kubernetes - Démystifier la complexité des outillages Le petit chaperon rouge pratique enfin le “Zero Trust”

Slide 26

Slide 26 text

— Zero Trust 03 Identité Concept principal du Zero Trust 1. Gestion de l’identité et l’accès au cluster Ne jamais croire, Toujours vérifier

Slide 27

Slide 27 text

— Zero Trust 03 Conformité Zero Trust in cluster 2. Contrôle de flux avec Consul 3. Sécuriser vos secrets avec Vault ++ Contrôle de conformité avec Sentinel (Enterprise)

Slide 28

Slide 28 text

Tech 03 vs

Slide 29

Slide 29 text

— Tech 03 Terraform Terraform & Zero Trust Fonctionnalités - Standardisation - Connection avec Vault - Détection de drift

Slide 30

Slide 30 text

— Tech 03 Terraform module "eks_cluster" { source = "terraform-aws-modules/eks/aws" version = "18.30.2" ... cluster_endpoint_private_access = true cluster_endpoint_public_access = true }

Slide 31

Slide 31 text

— Tech 03 Packer Packer & Zero Trust Fonctionnalités - Léger - Multi-provider - Intégration Vault - Provisionner

Slide 32

Slide 32 text

— Tech 03 Packer source "docker" "myimg" { image = "sphinxgaia/ansible:ubuntu14.04" export_path = "packer_example" run_command = ["-d", "-i", "-t", "--entrypoint=/bin/bash", "{{.Image}}"] } build { sources = [ "source.docker.myimg" ] provisioner "ansible-local" { playbook_file = "./playbook.yml" extra_arguments = ["--extra-vars", \"pizza_toppings=${var.topping}\""] } }

Slide 33

Slide 33 text

— Tech 03 Boundary Boundary & Zero Trust Fonctionnalités - Authentification utilisateur - Intégration avec Vault - Coupure des connexions - Tracking des connexions

Slide 34

Slide 34 text

— Tech 03 Boundary

Slide 35

Slide 35 text

— Tech 03 Consul Consul - Service Mesh & Zero Trust Fonctionnalités - Sidecar => mTLS - Observabilité - Load-Balancers

Slide 36

Slide 36 text

— Tech 03 Consul

Slide 37

Slide 37 text

— Tech 03 Vault Vault & Zero Trust Gestion de Secrets & Identités - PKI - Secret dynamique - Intégration Kubernetes: Vault CSI / Authentification

Slide 38

Slide 38 text

— Tech 03 Vault manifest.yaml volumeMounts: - name: secrets-store-inline mountPath: "/secret" readOnly: true secret.yaml spec: parameters: objects: | - objectName: "version" secretPath: "littlebear/data/chair?version=2"

Slide 39

Slide 39 text

La morale 04

Slide 40

Slide 40 text

— La morale Ecosystème de Kubernetes 04 Network Security / Access / Encryption Cloud Auth / Standard / Network policies Cluster Scan / Least Privileges / Signing / Runtime Container Scan / Full TLS / Least Privilege Code Authentication Service Mesh / mTLS Boundary / Consul Network policies CSI Network & Secrets Network firewall Calico / Vault CSI / Neuvector Container Scanning Runtime Scanning Trivy Code & Dependencies scanning mTLS Certificate generator Trivy / Consul / Vault PKI

Slide 41

Slide 41 text

problèmes ?

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

Merci de votre attention. Contact Jérôme Masson Cloud Builder & DevOps Github/Gitlab: Sphinxgaia @sphinxgaiaone