Le rôle de la découverte de services dans la fourniture moderne de ressources : une exploration approfondie

Le blogue explique en détail le concept de découverte de services à l’aide de l’outil Cartography. Il aborde les façons d’améliorer la sécurité des données et ses fonctions.
5 minutes de lecture
Harish Puvvada
Harish Puvvada
Consultant principal
5 minutes de lecture

De nos jours, les équipes de sécurité ont besoin d’informations et de contexte au sujet des données pour les garder à l’abri des red teamers (qui peuvent découvrir des chemins d’attaque). Les données peuvent être protégées si nous avons une visibilité sur celles-ci. Comme le nombre de services et d’applications dans les environnements informatiques modernes continue d’augmenter, il est devenu de plus en plus difficile pour les fournisseurs de ressources de tout gérer et de tout localiser. C’est là que la découverte des services entre en jeu.

La découverte des services est utilisée pour identifier, explorer et analyser les services des fournisseurs de ressources. Au cours des dernières années, la demande a augmenté pour les outils qui peuvent aider les personnes et les organisations à découvrir et à visualiser les services et les ressources dans un contexte graphique. Un outil qui peut être particulièrement utile à cet effet est Cartography, un outil Python open source qui aide à permettre une vaste exploration visuelle des services.

Ce blogue détaille l’utilisation de l’outil Cartography pour la découverte des services, ses avantages en matière de sécurité des données et la dépendance à la base de données Neo4j. Cartography est efficace pour exposer les dépendances cachées entre les actifs du service, ce qui aide à valider les hypothèses sur les risques de sécurité en comprenant ces dépendances.

L’outil vise à aider les entreprises à comprendre, explorer et suivre les relations entre les entités de leur écosystème. Contrairement à d’autres outils de sécurité, Cartography est suffisamment général et extensible pour aider n’importe qui et peut fournir une meilleure compréhension de leur exposition au risque, peu importe les plateformes qu’ils utilisent.

Qu’est-ce que Cartography ?

Cartography consolide les actifs de l’infrastructure et leurs relations dans une vue graphique intuitive propulsée par une base de données Neo4j. Il peut fonctionner sur des serveurs Linux et Windows, mais il a été testé sur des serveurs Linux jusqu’à maintenant.

Qu’est-ce que Neo4j ?

Neo4j est une base de données graphique populaire, et elle est écrite en langage Java. Elle fournit le langage de requête Cypher (CQL), qui est utilisé pour représenter les graphes visuellement. Elle stocke les données et les affiche sous forme de graphe, et elle n’utilise pas de tables, de colonnes et de lignes pour stocker les données et présenter les données sous forme de tableau.

Pourquoi une base de données graphique ?

Les bases de données standards se concentrent uniquement sur la capture de points de données individuels, tandis que la base de données graphique comprend deux entrées : des nœuds et des relations. Les nœuds sont les points de données individuels, et les relations décrivent comment ces points de données sont reliés entre eux.

Configuration de Cartography

  1. Installez la base de données graphique Neo4j sur votre serveur en téléchargeant l’édition communautaire de Neo4j
  2. Configurez les sources de données pour les fournisseurs de ressources comme les services AWS, Azure ou GCP
  3. Lancez Cartography à l’aide de « pip install cartography » pour installer le code
  4. Synchronisez vos données en lançant la commande ci-dessous

cartography --neo4j-uri bolt://localhost:7687>

Une fois Cartography et Neo4j installés et synchronisés avec les données, nous pouvons afficher l’interface web Neo4j à l’adresse http://localhost:7474.

 

qute-color

De nos jours, les équipes de sécurité ont besoin d’informations et de contexte au sujet des données afin de les garder à l’abri des Red Teamers (qui peuvent découvrir des chemins d’attaque). Nous pouvons protéger les données si nous avons une visibilité sur celles-ci. Cela peut être réalisé en utilisant Cartography.

Publier sur Twitter  

Flux de travail de Cartography

Cartography synchronise les actifs d’infrastructure du fournisseur de ressources et pousse les données vers la base de données Neo4j.

Il y a quelques étapes pour synchroniser Cartography – Obtenir, Transformer, Charger, Nettoyer

  1. La fonction OBTENIR récupère les données nécessaires à partir d’une API de fournisseur de ressources.
  2. La fonction TRANSFORMER aide à convertir les données pour qu’elles soient plus faciles à ingérer dans le graphe.
  3. La fonction CHARGER pousse les données traitées vers Neo4j.
  4. Après avoir ajouté les nœuds et les relations au graphe, si les données les plus récentes doivent être renvoyées à la base de données, alors les nœuds et relations obsolètes qui n’existent plus seront supprimés dans le cadre de la fonction NETTOYER.

Exemple de base de données graphique Neo4j

Neo4j-graph-database

Source : https://github.com/lyft/cartography/blob/master/docs/root/images/accountsandrds.png

Plateformes et services pris en charge

  1. Amazon Web Services – API Gateway, EC2, Config, Elasticsearch, Elastic Kubernetes Service (EKS), IAM, Inspector, Lambda, KMS, RDS, Route53, Redshift, DynamoDB et S3
  2. Microsoft Azure – CosmosDB, Machine virtuelle, Stockage, SQL
  3. Google Cloud Platform – Cloud Resource Manager, Compute, Google Kubernetes Engine, Stockage et DNS
  4. Google Workspace – Groupes, utilisateurs
  5. Oracle Cloud Infrastructure – IAM
  6. Okta – utilisateurs, groupes, rôles, applications et organisations
  7. Kubernetes – Service, Pod, Cluster, Namespace, Conteneur

Avantages de Cartography

  1. Optimisation des coûts des services – Après la synchronisation Cartography, on peut examiner les services Neo4j et régler le problème des services inutilisés en supprimant ceux qui ne sont plus nécessaires, ce qui permet d’économiser sur les coûts de ces services.
  2. Meilleure sécurité – La transparence des données révèle les vulnérabilités, permettant ainsi de reprendre le contrôle.
  3. Identification des dépendances – Permet l’identification des dépendances des services et de leurs propriétés qui peuvent être observées dans la base de données, afin que les fournisseurs de services cloud puissent mieux comprendre l’impact potentiel de perturbations de service sur d’autres services.
  4. Consolidation de tous les services – Tous les services des fournisseurs de cloud peuvent être consultés à un seul endroit, ce qui permet aux utilisateurs de cloud de surveiller plus facilement leurs ressources. Cela permet de gagner du temps et de l’effort par rapport à la gestion de plusieurs services en différents endroits.
  5. Visualisation des données sous plusieurs formes – Toutes les données des nœuds peuvent être vues non seulement sous forme de graphiques, mais aussi dans différentes formes comme des tableaux, du texte et du code. Les tableaux permettent de fournir une vue structurée des données, tandis que le texte aide à fournir du contexte et des explications. Le code peut aider à rendre l’analyse des données plus transparente et reproductible. En utilisant les données sous plusieurs formes, il est possible de fournir une compréhension plus complète et approfondie des renseignements tirés des données.
  6. Exporter les données – Les données des nœuds et leurs relations peuvent être téléchargées sous différentes formes comme JSON (JavaScript Object Notation), CSV (Comma Separated Values), PNG (Portable Network Graphics) et SVG (Scalable Vector Graphics). Avec les données dans divers formats, les utilisateurs peuvent choisir le format qui convient le mieux à leurs besoins et travailler sur les données de la manière la plus efficace pour eux. JSON et CSV sont de bons choix pour les développeurs et analystes de données, tandis que PNG et SVG conviennent davantage au partage de données et à leur visualisation.

Références

  1. Qu’est-ce que Cartography ? – Explications sur Cartography
  2. Qu’est-ce que Neo4j ?
  3. Pourquoi une base de données graphique ?
  4. Explications sur le flux de travail de Cartography
  5. Plateformes prises en charge par Cartography ?

Explorez le parcours numérique de demain

En savoir plus

Recevez les informations et mises à jour de HCLTech directement dans votre boîte de réception

Partager sur
ERS Génie Blogues Le rôle de la découverte de services dans la fourniture moderne de ressources : une exploration approfondie