Bonjour à tous ! Aujourd’hui je vais aborder un sujet qui fait couler beaucoup d’encre, la sécurité sous Docker.
Vous pouvez sécuriser votre infrastructure Docker tant que vous voulez, si une de vos images est vulnérable, votre système entier peut-être touché. Les images vulnérables sont de plus très courantes et même les images officielles. Je vais vous montrer tout d’abord comment je procède pour choisir une image sur Docker Hub.
La première des choses est qu’il faut privilégier les images officielles, qui sont indiquées par le “official” lors de votre recherche et présentes pour les éditeurs reconnus, Apache, Mysql, WordPress, etc.
Mais une image officielle n’est pas gage de sécurité, on peut notamment vérifier ça dans les “tags” de l’image, qui sont scannés régulièrement si le repo est marqué comme officiel. Par exemple sur celui de httpd.
On a aussi la vue plus détaillée sur les différentes failles relevée présente dans chaque conteneur :
Ces indications nous permettent d’identifier les différents niveaux de criticité en fonction des CVE, et donc de choisir correctement notre image docker. Mais ces scannes de sécurité ne sont disponible que sous les repos officiels de Docker Hub, alors que des applications n’ont pas encore de repos marqué comme officiel. Comment faire pour vérifier si une image non officielle est sécurisée ?
On peut notamment se rendre dans le DockerFile sur Docker Hub et le vérifier si l’accès a été donné. Nous pouvons regarder s’il y a des appels de script externe ou des imports que nous ne pouvons pas vérifier.
Ou nous pouvons tout simplement utiliser une alternative à Docker Hub au niveau des scanne de sécurité, anchore.io
Ce site permet tout comme Docker Hub d’avoir une vue sur les vulnérabilités présente dans les conteneurs, mais sa particularité est qu’il intègre aussi les conteneurs publics, je suis d’accord ils n’y sont pas tous, mais c’est déjà une très bonne initiative et un bon début. Ce site permet aussi d’effectuer une demande pour que des tests de sécurité soient lancés sur son propre repo public s’il est disponible sur Docker Hub. Une seule demande est possible gratuitement, les demandes en plus nécessiteront une participation financière.
Un exemple ici avec l’application confluence d’atlassian, qui est mise à disposition sur Docker Hub via un repo public :
Ce site est très complet et permet notamment d’avoir accès aux différents paquets installés sur chaque image scannée, aux informations de base comme sur Docker Hub, etc.
J’en profite également pour vous présenter un conteneur pour réaliser un check des bonnes pratiques de sécurité sur votre serveur docker comme la mise en place d’une partition séparée pour Docker, la vérification des mises à jour, le lancement des conteneurs en tant que root, etc.
Ce conteneur s’appelle security benck docker et est disponible ici.
Voici comment l’utiliser :
docker pull docker/docker-bench-security
docker run -it –net host –pid host –userns host –cap-add audit_control \
-e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \
-v /var/lib:/var/lib \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/lib/systemd:/usr/lib/systemd \
-v /etc:/etc –label docker_bench_security \
docker/docker-bench-security
Et voici un exemple de résultat :
Je vous invite également à lire ici les bonnes pratiques de sécurité pour Docker réalisée par le SANS Institute.
J’espère que cet article vous aura plu, si vous avez des questions ou des remarques sur ce que j’ai pu écrire n’hésitez pas à réagir avec moi par mail ou en commentaire !
Merci pour votre lecture et à bientôt !
The post Choisir ses images Docker appeared first on Homputer Security.