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.
Voir : Docker User Namespaces
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.
Voir : 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