Docker

Fiche Mémo : Sécurisation de Docker (Docker Hardening)

1. Utiliser des Images Officielles et de Confiance

  • Privilégiez les images Docker officielles ou issues de sources fiables pour limiter le risque de logiciels compromis ou malveillants.

2. Principe du Moindre Privilège

  • Évitez d’exécuter des conteneurs en tant que root. Utilisez le mappage de namespace utilisateur pour réduire les privilèges à l’intérieur des conteneurs.

3. Utiliser Docker Bench for Security

  • Vérifiez régulièrement la conformité aux meilleures pratiques de sécurité Docker avec l'outil Docker Bench for Security.

4. Appliquer des Contrôles d’Accès Obligatoires (MAC)

  • Appliquez des profils de sécurité via AppArmor ou SELinux pour limiter les actions des conteneurs sur le système hôte.

  • Voir : Docker AppArmor et Docker SELinux

5. Restreindre le Trafic Réseau avec des Pare-feu

  • Utilisez iptables ou nftables pour limiter le trafic réseau vers et depuis les conteneurs et sécurisez le réseau Docker.

  • Voir : Best practices for Docker Networking

6. Limiter les Capacités des Conteneurs

  • Supprimez les capacités Linux inutiles avec l’option --cap-drop pour réduire la surface d’attaque.

  • Voir : Docker Capabilities

7. Utiliser des Systèmes de Fichiers en Lecture Seule

  • Exécutez les conteneurs avec un système de fichiers en lecture seule pour empêcher les modifications non désirées.

  • Voir : Docker Run Reference - Read-Only Filesystem

8. Analyser les Images pour les Vulnérabilités

  • Analysez régulièrement les images Docker avec des outils comme Clair pour détecter les vulnérabilités.

  • Voir : Clair

9. Activer Docker Content Trust (DCT)

  • Activez Docker Content Trust pour vérifier les signatures des images et garantir leur intégrité.

  • Voir : Docker Content Trust

10. Mettre à Jour Docker et le Système Hôte

  • Gardez Docker et l’OS hôte à jour avec les derniers correctifs de sécurité pour combler les vulnérabilités.

11. Sécuriser le Docker Daemon

  • Protégez l’accès au socket Docker Daemon (/var/run/docker.sock) pour éviter les accès non autorisés à l’API Docker.

12. Utiliser un Gestionnaire de Secrets (Docker Swarm)

  • Utilisez Docker Secrets pour gérer les informations sensibles (mots de passe, clés API) de manière sécurisée.

  • Voir : Docker Secrets

13. Limiter l’Utilisation des Ressources des Conteneurs

  • Définissez des limites de ressources (CPU, mémoire, PID) pour chaque conteneur afin de prévenir la surconsommation des ressources du système.

14. Utiliser des Images Minimales

  • Privilégiez des images de base minimales pour réduire la surface d’attaque.

Références et Outils :

  • Docker Documentation : Documentation officielle Docker

  • CIS Docker Benchmark : Guide de référence pour les bonnes pratiques de sécurité Docker

Last updated