
Graph-basiertes AWS-Sicherheitsanalyse-Tool, das Cloud-Konfigurationen extrahiert, Fehlkonfigurationen erkennt und Angriffspfade mithilfe eines Neo4j-Digitalen Zwillings mit erweiterbaren YAML-Regeln kartiert.
nuvola (mit kleinem n) ist ein Tool zum Auslesen und zur automatischen sowie manuellen Sicherheitsanalyse von AWS-Umgebungen-Konfigurationen und -Diensten unter Verwendung von vordefinierten, erweiterbaren und benutzerdefinierten Regeln, die mit einer einfachen YAML-Syntax erstellt werden.
Die allgemeine Idee hinter diesem Projekt ist es, einen abstrahierten digitalen Zwilling einer Cloud-Plattform zu erstellen. Ein konkreteres Beispiel: nuvola spiegelt die BloodHound-Eigenschaften wider, die für Active-Directory-Analysen verwendet werden, jedoch in Cloud-Umgebungen (derzeit nur AWS).
Die Verwendung einer Graphdatenbank erhöht zudem die Möglichkeit, verschiedene und innovative Angriffspfade zu finden, und kann als offline, zentralisierter und leichtgewichtiger digitaler Zwilling verwendet werden.
docker-compose installiertawscli konfiguriert ist, mit vollständigem Zugriff auf die Cloud-Ressourcen, besser im ReadOnly-Modus (die Richtlinie arn:aws:iam::aws:policy/ReadOnlyAccess ist ausreichend)git clone --depth=1 https://github.com/primait/nuvola.git; cd nuvola
.env-Datei, um deinen DB-Benutzernamen/dein Passwort/die URL festzulegencp .env_example .env;
Möglicherweise musst du die Größe des für Neo4j reservierten Arbeitsspeichers anpassen, wenn du das Tool auf einem Gerät mit wenig RAM ausführst.
make start-containers
make build
./nuvola dump --aws-profile default_RO --output-dir ~/DumpDumpFolder --output-format zip
./nuvola assess --import ~/DumpDumpFolder/nuvola-default_RO_20220901.zip
./nuvola assess

Wenn du .env_example verwendest, könnten die NEO4J_server_memory_*-Speichereinstellungen von Neo4j zu groß sein, was dazu führt, dass der Docker-Container aufgrund von Speichermangel auf dem Host-System abstürzt. Durch Entfernen der NEO4J_server_memory_*-Zeilen wird Neo4j gezwungen, diese Werte basierend auf den verfügbaren Systemressourcen zu berechnen (Referenz).
Um mit nuvola und seinem Datenbankschema zu beginnen, schau dir das nuvola Wiki an.
Es werden keine Daten an Prima Assicurazioni gesendet oder mit ihnen geteilt.
nuvola nutzt Graphentheorie, um mögliche Angriffspfade und Sicherheitsfehlkonfigurationen in Cloud-Umgebungen aufzudecken.
Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, entweder Version 3 der Lizenz oder (nach Ihrer Wahl) jeder späteren Version weiterverbreiten und/oder modifizieren.
Dieses Programm wird in der Hoffnung weitergegeben, dass es nützlich sein wird, aber OHNE JEDE GEWÄHRLEISTUNG; ohne die stillschweigende Gewährleistung der MARKTGÄNGIGKEIT oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Die GNU General Public License enthält weitere Einzelheiten.
Sie sollten zusammen mit diesem Repository und Programm eine Kopie der GNU General Public License erhalten haben. Wenn nicht, siehe http://www.gnu.org/licenses/.