Communitygithub.com

dhar174/renforcement-sécurité-conteneurs

Renforcez les images Docker/conteneurs et les déploiements runtime avec des images de base sécurisées, des utilisateurs non-root, l'analyse CVE, SBOM/signature, seccomp/AppArmor et les contrôles de sécurité des pods Kubernetes. Utilisez-le pour les revues de sécurité Dockerfile, les CVE de conteneurs, l'analyse d'images, les images distroless ou le durcissement en production.

Qu'est-ce que renforcement-sécurité-conteneurs ?

Cette compétence vise à renforcer la sécurité des conteneurs Docker et des déploiements runtime. Elle fournit des directives et des outils pour utiliser des images de base sécurisées, exécuter des conteneurs avec des utilisateurs non-root, effectuer des analyses de vulnérabilités (CVE), générer des SBOM et signer des images, configurer des profils seccomp et AppArmor, et appliquer des contrôles de sécurité Kubernetes (Pod Security Standards). Elle est utile pour les audits de sécurité Dockerfile, la correction de CVEs, l'analyse d'images, l'utilisation d'images distroless, ou le durcissement de déploiements en production. La compétence propose des commandes et des configurations pratiques pour implémenter ces bonnes pratiques, en s'appuyant sur des outils comme Trivy, Cosign, et des politiques Kubernetes, pour réduire la surface d'attaque et se conformer aux principes de sécurité.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/dhar174/DeskBuddy/tree/main/.agents/skills/container-security-hardening

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait renforcement-sécurité-conteneurs ?

Renforcez les images Docker/conteneurs et les déploiements runtime avec des images de base sécurisées, des utilisateurs non-root, l'analyse CVE, SBOM/signature, seccomp/AppArmor et les contrôles de sécurité des pods Kubernetes. Utilisez-le pour les revues de sécurité Dockerfile, les CVE de conteneurs, l'analyse d'images, les images distroless ou le durcissement en production.

Commandes et directives

  • Utilisez toujours une image de base officielle et minimale (ex. alpine:latest, debian:stable-slim, golang:alpine). Évitez ubuntu:latest sauf nécessité. Privilégiez les images distroless (ex. gcr.io/distroless/base) pour réduire la surface d'attaque.
  • Exécutez en tant qu'utilisateur non-root : ajoutez USER 10001 dans votre Dockerfile après avoir installé les dépendances. Créez un utilisateur dédié :
    RUN addgroup -S app && adduser -S app -G app
    USER app
    
  • Analysez les vulnérabilités avec trivy image --severity HIGH,CRITICAL mon-image:tag. Corrigez les CVEs critiques avant le déploiement. Utilisez trivy image --ignore-unfixed --severity HIGH,CRITICAL pour les CVEs non corrigées.
  • Générez un SBOM : trivy image --format cyclonedx -o sbom.json mon-image:tag. Signez-le avec cosign sign-blob --key cosign.key sbom.json.
  • Signez votre image : générez une paire de clés (cosign generate-key-pair) et signez avec cosign sign --key cosign.key mon-image:tag.
  • Appliquez seccomp : créez un profil par défaut (seccomp-default.json) et montez-le :
    securityContext:
      seccompProfile:
        type: Localhost
        localhostProfile: seccomp-default.json
    
  • Appliquez AppArmor : chargez un profil (apparmor-deny-write) et spécifiez-le :
    securityContext:
      appArmorProfile:
        type: Localhost
        localhostProfile: apparmor-deny-write
    
  • Contrôles de sécurité Kubernetes : appliquez le PodSecurityStandard restricted :
    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        pod-security.kubernetes.io/enforce: restricted
    spec:
      securityContext:
        runAsNonRoot: true
        runAsUser: 10001
    

Exemple de Dockerfile durci

FROM golang:alpine AS build
RUN addgroup -S app && adduser -S app -G app
COPY . /app
RUN go build -o /app/server /app/main.go

FROM gcr.io/distroless/static:latest
COPY --from=build /app/server /server
USER 10001
EXPOSE 8080
CMD ["/server"]

Notes importantes

  • Le SBOM et la signature sont essentiels pour la conformité (ex. SLSA, SSDF).
  • Les profils seccomp/AppArmor doivent être adaptés à l'application.
  • L'analyse CVE doit être intégrée dans le pipeline CI/CD.
  • Testez les images avec docker run --security-opt seccomp=seccomp-default.json --security-opt apparmor=apparmor-deny-write mon-image.

Ressources

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills associés