🔒 Sécurité

security-zero-trust-architect

Architecture Zero Trust — never trust always verify, micro-segmentation réseau, approche identity-centric et accès conditionnel.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- security-zero-trust-architect --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } security-zero-trust-architect -Launch"

🚀 Déjà installé ?

claude "/security-zero-trust-architect"

Ou tapez /security-zero-trust-architect dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

Zero Trustzero trust architecturenever trustmicro-segmentationBeyondCorp

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/skills/security-zero-trust-architect ~/.claude/skills/

Payload du plugin : skills/security-zero-trust-architect · source éditable : security-skills/zero-trust-architect

📖 Manuel

Zero Trust Architect

Workflow

1. Évaluer la maturité actuelle

Avant tout design, auditer l'existant sur 5 axes :

AxeSigne de confiance implicite (à corriger)
RéseauVPN = accès total, réseau plat, pas de segmentation est-ouest
IdentitéPas de MFA, sessions longues, comptes de service partagés
DevicesPas de vérification de conformité à la connexion
DonnéesChiffrement absent ou partiel, accès en masse non audités
VisibilitéLogs insuffisants, pas de détection comportementale

Outil de référence : CISA Zero Trust Maturity Model v2 (5 piliers, 4 niveaux : Traditional → Initial → Advanced → Optimal).


2. Poser les fondations Identity-Centric

Objectif : L'identité remplace le réseau comme périmètre de confiance.

# Politique d'accès conditionnel — exemple Azure AD / Entra ID
conditions:
  users: [all]
  cloud_apps: [all]
  device_platforms: [all]
grant_controls:
  operator: AND
  built_in_controls:
    - mfa
    - compliant_device       # Intune enrollment + patch level
    - approved_client_app
session_controls:
  sign_in_frequency: 4h      # pas de session éternelle
  persistent_browser: never

Actions concrètes :


3. Micro-segmentation réseau

Règle : zéro communication implicite est-ouest ; chaque flux doit être déclaré.

# Kubernetes NetworkPolicy — isoler un namespace par workload
kubectl apply -f - <<EOF
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all-ingress
  namespace: payments
spec:
  podSelector: {}
  policyTypes: [Ingress, Egress]
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-api-to-db
  namespace: payments
spec:
  podSelector:
    matchLabels:
      app: postgres
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: payment-api
    ports:
    - port: 5432
EOF

Pour les environnements non-Kubernetes (VMs, bare metal) :

Critère de décision segmentation :


4. ZTNA — Remplacer le VPN

Zero Trust Network Access : accès granulaire par application, pas par réseau.

Comparatif rapide :

SolutionUsage typiqueNotes
Cloudflare AccessSaaS/web apps, équipes distribuéesSimple, rapide à déployer
Zscaler ZPAEnterprise, apps internesTunnel chiffré sans exposition IP
TailscaleInfra devops, équipes techniquesWireGuard overlay, PKI automatique
Azure AD App ProxyApps on-prem exposées via EntraSans VPN, MFA intégré
# Tailscale — accès ZTNA en 3 commandes
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up --auth-key=<tskey-auth-xxx> --advertise-tags=tag:prod-server
# Côté client : tailscale up → accès SSH direct sans VPN, avec MFA Tailscale

5. Device Trust & Endpoint Compliance

La décision d'accès doit inclure la santé du device, pas seulement l'identité.

Signaux à évaluer (en temps réel) :

# Vérifier la conformité Intune via Graph API
$headers = @{ Authorization = "Bearer $token" }
Invoke-RestMethod `
  -Uri "https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?`$filter=complianceState eq 'noncompliant'" `
  -Headers $headers | Select-Object -ExpandProperty value | Format-Table deviceName, userPrincipalName, lastSyncDateTime

6. Protéger les données (Data-Centric ZT)

# Exemple : chiffrement S3 + policy de refus sans clé KMS
aws s3api put-bucket-policy --bucket mon-bucket-sensible --policy '{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Deny",
    "Principal": "*",
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::mon-bucket-sensible/*",
    "Condition": {
      "StringNotEquals": { "s3:x-amz-server-side-encryption": "aws:kms" }
    }
  }]
}'

Actions :


7. Monitoring Continu & Réponse

Assume breach : détecter vite, répondre automatiquement.

# Règle SIEM — détection accès anormal (pseudo-Sigma)
title: ZT - Accès depuis pays non autorisé
status: production
detection:
  selection:
    EventID: 4624          # Logon success
    LogonType: 3
  filter_allowed_countries:
    country|contains:
      - FR
      - TN
      - MA
  condition: selection and not filter_allowed_countries
action:
  - block_session
  - revoke_refresh_tokens  # via Graph API / Okta API
  - alert_soc

Intégrations clés :


8. Feuille de route (Quick Wins → Transformation)

PhaseDélaiActions prioritaires
P0 — Quick Wins0–4 semMFA 100% comptes privilégiés, inventaire des accès, désactivation comptes dormants
P1 — Fondations1–3 moisIdP centralisé, accès conditionnel, segmentation DMZ / prod / dev
P2 — ZTNA3–6 moisRemplacement VPN, device compliance, RBAC granulaire
P3 — Maturité6–12 moisMicro-segmentation complète, DLP, UEBA, automatisation réponse
P4 — Optimal12 mois+Continuous verification, AI-driven access decisions, least-privilege automatisé

Anti-patterns & Pièges

Bonnes Pratiques 2026