applications en conteneur sécurité réseau pour
TRANSCRIPT
![Page 1: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/1.jpg)
CONFIDENTIAL Designator
Sécurité réseau pour applications en conteneur
Martin OuimetSolution Architect, Cloud Specialist
1
![Page 2: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/2.jpg)
Sécurité réseau pour applications en conteneur
2
Agenda- Kubernetes et SDN- Questions relatives à la sécurité des réseaux en entreprise
- Restriction du trafic entre les différents “Tiers”- Micro-segmentation- Sécuriser le trafic sortant- Sécuriser le trafic entrant
- Securité des applications avec Service Mesh
![Page 3: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/3.jpg)
Sécurité réseau pour applications en conteneur
Kubernetes est clairement le gagnant de l’orchestration des conteneurs à travers le monde.
3
![Page 4: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/4.jpg)
Que manque-t-il pour rendre Kubernetes prêt pour les entreprises ?
Sécurité réseau pour applications en conteneur
4
Kubernetes
![Page 5: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/5.jpg)
Un système d’exploitation sécuritaire, conçu pour
les entreprises et optimisé pour les conteneurs
5
Kubernetes
Red Hat Enterprise Linux CoreOS
![Page 6: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/6.jpg)
Interface moderne et flexible de gestion du réseau
6
Kubernetes
Red Hat Enterprise Linux CoreOS
Container Network Interface (CNI)
Software Defined Network (SDN)
![Page 7: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/7.jpg)
Interface moderne et flexible de gestion du stockage
7
Kubernetes
Red Hat Enterprise Linux CoreOS
Container Network Interface (CNI) Container Storage Interface (CSI)
Software Defined Network (SDN) Software Defined Storage (SDS)
![Page 8: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/8.jpg)
Outils de gestion du cluster et du cycle de vie des composantes logiciels.
8
Kubernetes
Red Hat Enterprise Linux CoreOS
Container Network Interface (CNI) Container Storage Interface (CSI)
Software Defined Network (SDN) Software Defined Storage (SDS)
Console développeurs et opérateurs et automatisation
![Page 9: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/9.jpg)
Registre de conteneurs sécurisé, journaux, métriques, outils de facturation (chargeback)
9
Kubernetes
Red Hat Enterprise Linux CoreOS
Container Network Interface (CNI) Container Storage Interface (CSI)
Software Defined Network (SDN) Software Defined Storage (SDS)
Console développeurs et opérateurs et automatisation
Services clusterRégistre d’image Métriques
Journaux Facturation
![Page 10: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/10.jpg)
Standardiser la couche logicielle “Middleware”, avoir un catalogue de service et des outils de gestion pour micro-services
10
Kubernetes
Red Hat Enterprise Linux CoreOS
Container Network Interface (CNI) Container Storage Interface (CSI)
Software Defined Network (SDN) Software Defined Storage (SDS)
Services applications
Console développeurs et opérateurs et automatisation
Services clusterRégistre d’image Métriques
Journaux Facturation
Serverless Catalogue de services
Service-MeshApplications
intégrés Middleware
![Page 11: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/11.jpg)
Développeurs ont besoin de IDE, gestionnaire de compilation, CI/CD, utilitaires de debuggage et plus encore !
11
Kubernetes
Red Hat Enterprise Linux CoreOS
Container Network Interface (CNI) Container Storage Interface (CSI)
Software Defined Network (SDN) Software Defined Storage (SDS)
Services applications
Console développeurs et opérateurs et automatisation
Services cluster Services développeursRégistre d’image Métriques
Journaux Facturation
Serverless Catalogue de services
Service-MeshApplications
intégrés Middleware
IDE Outils de compilation
CI/CD Outils de debuggage
![Page 12: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/12.jpg)
12
Kubernetes
Red Hat Enterprise Linux CoreOS
Container Network Interface (CNI) Container Storage Interface (CSI)
Software Defined Network (SDN) Software Defined Storage (SDS)
Services applications
Console développeurs et opérateurs et automatisation
Services cluster Services développeursRégistre d’image Métriques
Journaux Facturation
Serverless Catalogue de services
Service-MeshApplications
intégrés Middleware
IDE Outils de compilation
CI/CD Outils de debuggage
Plateforme d’orchestration de conteneurs pour entreprises
![Page 13: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/13.jpg)
Plateforme d’orchestration de conteneurs pour entreprises
13
Kubernetes
Red Hat Enterprise Linux CoreOS
Container Network Interface (CNI) Container Storage Interface (CSI)
Software Defined Network (SDN) Software Defined Storage (SDS)
Services applications
Console développeurs et opérateurs et automatisation
Services cluster Services développeursRégistre d’image Métriques
Journaux Facturation
Serverless Catalogue de services
Service-MeshApplications
intégrés Middleware
IDE Outils de compilation
CI/CD Outils de debuggage
![Page 14: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/14.jpg)
Qu’est-ce que
Software Defined Network ?
Et pourquoi est-ce
important ?14
![Page 15: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/15.jpg)
15
OpenShift SDN
(OVS)
Openshift
Kubernetes Container Network Interface (CNI)
Flannel NuageTigera
Calico & CNX
JuniperContrail
CiscoContiv &
Contiv-ACIBig Switch
Supporté Solution vérifiée
VMwareNSX-T
En cours de développement
kuryr-kubernetes
OpenShift SDN
(OVN)
OpenDaylight(CNI & Kuryr)
RH-OSPNeutronPlugin
Connecteurs réseau pour Openshift
![Page 16: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/16.jpg)
Isoler les zones
16
![Page 17: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/17.jpg)
Sécurité réseau pour applications en conteneur
17
Restreindre le trafic entre les “tiers”
Base de données
Application
Présentation
X
![Page 18: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/18.jpg)
Sécurité réseau pour applications en conteneur
18
Les coupe-feux externes sont requis entre les zones
Base de données
Application
DMZLe trafic provenant de Internet est permis vers la zone délimitarizée.
Ouverture coupe-feu pour permettre les flows suivants:
Zone DMZ vers la zone applicative
Zone applicative vers la zone de base de données.
Comment accomplir un montage similaire avec Kubernetes ?
![Page 19: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/19.jpg)
Base de données
Application
DMZ
Sécurité réseau pour applications en conteneur
Les coupe-feux externes sont requis entre les zones
Montage aligné avec les standards de sécurité établis
Le coupe-feu ne prévient pas nécessairement l’accès aux outils de gestion du Cluster et demande des configurations additionnelles.
Coûts d’opérations et de maintenance d’une telle infrastructure sont élevés.
Cluster
Cluster
Cluster
![Page 20: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/20.jpg)
Base de données
Application
DMZ
Sécurité réseau pour applications en conteneur
Les coupe-feux externes sont requis entre les zones
Un seul cluster à gérer
Utilisation des Network Policy Object pour effectuer la micro-segmentation
Les Infra Nodes exécutent les fonctions de Ingress et Egress spécifiques à chaque zone.
Cluster
Micro-segmentation
Micro-segmentation
InfraNode
InfraNode
InfraNode
POD POD
POD POD
POD
![Page 21: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/21.jpg)
Sécurité réseau pour applications en conteneur
Network Policy Objects
21
Gestion de la micro-segmentation
Appliquées sur trafic entrant des services et des PODs
Configurer des politiques individuelles au niveau des PODs
Permet le trafic d’un autre projet vers un POD spécifique
Restreint le trafic entre les PODs à l’intérieur du projet
![Page 22: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/22.jpg)
Et la micro-segmentation… est-ce mieux que la sécurité traditionnelle telle qu’on la connaît depuis des années ?
22
![Page 23: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/23.jpg)
Sécurité réseau pour applications en conteneur
23
PROJECT A
POD
POD
POD
POD
PROJECT B
POD
POD
POD
POD
Examples de Policy Objects● Permettre tout le trafic à l’intérieur du projet● Permettre le trafic de Vert vers Gris● Permettre le trafic vers Violet sur le port 8080
8080 ✓
apiVersion: extensions/v1beta1kind: NetworkPolicymetadata: name: allow-to-purple-on-8080spec: podSelector: matchLabels: color: purple ingress: - ports: - protocol: tcp port: 8080
Network Policy Objects
3306
✓
✓ ✓
![Page 24: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/24.jpg)
Sécurité réseau pour applications en conteneur
24
Exemple: Application web typique avec séparation du frontal et api
![Page 25: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/25.jpg)
Sécurité réseau pour applications en conteneur
25
Exemple: Un fichier malicieux est exécuté sur le serveur PHP
![Page 26: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/26.jpg)
Sécurité réseau pour applications en conteneur
26
Les Network Policy Objects a la rescousse !
kind: NetworkPolicyapiVersion: extensions/v1beta1metadata: name: allow-3306spec: podSelector: matchLabels: app: mysql ingress: - from: - podSelector: matchLabels: app: emailsvc ports: - protocol: TCP port: 3306
Permettre la connexion à MySQL uniquement depuis le service email.
![Page 27: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/27.jpg)
Sécurité réseau pour applications en conteneur
27
Commencez avec un “Deny” par défaut
![Page 28: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/28.jpg)
Sécurité réseau pour applications en conteneur
28
Utilisez les Network Policy pour permettre les flows spécifiques
![Page 29: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/29.jpg)
Sécuriser le trafic en sortie
Egress
29
![Page 30: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/30.jpg)
Contrôler le trafic sortant avec le Egress Router
30
NODEIP1
EGRESSROUTER
PODIP1
EGRESS SERVICEINTERNAL-IP:8080
EXTERNAL SERVICE
Whitelist: IP1
POD
POD
POD
Contrôler la DESTINATION IP
![Page 31: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/31.jpg)
Controller le trafic sortant (Egress)
31
Contrôler la SOURCE IP
Comment reconnaître le trafic de sortie du cluster Openshift ?
Node 1
Node 2
Projet A
Projet A
Projet B
Projet B
Eth010.56.56.101
Eth010.56.56.102
podspodspods
podspodspods
podspodspods
podspodspods
?
![Page 32: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/32.jpg)
Controller le trafic sortant (Egress)
32
Contrôler la SOURCE IP
Comment reconnaître le trafic de sortie du cluster Openshift ?
Node 1
Node 2
Projet A
Projet A
Projet B
Projet B
Static IP projet A10.56.56.8/29
podspodspods
podspodspods
podspodspods
podspodspods
Static IP projet A10.56.56.8/29
Static IP projet B10.56.56.16/29
Static IP projet B10.56.56.16/29
Source IP Dest IP Port
10.56.56.8/29 * 443 Allow
Action
10.56.56.16/29 * 443 Deny
![Page 33: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/33.jpg)
Sécuriser le trafic en entré
Ingress
33
![Page 34: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/34.jpg)
Sécurité réseau pour applications en conteneur
Configurer ce qui doit être exposé
34
La sécurité commence par exposer uniquement ce qui doit être accessible depuis l’extérieur du cluster.
Service
Un service est un balanceur de charge qui crée un point
d’entrée vers un ou plusieurs PODs. Le service peut
être exposé à l’externe du cluster ou non.
Route
Une route est un point d’entré publique HTTP ou
HTTPS vers un service.
![Page 35: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/35.jpg)
35
OPENSHIFT & KUBERNETES CONCEPTS
Le Service est un balanceur de charge interne qui découvre automatiquement les pods
POD
SERVICE“backend”
CONTAINER
10.110.1.11
role:backend
POD
CONTAINER
10.120.2.22
role:backend
POD
CONTAINER
10.130.3.33
role:backend
POD
CONTAINER
10.140.4.44
role:frontend
role:backend
![Page 36: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/36.jpg)
36
OPENSHIFT & KUBERNETES CONCEPTS
Les applications peuvent communiquer entre eux via les services
POD
SERVICE“backend”
CONTAINER
10.110.1.11
role:backend
POD
CONTAINER
10.120.2.22
role:backend
POD
CONTAINER
10.130.3.33
role:backend
POD
CONTAINER
10.140.4.44
role:frontend
role:backend
![Page 37: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/37.jpg)
OpenShift Concepts
37
Les routes rendent les services accessibles au clients à l’extérieur de l'environnement en utilisant
des URLs
> curl http://app-prod.mycompany.com
POD
SERVICE“frontend”
CONTAINERrole:frontend
POD
CONTAINERrole:frontend
POD
CONTAINERrole:frontend
role:frontend
ROUTE
app-prod.mycompany.com
![Page 38: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/38.jpg)
L’administrateur du cluster définit une plage d’adresses IP qui peuvent être assignées à des noeuds ou des services.
Opensihft assigne l’adresse IP privée et publique au service.
Le noeud sur lequel l’adresse IP est assignée agit de point d’entré pour le service.
L’adresse IP externe peut être une VIP. En configurant ip-failover, la VIP peut être réassignée à d’autre noeuds.
Contrôler le trafic en entrée ( Ingress )
38
Un service peut être exposé directement sur un port TCP.
Node 1
POD
Node 2
POD
Node 3
POD
ServiceIP interne du Service: 172.1.0.30IP externe: 202.122.15.1
![Page 39: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/39.jpg)
Sécuriser les routes avec un “whitelist”
39
- L’accès à la route est restreinte aux adresses IP définies par le whitelist- Configuration simple via annotations- La connexion à la route par d’autres adresses IP sont bloqués
metadata:
annotations:
haproxy.router.openshift.io/ip_whitelist: 192.168.1.10 192.168.1.11
![Page 40: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/40.jpg)
Encryption SSL sur les routes HTTP
40
HTTPSRouteOpenshift
ApplicationTerminaison SSL au niveau de la route(Certificat sur la route uniquement)
HTTPSRouteOpenshift
ApplicationSSL Passthrough(Certificat géré par l’application)
HTTPSRouteOpenshift
ApplicationRéencryption(Certificat sur la route + dans l’application)
![Page 41: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/41.jpg)
Sécuriser au niveau de l’application
Service Mesh
41
![Page 42: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/42.jpg)
Red Hat Openshift
Qu’est ce que Istio ?
42
Service Mesh
Control Plane Pilot
Data Plane
Mixer Auth
Pod
App
Envoy
Pod
App
Envoy
Pod
App
Envoy
Pod
App
Envoy
![Page 43: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/43.jpg)
Sécuriser les applications avec Service Mesh
43
Authentification mutuelle TLS
POD
SERVICEA
ENVOY
POD
SERVICEB
ENVOY
POD
SERVICEC
ENVOYmTLS mTLS
![Page 44: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/44.jpg)
Sécuriser les applications avec Service Mesh
44
Rate limit
POD
SERVICEA
ENVOY
POD
SERVICEB
ENVOY
POD
SERVICEC
ENVOYMax 100
connections par seconde
Max 20 connections par
seconde
![Page 45: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/45.jpg)
Sécuriser les applications avec Service Mesh
45
Contrôler le flow
POD
SERVICEA
ENVOY
POD
SERVICEB
ENVOY
POD
SERVICEC
ENVOYPermit Permit
X
![Page 46: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/46.jpg)
DémoNetwork Policy Object
46
![Page 47: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/47.jpg)
DémoNetwork Policy Object
47
![Page 48: applications en conteneur Sécurité réseau pour](https://reader031.vdocuments.fr/reader031/viewer/2022020910/62008a24aad9d14f7d10a35b/html5/thumbnails/48.jpg)
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHat
Red Hat is the world’s leading provider of enterprise
open source software solutions. Award-winning
support, training, and consulting services make
Red Hat a trusted adviser to the Fortune 500.
Merci
48