Allowlist vs. Denylist
L'une des caractéristiques innées des sacs d'eau à base de carbone est le besoin d'organiser notre environnement. Si nous voulons vraiment comprendre quelque chose, nous devons d'abord regarder comment c'est organisé. Aujourd'hui, lorsque les gens aiment vraiment leur organisation, ils parlent de "culture", et lorsqu'ils la détestent, ils rejettent la faute sur les autres.
En informatique, nous organisons des données un peu partout. Par exemple, la sécurité est fondée sur l'idée d'organisation en ce qui concerne les relations et la question de savoir si nous les autorisons ou les refusons. D'un côté de la barrière organisationnelle, il y a les "denylists" et de l'autre, les "allowlists". Rappelez-vous que tout ce que nous essayons de faire, c'est d'autoriser ou de refuser le trafic provenant de différentes entités.
La question est de savoir s'il faut refuser ou autoriser la liste.
Les listes de refus font partie d'un modèle centré sur les menaces dans lequel vous autorisez la circulation de toutes les données, à l'exception de celles qui doivent être bloquées. Le problème est que les attaques de type "zero-day" étant, par définition, inconnues, elles sont autorisées par défaut et sont transparentes, tout comme un faux positif.
Les dénylistes ont également tendance à être gourmands en ressources. Le fait de devoir lire un fichier entier et de déterminer s'il faut l'autoriser ou le refuser de manière monolithique nécessite beaucoup de cycles de l'unité centrale. Et pour les maintenir à jour, il faut soit des mises à jour manuelles régulières, soit un service dynamique.
Une liste d'autorisation suit un modèle centré sur la confiance qui refuse tout et n'autorise que ce que vous autorisez explicitement - un meilleur choix dans les centres de données d'aujourd'hui. Soyons réalistes, la liste de ce que vous voulez connecter dans votre centre de données est bien plus petite que celle de ce que vous ne voulez pas connecter, n'est-ce pas ? Cela permet de réduire immédiatement, voire d'éliminer, les faux positifs.
Les listes d'admissibilité sont peu gourmandes en ressources système, ce qui les rend parfaites pour les serveurs. Ils lisent les métadonnées d'un flux, l'indexent par nom de fichier, puis l'autorisent ou le refusent à la source locale. Simple et rapide. Cependant, le talon d'Achille des allowlists est la gestion de ces derniers. Considérez que vous gérez fondamentalement tous les flux de trafic possibles en provenance et à destination de toutes les charges de travail possibles, dans toutes les combinaisons possibles. Les listes d'homologation sont excellentes, certes, mais vous avez besoin d'un contrôleur centralisé.
Il y a toujours une zone grise
Bien sûr, il existe une zone grise. Comme dans tout exemple de technologie de l'information, il convient de rappeler l'axiome de Kuipers, qui dit que "dans la plupart des cas et à tout moment, le monde change continuellement". Ou, comme nous l'appelons, "ça dépend".
Les listes de contrôle d'accès sont le "ça dépend" de cette équation car, techniquement, elles peuvent être utilisées comme des listes de refus ou d'autorisation. (Si vous vous êtes mis à chanter l'air de Michael Jackson, vous êtes génial !) Comme tout étudiant de Networking 101 peut l'attester, les ACL ont un "deny any any" implicite à la fin, ce qui en fait une liste d'autorisation (allowlist). Cependant, la meilleure pratique consiste à placer des déclarations DENY dans l'ACL avec un "permit any any" à la fin, ce qui la transforme en une liste de refus.
Et maintenant ?
La sécurité est comme un bon gâteau de velours rouge - les couches font toute la différence. Aucune solution unique ne sera la panacée. Honnêtement, les dénylistes sont beaucoup plus faciles à mettre en œuvre en théorie. Le problème est qu'à mesure que les menaces augmentent, les listes de dénominations deviennent de moins en moins efficaces. Elles sont plus sujettes aux erreurs et nécessitent plus de maintenance à long terme.
Les listes de refus ont leur place au périmètre du réseau pour les flux de données nord-sud, où les limites sont plus statiques et agissent comme un filtre à gros grain. Mais c'est à l'intérieur du centre de données que circule la majorité du trafic. Un contrôle fin est nécessaire ici pour protéger les charges de travail qui se déplacent dans tous les sens, changent d'adresse IP, font tourner les applications et les font redescendre, etc. Les listes d'autorisation sont la solution parfaite pour les flux de données est-ouest. Par défaut, ils ne font confiance à rien.
Mon père avait l'habitude de dire : "Quand on n'a qu'un marteau, tout est un clou". Dans les centres de données d'aujourd'hui, massivement évolutifs et flexibles, il est temps de ranger le marteau et de s'emparer des outils de précision.