Ma chaîne de publication Devops

Ma chaîne de publication Devops Depuis quelques mois j’ai tenté de moderniser ma chaîne de publications, c’est à dire la pile de logiciels et outils que j’utilise pour publier mes articles. Mon premier est un éditeur de sites statiques Exit Wordpress. Ca fait un bien fou de passer de la lourdeur d’un CMS au minimalisme d’un site statique. Aujourd’hui, j’utilise Hugo et j’en suis très satisfait. Par ailleurs, pour mes cours, j’utilise MKDocs qui est absolument génial. »

Gestion des secrets sous Docker

Gestion des secrets sous Docker Qu’est-ce qu’un secret et pourquoi en auriez-vous besoin ? Docker Secret permet de partager des informations sensibles entre services d’un cluster Swarm. Ces infos sensibles sont des infos qui n’ont rien à faire dans des Dockerfiles ou des docker-compose.yml, et qui ne doivent surtout pas être posées sur des dépôts Git. Logins/Phrases de passe Certificats TLS Clés TLS, SSH, GPG, Tokens d’APIs Infos sensibles : Noms des serveurs, des bases de données, … Créer et partager un secret A la base, le secret peut être écrit dans un fichier ou venir de la sortie standard : »

La sécurité avec Docker – Chapitre final : Le test

Chapitre final : Le test ultime   Docker Bench Security   Vous saurez très vite si vous avez suivi les recommandations de sécurité Docker en utilisant ce petit script qui n’a l’air de rien mais qui en dit long.   git clone https://github.com/docker/docker-bench-security.git cd docker-bench-security ./docker-bench-security.sh   Verdict ? Plus il y a de rouge et plus c’est méchant !   La checklist du SANS :   »

La sécurité avec Docker – Chapitre 4 : Les images et les dépôts

Droits Unix sur les fichiers du conteneur :   Tout comme dans un système Linux/Unix classique, il faut faire attention aux droits sur les fichiers à l’intérieur du conteneur. Quand vous construisez une image à partir d’un Dockerfile, les fichiers copiés de votre répertoire vers votre image sont copiés avec les mêmes droits. Du coup, un fichier trop permissif peut être problématique.   Images maisons :   Ne pas stocker de secrets dans les Dockerfiles ou dans les variables d’environnement. »

La sécurité avec Docker – Chapitre 3 : Les utilisateurs

Chapitre III : Utilisateurs   Docker ne doit pas être contrôlé par root :   Vous devez utiliser un compte standard pour manipuler vos containers et vos images Docker. C’est très simple, il suffit que votre utilisateur appartienne au groupe docker : sudo adduser moi docker docker run ...   Les conteneurs ne doivent pas être lancés par root :   Un conteneur ne doit pas être lancé en tant qu’utilisateur root sauf s’il y a une utilité particulière. »

La sécurité avec Docker – Chapitre 2 : Le réseau

Chapitre II : Réseau   Isoler les réseaux :   Les piles de logiciels ou les différents types de réseaux doivent être isolés dans des réseaux logiques séparés. Créer un réseau par stack logicielle : docker network create <nomdureseau> # Attacher les containers au réseau qui va bien docker network disconnect bridge <leconteneur> docker network connect <nomdureseau> <leconteneur>   Désactiver la communication inter conteneurs (ICC) :   »

La sécurité avec Docker – Chapitre 1 : Le système

Après plusieurs années d’expérience, je pourrais résumer Docker en un outil très utile, facile à prendre en main mais vraiment difficile à maîtriser. Le côté « facilité de déploiement » de départ masque les problèmes de sécurité inhérents à la technologie des containers. Or si Docker était encore pointé du doigt pour ses lacunes sécuritaires il y a quelques années, force est de constater que des efforts ont été faits dans ce domaine si on veut bien se donner la peine de mettre les mains dans le cambouis. »

Réseaux sous Docker : isoler les containers

Quand on veut déployer un container docker, rien de plus simple, un docker run suffit à rendre le container disponible. Mais si vous n’avez pas réfléchi avant à l’architecture réseau, vous faites communiquer vos containers dans le réseau par défaut, ce qui n’est pas forcément une bonne idée d’un point de vue sécurité.   Les trois type de réseau par défaut   Bridge   Par défaut, Docker attache les containers au réseau « bridge » qui a été créé à l’installation de Docker. »

Fingers in the nose : Les containers LXC avec Proxmox

Il y a quelque temps maintenant, j’ai pas mal travaillé sur les containers avec Docker. Finalement j’en ai très peu mis en production faute d’outil d’orchestration justement du type Proxmox. Proxmox ne propose pas des containers Docker mais des containers Linux (LXC). Sur le principe c’est la même chose mais les images ne viennent pas du même fournisseur. Chez Docker ça vient du Docker Hub alors que les containers LXC de Proxmox sont puisés chez Turnkey Linux. »