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

Ce qui change avec la version 2024 du référentiel d’écoconception de services numériques

Un an et demi après sa publication initiale, le RGESN est mis à jour. Tour…

6 heures ago

Microsoft x Mistral AI : l’Autorité britannique de la concurrence renonce à enquêter

Le régulateur britannique de la concurrence renonce à une enquête approfondie sur le partenariat de…

8 heures ago

MFA obligatoire sur Azure : ce que prépare Microsoft

À partir de juillet 2024, Microsoft imposera progressivement le MFA pour certains utilisateurs d'Azure. Aperçu…

12 heures ago

Informatique quantique : Pasqal vend un premier ordinateur en Arabie Saoudite

La pépite française de l'informatique quantique Pasqal va installer un ordinateur quantique de 200 qubits…

13 heures ago

Incident « sans précédent » chez Google Cloud : que s’est-il passé ?

Le fonds de pension australien UniSuper a vu son abonnement Google Cloud supprimé - et…

14 heures ago

GPT-4o : où, quand et pour qui ?

OpenAI orchestre un déploiement très progressif de GPT-4o, y compris de ses capacités multimodales.

3 jours ago