Pour gérer vos consentements :

Comment Netflix gère la sécurité de ses conteneurs

Dans les architectures en conteneurs, aussi appelées architectures en micro-services, la sécurisation des échanges apparaît comme un des défis principaux qui se posent aux DSI. Raison de plus pour prêter une attention particulière au billet de blog que publient les équipes techniques de Netflix, billet qui détaille comment le site de streaming sécurise les échanges entre les centaines d’applications qu’il fait tourner sous forme de micro-services. « Un de nos objectifs, afin d’implémenter une sécurité en profondeur, est de mettre en place des communications chiffrées et authentifiées entre tous nos services à chaque fois que c’est possible, que ces échanges voyagent ou non sur l’Internet public », écrit  Ian Haken, un chercheur en sécurité travaillant pour Netflix. Un principe synonyme d’utilisation extensive de TLS.

Plusieurs questions techniques découlent toutefois de cet impératif. D’abord, dans un environnement Cloud capable de s’adapter automatiquement à la demande – ce qu’on appelle l’autoscaling -, il faut être en mesure de certifier tout nouvel environnement créé (voir à ce sujet cette vidéo YouTube, dans laquelle le même Ian Haken décrit la solution retenue par le site de streaming, solution qui repose sur un régime d’autorisations fournies par le prestataire Cloud, ici AWS). Ensuite, se pose le problème de la fourniture des certificats à proprement parler. Or, comme le note Ian Haken, les règles de sécurité interdisent aux autorités de certification publiques d’émettre des certificats pour des classes d’adresses IP privées, famille à laquelle appartiennent les applications de Netflix n’ayant pas d’existence sur l’Internet public.

Name Constraints restreint la portée des certificats

Ian Haken

La solution ? Mettre en place sa propre autorité de certification (CA). « Mais nous étions hésitants vis-à-vis de cette solution », reprend le technicien. Tout simplement parce qu’elle implique à priori de forcer les navigateurs des utilisateurs à accepter les certificats non émis par des autorités publiques. Un risque important, selon Ian Haken. « Forcer nos utilisateurs à faire confiance à une autorité privée signifie qu’il faut s’assurer que cette autorité ne sert qu’à certifier des services internes et qu’elle ne sera pas détournée dans le cadre d’une attaque de type Man-in-the-middle […]. Non seulement un assaillant pourrait compromettre nos canaux de trafic interne, mais toutes les communications de nos employés seraient exposés, y compris depuis leur domicile. » D’où la solution de contournement mise en place par les équipes de Netflix : une extension de TLS appelée Name Constraints.

Cette extention permet de créer des listes blanches des IP et domaines qu’une autorité et ses sous-autorités (à qui la première délègue ses pouvoirs d’émission) sont autorisées à certifier. Un outil tout indiqué dans le cadre de l’inclusion d’une autorité de certification interne dans la zone de confiance des navigateurs. « Nous pouvons ainsi limiter les sites web qui peuvent être vérifiés en utilisant cette racine, même si la CA ou l’un de ses intermédiaires sont mal utilisés », précise l’ingénieur.

Netflix teste en profondeur

Si, sur le papier, la solution semble adaptée, Netflix n’en reste pas là. « Avant de nous reposer sur cette solution pour protéger nos utilisateurs, nous voulions nous assurer que les navigateurs implémentaient réellement la vérification de Name Constraints et qu’ils effectuaient cette opération correctement », écrit Ian Haken. Pour ce faire, Netflix a lancé une série de tests. Concluants quand il s’est agi de détecter un site signé avec un certificat violant les règles de l’extension. Les quatre browsers, Chrome, Firefox, Edge, and Safari, passant alors l’épreuve avec succès. « Toutefois, à mesure que nous étendions notre batterie de tests, nous avons rapidement commencé à perdre confiance », raconte le chercheur en sécurité. En cause notamment : la capacité, en créant des certificats très proches des modèles légitimes, à bypasser les sécurités de Name Constraints (exception faite de Firefox).

Dans son billet de blog, Netflix explique avoir travaillé avec les éditeurs pour résoudre la plupart des problèmes rencontrés lors de cette batterie de tests. Google (pour Chrome) et Oracle (pour Java) s’étant montrés particulièrement réceptifs, assure Ian Haken. Les entreprises qui déploient des architectures en microservices et souhaitent adopter une solution similaire à celle de Netflix (CA interne et emploi de Name Constraints) pourront, de toute façon, se faire leur propre opinion sur le sujet : le site de streaming a placé sa batterie de tests en Open Source, sous l’appellation BetterTLS.

A lire aussi :

31 bonnes pratiques pour sécuriser les conteneurs Docker

Netflix dit adieu au datacenter et vive AWS

Netflix révise sa politique Open Source avec Docker

Crédit Photo : Scyther5-Shutterstock

Recent Posts

Failles sur les équipements de sécurité : le retex du CERT-FR

Le CERT-FR revient sur les failles dans équipements de sécurité présents notamment en bordure de…

9 heures ago

Silo AI, point d’ancrage européen pour Mistral AI

Mistral AI formalise ses travaux communs avec l'entreprise finlandaise Silo AI, qui publie elle aussi…

12 heures ago

Véronique Torner – Numeum : « Il faut que le numérique bénéficie d’un environnement propice à l’innovation et à la compétitivité»

La présidente de Numeum, Véronique Torner, revient sur la genèse de la tribune du collectif…

13 heures ago

Microsoft x OpenAI : pas de prise de contrôle selon l’UE

Après avoir mené son enquête, la Commission européenne considère qu'il n'y a pas de prise de…

14 heures ago

Atos : les grands axes de l’accord avec les créanciers

Les banques et les créanciers obligataires d'Atos ont trouvé un accord pour restructurer la dette…

14 heures ago

Christophe Vannier – Carrefour Banque : « Le RSSI doit discuter de plus en plus avec les métiers »

Sur la feuille de route de Christophe Vannier, RSSI de Carrefour Banque, on trouve la…

15 heures ago