Outils pour utilisateurs

Outils du site


issue153:mon_opinion1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue153:mon_opinion1 [2020/02/04 13:45] auntieeissue153:mon_opinion1 [2020/02/04 19:24] (Version actuelle) d52fr
Ligne 13: Ligne 13:
 La sécurité de l'hôte La sécurité de l'hôte
  
-Si vous êtes complètement occupé en essayer de faire tourner vos conteneurs exactement comme vous voulez, il est facile d'oublier le fait que vous devriez d'abord accorder une attention particulière à la machine hôte sur laquelle ces conteneurs-là tournent. Il est évident que les sécurité de l'hôte sur lequel comptent vos conteneurs détermine combien de temps actif vous aurez pour les applications et, de plus, affecte le nombre de menaces qui pourrait vous causer des problèmes.+Si vous êtes complètement occupé à essayer de faire tourner vos conteneurs exactement comme vous voulez, il est facile d'oublier le fait que vous devriez d'abord accorder une attention particulière à la machine hôte sur laquelle ces conteneurs-là tournent. Il est évident que la sécurité de l'hôte sur lequel vos conteneurs comptent détermine combien de temps actif vous aurez pour les applications et, de plus, affecte le nombre de menaces qui pourrait vous causer des problèmes.
  
-Les règles habituelles s'appliquent quand il s'agit de vos machines hôte. Vous devrez mettre à jour les paquets dès la disponibilité d'une mise à jour, probablement replannifier les redémarrages pour les mises à jour du noyaut et également vous assurer que nombre minimal de paquets soient installé pour limiter la surface d'attaque.+Les règles habituelles s'appliquent quand il s'agit de vos machines hôte. Vous devrez mettre à jour les paquets dès la disponibilité d'une mise à jour, probablement planifier les redémarrages pour les mises à jour du noyau et également vous assurer que un nombre minimal de paquets soient installé pour limiter la surface d'attaque.
  
-Outre les mises à jour des paquets, bien connues, vous devriez vous assurer que des seuls ports réseaux spécifiques soient exposés, localement et publiquement, puis mettre un pare-feu sur tous les autres points d'accès à un réseau. Là où c'est possible, je vous conseille de limiter l'accès aux applications et surveiller dans le détail les accès via des ports réseau publics.+Outre les mises à jour des paquets, bien connues, vous devriez vous assurer que seuls des ports réseaux spécifiques soient exposés, localement et publiquement, puis mettre un pare-feu sur tous les autres points d'accès à un réseau. Là où c'est possible, je vous conseille de limiter l'accès aux applications et de surveiller dans le détail les accès via des ports publics du réseau.
  
 **Limiting Crosstalk **Limiting Crosstalk
Ligne 35: Ligne 35:
 La sécurité d'un autre domaine peut être prise en charge de façon significative avec un peu de sens commun et de la logique. La sécurité d'un autre domaine peut être prise en charge de façon significative avec un peu de sens commun et de la logique.
  
-Supposez, par exemple, que vous avez trois conteneurs sur un seul hôte, chacun avec une application unique qui fournit un service quelconque. Je vous conseille de réfléchir soigneusement à la façon dont ces conteneurs pourraient interagir du point de vue de l'architecture. Si le Conteneur A n'envoie des données qu'au Conteneur B, le Conteneur C n'a pas du tout besoin d'un accès direct au Conteneur A et devrait être isolé à la fois au niveau de l'hôte et au niveau du réseau interne.+Supposez, par exemple, que vous ayez trois conteneurs sur un seul hôte, chacun avec une application unique qui fournit un service quelconque. Je vous conseille de réfléchir soigneusement à la façon dont ces conteneurs pourraient interagir du point de vue de l'architecture. Si le Conteneur A n'envoie des données qu'au Conteneur B, le Conteneur C n'a pas du tout besoin d'un accès direct au Conteneur A et devrait être isolé à la fois au niveau de l'hôte et au niveau du réseau interne.
  
-Examinons un autre scénario où vous pourriez avoir deux serveurs Web en avant-plan qui tournent grâce à deux conteneurs et, aussi, un seul serveur de données en arrière-plan. Les serveurs en avant-plan envoie des requêtes re lecture et de l'écriture à la base de données et le TCP port 443 est le seul qui doit être exposé au public de la perspective du réseau.+Examinons un autre scénario où vous pourriez avoir deux serveurs Web en avant-plan qui tournent grâce à deux conteneurs et, aussi, un seul serveur de données en arrière-plan. Les serveurs en avant-plan envoient des requêtes de lecture et d'écriture à la base de données et le port 443 TCP est le seul qui doit être exposé au public vu du réseau.
  
-Il y a cependant des foules d'autres conteneurs qui tournent sur la même machine hôte qui ne devraient avoir aucune visibilité du trafic potentiellement sensible passant au travers du serveur de la base de données avant d'être écrit et stocké en dehors du conteneur. Ici, je conseillerais d'utiliser un réseau de passerelles. En connectant  seulement les deux serveurs Web et l'unique serveur de la base de données à ce réseau privé, nous réussirons à limiter l'accès réseau et fournirons une couche d'isolation.+Il y a cependant des foules d'autres conteneurs qui tournent sur la même machine hôte qui ne devraient avoir aucune visibilité sur le trafic potentiellement sensible passant au travers du serveur de la base de données avant d'être écrit et stocké en dehors du conteneur. Ici, je conseillerais d'utiliser un réseau à passerelles. En connectant  seulement les deux serveurs Web et l'unique serveur de la base de données à ce réseau privé, nous réussirons à limiter l'accès réseau et fournirons une couche d'isolation.
  
-Cela signifie que, si un autre conteneur sur l'hôte est attaqué et compromis, il y a plus de couches de sécurité qu'un attaquant devrait franchir pour avoir accès aux données de la base de données.+Cela signifie que, si un autre conteneur sur l'hôte est attaqué et compromis, il y a plus de couches de sécurité à franchir par un attaquant pour avoir accès aux données de la base de données.
  
 **Common Vulnerabilities **Common Vulnerabilities
Ligne 57: Ligne 57:
 Les CVE (Common Vulnerabilities and Exploits) tant redoutés s'appliquent aux mises à jour de paquets, comme nous venons de le voir sur le système d'exploitation de l'hôte et vous devriez surveiller les CVE avec divers outils. Les CVE (Common Vulnerabilities and Exploits) tant redoutés s'appliquent aux mises à jour de paquets, comme nous venons de le voir sur le système d'exploitation de l'hôte et vous devriez surveiller les CVE avec divers outils.
  
-L'approche de la mise à jour de paquets dans vos conteneurs est tout à fait autre chose. Un nombre d'approches convenables existent, mais il vous faut une stratégie qui, pourtant, est souvent rejetée comme étant traviale. Ainsi, les pratiques de correctifs ad hoc peuvent devenir dangereusement erratiques, parce que même les images très populaires de conteneur contiennent au mieux un nombre étonnant de CVE. En fait, les vendeurs ne rendent pas toujours disponible des correctifs pour beaucoup de paquets au moment où un conteneur est créé et potentiellement exposé au public, ce qui signifient qu'appliquer des correctifs est presque impossible.+L'approche de la mise à jour de paquets dans vos conteneurs est tout à fait autre chose. Un nombre d'approches convenables existent, mais il vous faut une stratégie qui, pourtant, est souvent rejetée comme étant anodine. Ainsi, les pratiques de correctifs ad hoc peuvent devenir dangereusement erratiques, parce que même les images très populaires de conteneur contiennent au mieux un nombre étonnant de CVE. En fait, les vendeurs ne rendent pas toujours disponibles les correctifs pour beaucoup de paquets au moment où un conteneur est créé et potentiellement exposé au public, ce qui signifi qu'appliquer des correctifs est presque impossible.
  
-La recommandation est de bien réfléchir aux risques qui vous affectent le plus. Prenez le temps de comprendre pleinement vos priorités ainsi que les surfaces d'attaque qui vous présentez à l'interne comme à l'externe. Ensuite, décidez dans quelle mesure la mise à jour de chaque paquets pour des alertes déclenchés est réaliste et à quelle fréquence. Choisir un outil qui peut vous alerter automatiquement à des mises à jour de logiciels peut être décourageant, car il n'y en a que quelques-uns. Un outil sophistiqué, qui peut tourner à l'intérieur des conteneurs, s'appelle Anchore et se trouve ici (https://anchore.com/opensource).+La recommandation est de bien réfléchir aux risques qui vous affectent le plus. Prenez le temps de comprendre pleinement vos priorités ainsi que les surfaces d'attaque que vous présentez en interne comme en externe. Ensuite, décidez dans quelle mesure la mise à jour de chaque paquet pour des alertes déclenchées est réaliste et à quelle fréquence. Choisir un outil qui peut vous alerter automatiquement des mises à jour de logiciels peut être décourageant, car il n'y en a que quelques-uns. Un outil sophistiqué, qui peut tourner à l'intérieur des conteneurs, s'appelle Anchore et se trouve ici (https://anchore.com/opensource).
  
-Comme mentionné tous les problèmes des CVE ne peuvent pas être mitigés en utilisant les mise à jour proposée par le gestionnaire des paquets, parce que les correctifs n'ont pas été publiés par les vendeurs. Des compromis entre l'utilisation de systèmes d'exploitations alternatifs et l'utilisation d'applications alternatives peuvent s'avérer nécessaire de temps en temps.+Comme mentionné tous les problèmes des CVE ne peuvent pas être mitigés en utilisant les mises à jour proposées par le gestionnaire des paquets, parce que les correctifs n'ont pas été publiés par les vendeurs. Des compromis entre l'utilisation de systèmes d'exploitations alternatifs et l'utilisation d'applications alternatives peuvent s'avérer nécessaire de temps en temps.
  
 **Locking Down Access **Locking Down Access
Ligne 77: Ligne 77:
 Verrouiller l'accès Verrouiller l'accès
  
-Puisque tous les conteneurs sur une même machine partage le noyau de l'hôte, il est essentiel pour sa protection que l'hôte soit convenablement isolé. Si l'hôte ne fonctionne pas correctement, à la longue il n'y a que des temps d'arrêt ce qui signifie qu'une attaque réussie sur un conteneur n'est pas empêchée et que celui-là peut « s'évader », ce qui, à son tour, signifiera que les autres conteneurs, et leurs applications, ou même l'hôte lui-même pourraient succomber à l'attaque.+Puisque tous les conteneurs sur une même machine partage le noyau de l'hôte, il est essentiel pour sa protection que l'hôte soit convenablement isolé. Si l'hôte ne fonctionne pas correctement, à la longue il n'y a que des temps d'arrêt ce qui signifie qu'une attaque réussie sur un conteneur n'est pas empêchée et que celui-là peut « s'évader », ce qui, à son tour, signifiera que les autres conteneurs, et leurs applications, ou même l'hôte lui-mêmepourraient succomber à l'attaque.
  
 Au fil des ans, le noyau Linux a introduit de nombreuses techniques astucieuses d'isolation que nous n'examinerons pas en détail ici. Au fil des ans, le noyau Linux a introduit de nombreuses techniques astucieuses d'isolation que nous n'examinerons pas en détail ici.
  
-Toutefois, vous devriez connaître les Kernel Namespaces, qui signifient que, si tout se passe bien d'une perspective sécuritaire, Client A ne peut pas voir ce ue fait Client B. De plus, vous devriez connaître les Control Groups, alias « cgroups », qui peuvent appliquer des quotas stricts de ressources comme la quantité de mémoire ou d'accès au disque un conteneur pourrait avoir.+Toutefois, vous devriez connaître les Kernel Namespaces (espaces de noms), qui signifient que, si tout se passe bien d'une perspective sécuritaire, le Client A ne peut pas voir ce que fait le Client B. De plus, vous devriez connaître les Control Groups, alias « cgroups », qui peuvent appliquer des quotas stricts de ressources comme la quantité de mémoire ou d'accès au disque qu'un conteneur pourrait avoir.
  
 Vous voudriez sans doute lire aussi quelque chose sur les capacités du noyau, car il peut créer toutes sortes de restrictions d'accès utiles. Par exemple, voulez-vous vraiment qu'un conteneur puisse changer la date et l'heure sur l'horloge système de l'hôte. C'est très peu probable ! Vous voudriez sans doute lire aussi quelque chose sur les capacités du noyau, car il peut créer toutes sortes de restrictions d'accès utiles. Par exemple, voulez-vous vraiment qu'un conteneur puisse changer la date et l'heure sur l'horloge système de l'hôte. C'est très peu probable !
  
-Bien que nous n'ayons fait qu'effleurer la surface de ce sujet, vous devraiez aussi vous assurer que des utilisateurs avec moins de privilèges ne puissent pas démarrer et arrêter des conteneurs avec des permissions, avec lesquels un assaillant pourrait faire de vilaines choses. Laissez ce genre de chose au super-utilisateur root seul.+Bien que nous n'ayons fait qu'effleurer la surface de ce sujet, vous devriez aussi vous assurer que des utilisateurs avec moins de privilèges ne puissent pas démarrer et arrêter des conteneurs avec des permissions, avec lesquelles un assaillant pourrait faire de vilaines choses. Laissez ce genre de chose au super-utilisateur root seul.
  
  
Ligne 106: Ligne 106:
 Quand vous faites tourner plus que quelques conteneurs à la fois, cela pourrait être comme essayer de rassembler des chats et de les faire bien se comporter. Quand vous faites tourner plus que quelques conteneurs à la fois, cela pourrait être comme essayer de rassembler des chats et de les faire bien se comporter.
  
-Pour de grandes charges de travail, beaucoup de gens font appelle à Kubernetes (https://kubernetes.io) et cela apporte ses propres considérations sécuritaires en plus.+Pour de grosses charges de travail, beaucoup de gens font appel à Kubernetes (https://kubernetes.io), qui apporte ses propres considérations sécuritaires en plus.
  
-Bref, vous devriez utiliser une approche plus sophistiquée à l'isolation du réseau que nous avons traité ci-dessus, et vous assurer que les clients ou les applications sont divisées par des namespaces.+Bref, vous devriez utiliser une approche de l'isolation du réseau plus sophistiquée que celle traitée ci-dessus, et vous assurer que les clients ou les applications sont divisés par des namespaces.
  
-Vous devriez également affiner les politiques Pod Security Polisiesquisont valable sur tout l'ensemble, pour limiter le bruit de la diaphonie et l'accès à l'hôte en plus.+Vous devriez également affiner les Pod Security Policies (Règles de sécurisation des Pods)qui sont valables sur tout l'ensemble, pour limiter le bruit de la diaphonie et, en plus, l'accès à l'hôte.
  
-Enfin, pour des scénarios des conteneurs sensibles, vous pouvez introduire Security Context Constraints (https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) sur la base d'une Pod (un ou plusieurs conteneurs).+Enfin, pour les scénarios des conteneurs sensibles, vous pouvez introduire les Security Context Constraints (Contraintes contextuelles de sécurité) (https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) sur la base d'une Pod (à un ou plusieurs conteneurs).
  
 N'hésitez pas à en lire davantage afin de faire en sorte que la sécurité d'un ensemble fonctionne bien, parmi d'autres domaines. N'hésitez pas à en lire davantage afin de faire en sorte que la sécurité d'un ensemble fonctionne bien, parmi d'autres domaines.
Ligne 124: Ligne 124:
 Une isolation plus forte Une isolation plus forte
  
-Bien qu'un très haut niveau d'isolation soit possible grâce à l'incarnation en machine virtuelle précédente de « rkt » (https://coreos.com/rkt/), l'exécution de conteneur par CoreOS avec KVM (https://www.linux-kvm.org/page/Main_Page)ce qui est à la mode actuellement, c'est Kata Containers (https://katacontainers.io/). L'objectif de Kata Containers est essentiellement de fournir les mêmes niveaux de protection sécuritaire que les machines virtuelles (où une véritable isolation entre l'hôte et la charge de travail a lieu), et de permettre aux conteneurs de bénéficier d'une telle protection.+Bien qu'un très haut niveau d'isolation soit possible grâce à l'incarnation en machine virtuelle précédente de « rkt » (https://coreos.com/rkt/), le runtime de conteneur de CoreOS avec KVM (https://www.linux-kvm.org/page/Main_Page) ce qui est à la mode actuellement, c'est Kata Containers (https://katacontainers.io/). L'objectif de Kata Containers est essentiellement de fournir les mêmes niveaux de protection sécuritaire que les machines virtuelles (où une véritable isolation entre l'hôte et la charge de travail a lieu), et de permettre aux conteneurs de bénéficier d'une telle protection.
  
-Les machines viruelles acopte une isolation au niveau du matériel ce qui rend les attaques bien plus difficiles que le contournement tout simple du noyau de la machine hôte. En imposant astucieusement ce niveau-là d'isolation, mais avec des temps de démarrage rapide, la portabilité et la prédictabilité de conteneurs jetables, c'est certainement une technologie qui mérite votre attention. Restez en contact.+Les machines virtuelles adoptent une isolation au niveau du matériel ce qui rend les attaques bien plus difficiles que le contournement tout simple du noyau de la machine hôte. En imposant astucieusement ce niveau-là d'isolation, mais avec des temps de démarrage rapide, la portabilité et la prédictabilité de conteneurs jetables, c'est certainement une technologie qui mérite votre attention. Restez en contact.
  
 **The End Is Nigh **The End Is Nigh
Ligne 136: Ligne 136:
 La fin approche La fin approche
  
-On n'a à peine effleurer la surface en termes d'approfondissement des détails sur la sécurisation des applications dans vos conteneurs.+On n'a à peine effleuré la surface en termes d'approfondissement des détails sur la sécurisation des applications dans vos conteneurs.
  
-Cependant, j'espère que les domaines clés dont je vous ai donné un aperçu vous feront réfléchir autour de vos lectures la prochaine fois que vous devriez prendre une décision sur comment résoudre un problème de sécurité de conteneurs.+Cependant, j'espère que les domaines-clés dont je vous ai donné un aperçu vous feront réfléchir autour de vos lectures la prochaine fois que vous devriez prendre une décision sur comment résoudre un problème de sécurité des conteneurs.
  
issue153/mon_opinion1.txt · Dernière modification : 2020/02/04 19:24 de d52fr