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:
- Clone the repository:
- Create and edit the .env file: Set your database username, password, and URL by executing:
- Start the Neo4j Docker instance:
- Build the tool:
bash
git clone --depth=1 https://github.com/prima-it/nuvola.git; cd nuvola
bash
cp .env_example .env
bash
make start-containers
bash
make build
Usage
Once you have nuvola set up, it’s time to explore its capabilities:
- Dump all AWS service configurations: This loads data into the Neo4j database:
- Import a previous dump: Use this command to load previously executed data:
- Perform static assessments: Run predefined rules on the imported data:
- Explore with Neo4j Browser: Dive deep into the digital twin and get creative:
bash
./nuvola dump --aws-profile default_RO --output-dir ~/DumpDumpFolder --output-format zip
bash
./nuvola assess --import ~/DumpDumpFolder/nuvola-default_RO_20220901.zip
bash
./nuvola assess
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 theNEO4J_server_memory__*
settings are excessive, causing the Docker container to crash due to insufficient memory. To resolve this, remove theNEO4J_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!