CloudMapper, un tool open source per la visualizzazione di ambienti AWS

Duo Security ha rilasciato CloudMapper, uno strumento open source per la visualizzazione di ambienti cloud Amazon Web Services (AWS).

0 119

Quando si lavora con Amazon Web Services (AWS), è comune avere certo un numero di account separati e gestiti da diversi team per progetti diversi.

Per ottenere una migliore comprensione del modo in cui tali account sono configurati è necessario presentare visivamente le risorse dell’account ed il modo in cui queste risorse possono comunicare.

Duo Security ha creato CloudMapper, uno strumento rilasciato come open source su Github e utile per generare diagrammi di rete interattivi di account AWS.

Puoi vedere una demo qui.

Utilizzando CloudMapper, potrai rispondere rapidamente a una serie di domande, come ad esempio:

  • Quali risorse sono esposte pubblicamente?
  • Quali risorse possono comunicare internamente con altre risorse?
  • Hai un’architettura sufficientemente robusta in caso di guasto di una zona di disponibilità?
  • Quante regioni utilizza il tuo account? Quanto “grande” è questo account? Quanto è complesso?

CloudMapper consente agli ingegneri di:

  • Aumentare la comprensione ed il controllo di ciò che hanno costruito
  • Comprendere rapidamente altri ambienti
  • Presentare tali informazioni ad altre strutture aziendali
screenshot cloudmapper
La videata dimostrativa di CloudMapper

Come funziona CloudMapper

Ci sono tre passaggi necessari per utilizzare CloudMapper:

  • Raccogliere informazioni su un account AWS tramite uno script shell che utilizza l’interfaccia a riga comando di AWS.
  • Convertire i dati in un formato utilizzabile dal web browser.
  • Visualizzare i dati raccolti nel tuo browser.

Il primo passo per la raccolta delle informazioni richiede solo i privilegi per descrivere e elencare le informazioni su un account: questo può essere fatto con la policy AWS SecurityAudit.

Se non si ha accesso diretto all’account, qualcun altro può eseguire questo script ed inviarti successivamente il ​​pacchetto di file che viene creato.

Il secondo passaggio è quello di convertire questi file in qualcosa che sia visualizzabile da un browser Web.

È qui che i Security Groups vengono analizzati per determinare quali percorsi di rete esistono e vengono create le relazioni padre/figlio tra i nodi (come le istanze EC2) e le strutture dei nodi (quali sotto reti, zone di disponibilità, VPC, regioni e account).

Il passaggio finale della presentazione dei dati nel web browser fa un uso pesante di cytoscape.js per visualizzare il layout del grafico e consentire l’interazione con le risorse.

Storicamente, questo problema avrebbe potuto essere risolto con graphviz, ma la soluzione cytoscape.js è più adatta alla generazione di immagini statiche.

Originariamente Cytoscape è stato creato per visualizzare reti di interazione molecolare, ma è stato reputato adatto per una grande varietà di altre visualizzazioni di rete.

Utilizzando cytoscape.js e presentando in un web browser il diagramma all’utente, è possibile fare clic sui nodi per ottenere ulteriori informazioni su di essi, spostarli, eliminarli e altro.

Questo strumento permette solo di visualizzare i dati, quindi qualsiasi azione che viene fatta non avrà alcun impatto sui tuoi attuali ambienti AWS.

È possibile ingrandire e rimpicciolire il layout, eseguire il pan, salvare un’immagine ad alta definizione o salvare e caricare il layout dopo aver spostato i nodi.

Inoltre si può fare clic su un nodo composto, ad esempio un VPC, e comprimerlo su un singolo nodo per semplificare la visualizzazione.

È facile trovare e selezionare i nodi vicini, fratelli, figli o i nodi principali.

Tramite un clic sui bordi si possono ottenere dettagli sui Security Groups che consentono la comunicazione.

Migliorare il layout

Visualizzare reti di grandi dimensioni è un problema non semplice da affrontare.

CloudMapper usa il layout di CoSE (Compound Spring Embedder) per Cytoscape.js sviluppato dall’i-Vis Lab della Bilkent University, che è considerato uno dei migliori algoritmi per la stesura di grafici con nodi composti.

Tuttavia, qualsiasi grafico con un numero elevato di nodi è intrinsecamente complicato.

Per gestire questo problema, CloudMapper ha una serie di opzioni di filtro che possono essere utilizzate durante la preparazione dei dati per la visualizzazione.

Le opzioni per ridurre la quantità di dati visualizzati includono la possibilità di:

  • Mostrare solo specifiche regioni
  • Ignorare i bordi interni se si desidera vedere solo quali risorse sono esposte pubblicamente
  • Aggregare le istanze EC2 simili a un singolo nodo in base al nome di un tag

Lascia una risposta

L'indirizzo email non verrà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.