How to Analyze AWS Environments with nuvola

Aug 17, 2024 | Programming

If you’re looking for a straightforward way to perform security analysis on AWS environments, nuvola is your go-to tool. It allows both automatic and manual configuration analysis for AWS services using an intuitive Yaml syntax. In this article, we’ll guide you through setting up nuvola and troubleshooting potential issues, all while making it user-friendly and engaging!

What is nuvola?

Imagine nuvola as a skilled detective investigating the cloud environment of an organization. Just like a detective uses tools to find hidden clues and uncover secrets, nuvola reflects the traits of BloodHound for Active Directory but in a cloud setting—specifically for AWS. Think of it as creating a digital twin of your cloud infrastructure, identifying various potential attack paths while keeping everything organized like a neatly arranged library.

Quick Start

Before we dive into the setup, ensure you have the following requirements:

  • Docker Compose installed
  • An AWS account configured for use with AWS CLI, with ReadOnly access recommended (use the policy arn:aws:iam::aws:policyReadOnlyAccess)

Setup

Follow these simple steps to get nuvola up and running:

  1. Clone the repository:
  2. bash
    git clone --depth=1 https://github.com/prima-it/nuvola.git; cd nuvola
    
  3. Create and edit the .env file: Set your database username, password, and URL by executing:
  4. bash
    cp .env_example .env
    
  5. Start the Neo4j Docker instance:
  6. bash
    make start-containers
    
  7. Build the tool:
  8. bash
    make build
    

Usage

Once you have nuvola set up, it’s time to explore its capabilities:

  1. Dump all AWS service configurations: This loads data into the Neo4j database:
  2. bash
    ./nuvola dump --aws-profile default_RO --output-dir ~/DumpDumpFolder --output-format zip
    
  3. Import a previous dump: Use this command to load previously executed data:
  4. bash
    ./nuvola assess --import ~/DumpDumpFolder/nuvola-default_RO_20220901.zip
    
  5. Perform static assessments: Run predefined rules on the imported data:
  6. bash
    ./nuvola assess
    
  7. Explore with Neo4j Browser: Dive deep into the digital twin and get creative:
  8. Neo4j Browser

Troubleshooting

Like a detective may face roadblocks, you could encounter issues along the way. Here are some troubleshooting tips:

  • If you’re using the .env_example, you might notice that the NEO4J_server_memory__* settings are excessive, causing the Docker container to crash due to insufficient memory. To resolve this, remove the NEO4J_server_memory__* lines to allow Neo4j to calculate the appropriate values based on available resources.
  • For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

About nuvola

To learn more about how to get started with nuvola and its database schema, check out the nuvola Wiki. Rest assured, no data is shared with Prima Assicurazioni.

Contribution

If you’re eager to improve nuvola, here are some ways you can contribute:

  • Report bugs and issues
  • Suggest new improvements
  • Review issues and pull requests
  • Fix reported bugs
  • Create new rules
  • Enhance overall quality

Final Thoughts

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Harness the power of nuvola, and elevate your AWS security analysis to new heights!

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox