Sécurité réseau
Un déploiement de niveau défense traite le réseau comme un plan de contrôle principal. Cette page couvre les contrôles de périmètre (équilibreur de charge, WAF, pare-feu) et les contrôles internes (NetworkPolicies, mTLS, segmentation).
Flux de trafic et défense en profondeur
Équilibrage de charge
| Environnement | Équilibreur de charge recommandé |
|---|---|
| OpenShift bare-metal | MetalLB (L2/BGP) devant le routeur Ingress |
| Datacenter d'entreprise | F5 BIG-IP LTM, Citrix ADC ou LB matériel existant |
| VMware / OpenStack | LB de plateforme (NSX ALB, Octavia) ou LB matériel externe |
Recommandations :
- Équilibrez la charge sur toutes les répliques du routeur Ingress pour la HA ; effectuez des health-checks sur les endpoints du routeur.
- Terminez ou faites transiter le TLS selon que le WAF doit inspecter ou non les charges utiles (voir ci-dessous).
- Préservez les adresses IP source des clients (X-Forwarded-For / protocole PROXY) pour la journalisation d'audit.
Web Application Firewall (WAF)
Un WAF inspecte le trafic HTTP(S) à la recherche d'attaques de couche applicative (OWASP Top 10).
| Option | Remarques |
|---|---|
| ModSecurity + OWASP Core Rule Set (CRS) | Open-source, déployable on-prem / air-gap |
| F5 Advanced WAF (ASM) | Entreprise, s'intègre à BIG-IP LTM |
| Citrix Web App Firewall | Entreprise |
| Imperva / Fortinet FortiWeb | Appliances d'entreprise |
Base recommandée :
- Activez OWASP CRS en mode blocage après une courte période de réglage.
- Imposez des limites de taille de requête, une limitation de débit et des listes d'autorisation géo/IP le cas échéant.
- Transférez les journaux du WAF vers votre SIEM (voir Conformité et audit).
TLS partout
- Externe : TLS 1.2+ (préférer TLS 1.3) au niveau de l'équilibreur de charge / routeur Ingress. Utilisez des certificats de votre CA d'entreprise/interne — adapté aux sites air-gap.
- Interne : le trafic service-à-service est chiffré ; le backend n'atteint OpenBao que via des canaux mutuellement authentifiés (mTLS).
- Politique de chiffrement : restreignez aux chiffrements forts ; le
tlsSecurityProfilede l'IngressControllerOpenShift peut être défini surIntermediateouModern, ou sur un profil personnalisé conforme FIPS pour les environnements de défense.
# Enforce a modern TLS profile on the Ingress Router
apiVersion: operator.openshift.io/v1
kind: IngressController
metadata:
name: default
namespace: openshift-ingress-operator
spec:
tlsSecurityProfile:
type: Modern
Règles de pare-feu nord-sud
Voici les flux de périmètre qui doivent être autorisés ; refusez tout le reste.
| # | Source | Destination | Port/Proto | Objet |
|---|---|---|---|---|
| 1 | Clients | VIP de l'équilibreur de charge | 443/TCP | Accès utilisateur (HTTPS) |
| 2 | LB | Routeur Ingress | 443/TCP | Transfert vers le cluster |
| 3 | Administrateurs | API OpenShift | 6443/TCP | Administration du cluster |
| 4 | Nœuds worker | VM OpenBao | 8200/TCP | Récupération de secrets |
| 5 | Nœuds worker | VM PostgreSQL | 5432/TCP | Base de données |
| 6 | ArgoCD | GitLab | 443/TCP, 22/TCP | Source GitOps |
| 7 | Cluster / Velero | Stockage objet | 443/TCP | Sauvegardes |
| 8 | VM OpenBao | HSM | selon le fournisseur | Racine de confiance (optionnel) |
| 9 | Registre miroir | Cluster | 443/TCP | Récupération d'images en air-gap |
Micro-segmentation est-ouest (NetworkPolicies)
À l'intérieur du cluster, imposez une posture de refus par défaut et n'autorisez que les flux nécessaires. Cela limite les déplacements latéraux.
# Default deny all ingress in the duokey namespace
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-ingress
namespace: duokey
spec:
podSelector: {}
policyTypes: ["Ingress"]
---
# Allow only the frontend to reach the backend API
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-frontend-to-api
namespace: duokey
spec:
podSelector:
matchLabels: { app: duokey-api }
policyTypes: ["Ingress"]
ingress:
- from:
- podSelector:
matchLabels: { app: duokey-frontend }
ports:
- protocol: TCP
port: 8080
Service mesh et mTLS (optionnel)
Pour une sécurité est-ouest zero-trust, déployez Red Hat OpenShift Service Mesh (Istio) afin d'imposer un mTLS strict entre toutes les charges de travail, avec des politiques d'autorisation fines et une télémétrie par service.
Segmentation réseau (VLAN)
Segmentez l'infrastructure de support sur des VLAN isolés :
| VLAN | Objet |
|---|---|
| Application | Trafic worker/ingress OpenShift |
| Backend / données | PostgreSQL, Redis, stockage |
| Sécurisé | OpenBao et HSM (le plus restreint) |
| Gestion | Accès hors bande / administrateur |
L'ensemble de l'architecture peut fonctionner sans aucun accès internet sortant. Utilisez un registre miroir interne pour les images et conservez l'IdP, le gestionnaire de secrets et le HSM entièrement on-premise.