30 points par ironlung 2023-10-31 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Lorsqu’on crée et déploie une application sous forme d’image Docker, l’utilisation d’une image de base lourde peut allonger fortement le temps de téléchargement, ou poser des problèmes de sécurité si elle contient des données sensibles
  • Méthodes pour rendre les images Docker plus légères et plus sûres
  • Réduire la taille des images
    • Plus une image Docker est légère, plus la compilation et le déploiement de l’application sont rapides
    • Cela permet de déployer plus souvent et à plus grande échelle, ce qui améliore la productivité des développeurs
    • Méthodes
      • Technique du multi-staging : créer plusieurs stages, les compiler séparément, puis intégrer le résultat dans l’image la plus légère
      • Réduire autant que possible l’usage de la commande RUN : chaque commande RUN crée une image distincte. Pour en limiter le nombre, il faut exécuter autant de scripts que possible en une seule commande RUN
    • Supprimer le code source inutile avec .dockerignore
      • README.md ou le code de test sont inutiles lors de la compilation réelle de l’application
      • Les fichiers .env contenant des informations sensibles comme des jetons d’authentification API, les fichiers de clé privée .pem et le répertoire .git contenant l’historique des commits Git ne doivent pas être inclus dans l’image Docker
      • Pour éviter d’inclure ces fichiers dans l’image Docker, on crée un fichier .dockerignore
  • Créer des images sûres
    • Si une image Docker dispose des privilèges root, le risque peut être important en cas de piratage
    • Méthodes
      • Utiliser une version d’image précise : sans numéro de version, la version latest est récupérée automatiquement, ce qui peut faire varier l’exécution selon le contexte
      • Retirer les droits d’écriture sur /etc : /etc est le répertoire qui contient les fichiers de configuration système et les scripts. Comme l’application n’a généralement pas besoin de les modifier, il est préférable de supprimer les droits d’écriture
      • Supprimer tous les exécutables : dans le cas de Go, un seul exécutable suffit pour lancer l’application, donc on supprime tous les autres exécutables susceptibles de présenter un risque
      • Basculer vers un utilisateur standard : le compte root peut modifier et contrôler l’ensemble du système. On crée donc un utilisateur avec les privilèges minimaux nécessaires et on s’assure que l’application s’exécute uniquement avec cet utilisateur
  • Les images Docker légères créent une forte synergie lorsque les pipelines CI/CD rencontrent la méthodologie agile
  • Des images Docker sûres permettent de protéger l’activité et de prévenir les risques en amont

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.