Sécurité & ISO 27001
ISO 27001 — Cadre d’audit
Section titled “ISO 27001 — Cadre d’audit”La norme ISO 27001 structure la sécurité de l’information autour d’un Système de Management de la Sécurité de l’Information (SMSI). L’audit se déroule en trois phases :
1. Évaluation initiale (gap analysis)
Section titled “1. Évaluation initiale (gap analysis)”Analyse de l’écart entre la situation actuelle et les 93 contrôles de l’Annexe A (ISO 27001:2022). Livrable : rapport de maturité avec priorisation des actions.
2. Plan de traitement des risques
Section titled “2. Plan de traitement des risques”Pour chaque risque identifié, quatre options de traitement :
- Réduire — mettre en œuvre un contrôle
- Accepter — documenter et assumer le risque résiduel
- Éviter — supprimer l’activité qui génère le risque
- Transférer — assurance, sous-traitance
3. Suivi et amélioration continue
Section titled “3. Suivi et amélioration continue”Revues de direction périodiques, indicateurs de performance (KPI sécurité), audits internes.
DevSecOps — Intégration CI/CD
Section titled “DevSecOps — Intégration CI/CD”SAST (Static Analysis)
Section titled “SAST (Static Analysis)”# Exemple GitLab CIsast: stage: test image: semgrep/semgrep script: - semgrep ci --config=auto rules: - if: $CI_MERGE_REQUEST_IDLes outils recommandés selon le stack :
- Python : Bandit, Semgrep
- JavaScript/TypeScript : ESLint security plugin, Semgrep
- Infrastructure : Checkov (Terraform/K8s), tfsec
Gestion des secrets
Section titled “Gestion des secrets”Ne jamais stocker de secrets dans le code ou les variables d’environnement en clair. Les alternatives :
| Solution | Cas d’usage |
|---|---|
| GCP Secret Manager | Applications GCP |
| HashiCorp Vault | Multi-cloud, self-hosted |
| SOPS + age | Secrets versionés dans Git |
Container scanning
Section titled “Container scanning”# Trivy — scan d'image OCItrivy image --exit-code 1 --severity HIGH,CRITICAL mon-image:latestHardening système
Section titled “Hardening système”Pour les serveurs NixOS, le hardening passe par la configuration déclarative :
# Désactivation des modules noyau inutilesboot.blacklistedKernelModules = [ "cramfs" "freevxfs" "jffs2" "hfs" "hfsplus" ];
# Paramètres sysctlboot.kernel.sysctl = { "net.ipv4.ip_forward" = 0; "kernel.dmesg_restrict" = 1; "fs.suid_dumpable" = 0;};