Introduction aux containers Linux

Magazine
Marque
MISC
Numéro
95
Mois de parution
janvier 2018
Domaines


Résumé
Les containers n’existent pas. Enfin, pas en tant que tel. Cet article présente les briques de base des containers Linux que sont les namespaces et les cgroups à travers des exemples concrets. Les lecteurs assidus repartiront avec un module PAM sur mesure pour sandboxer un utilisateur SSH.


Qui ne connaît pas Docker ? Vous avez de la chance : vous abordez cet article libre de tout a priori sur ce qu’est – ou pas – un container.

Dans le noyau Linux, les containers n’existent pas. Un « grep » dans le code source du noyau pourra vous en convaincre. Il y a bien eu une tentative en mai dernier d’ajouter une telle notion pour un besoin spécifique qui sort du cadre de cet article, mais elle n’a pas rencontré d’enthousiasme.

Si les containers en eux-mêmes n’existent pas dans le noyau Linux, celui-ci en fournit du moins les briques élémentaires, les plus significatives étant les cgroups et les namespaces qui feront l’objet de cet article. Il y en a d’autres, elles feront l’objet d’un autre article de ce dossier.

1. Que sont les containers ?

J’aime parler des cgroups et des namespaces comme des étiquettes que l’on attache à des processus. Comme toutes les « étiquettes » des processus, elles peuvent être consultées via le /proc. On aura...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Attaques en environnement Docker : compromission et évasion

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines
Résumé

Ces dernières années, on a pu observer une évolution croissante des environnements conteneurisés et notamment de l’usage de Docker. Les arguments mis en avant lors de son utilisation sont multiples : scalabilité, flexibilité, adaptabilité, gestion des ressources... En tant que consultants sécurité, nous sommes donc de plus en plus confrontés à cet outil. Au travers de cet article, nous souhaitons partager notre expérience et démystifier ce que nous entendons bien trop régulièrement chez les DevOps, à savoir que Docker est sécurisé par défaut.

Les taxonomies se cachent pour ne pas mourir

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines
Résumé

« Attention, nouveau virus ! » Nombreux sont les articles à nous alerter régulièrement, par cette métonymie, sur l’émergence d’un nouveau malware. Pourtant, le terme de virus a-t-il encore un sens aujourd’hui ? Wannacry était-il un ver, ou un ransomware ? NotPetya, un wiper, ou bien un ver ? Et plus encore, au-delà de l’utilisation de termes et expressions se pose la question de la nécessaire catégorisation des incidents de cybersécurité ; pourquoi, comment, à quelles fins ? Essai (critique) de réponse.

Les difficultés du désassemblage sur ARM

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines
Résumé

Cet article aborde les problèmes spécifiques à l’architecture ARM qui se posent lorsqu’on désassemble un exécutable, c’est-à-dire lorsqu’on l’analyse statiquement pour en produire une représentation en langage assembleur. En effet, les particularités de l’architecture ARM peuvent rendre le désassemblage – déjà habituellement compliqué – particulièrement ardu.

Sûreté mémoire : le temps des cerises

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines
Résumé

L’étude et la compréhension des buffer overflow datent de 1972, et leurs premiers usages documentés de 1988 [1]. Près de 50 ans plus tard, où en sommes-nous ? Il nous faut bien admettre que la situation est déprimante : Microsoft et Google reconnaissent chacun ([2], [3]) que près de 2/3 des attaques utilisent à un moment ou un autre une vulnérabilité mémoire. Le ver Morris, qui n’était au départ qu’une preuve de concept, avait quand même coûté la bagatelle de quelques millions de dollars à l’époque… Aujourd’hui, les coûts sont abyssaux : sur le plan financier bien sûr, mais aussi pour nos vies privées, voire nos vies tout court. Face à ce problème, de nombreuses approches sont possibles : analyse statique du code, instrumentation et vérification à l’exécution, langages « sûrs »… Je vous propose d’explorer dans cet article un vieux concept remis au goût du jour, les capabilities, et tout ce qu’elles pourraient nous permettre de faire.