Prepare AWS Credentials
Your ZeusCloud deployment will need AWS credentials to scan your account(s). Either set up an IAM role for ZeusCloud or set up an IAM user with an access key. The former uses short-term credentials, which is more secure! However, it can take a bit more time to setup.Option 1: IAM role (more secure)
Option 1: IAM role (more secure)
Prerequisite: An existing named profile in
~/.aws/config. ZeusCloud will request credentials for the IAM role via this named profile.If you have no such named profile, either- Create an IAM user with no permissions, create an access key for it, and create a named profile in
~/.aws/configand~/.aws/credentials. - Try Option 2 below instead.
- Create a new IAM role in the account.
- Attach the SecurityAudit policy to it.
- Create a trust relationship policy allowing the user/role associated with the above named profile to assume this role. Here’s a template:
- Create a named profile in
~/.aws/configfor this new IAM role. Here’s a template:
You must set a region in this named profile for ZeusCloud to successfully scan!
Option 2: IAM user + access key (faster)
Option 2: IAM user + access key (faster)
- Create a new IAM user in the account.
- Attach the SecurityAudit policy to the user.
- Create an access key for the user.
Access keys are long-term credentials. Be sure to delete the user / access key once they are no longer needed!
Deploy ZeusCloud Locally
1. Clone the repo.
Bash
2. Run ZeusCloud.
Bash
If you are not deploying locally (on an AWS VM, for instance), you will need to change the
WEBSITE_DOMAIN and REACT_APP_API_DOMAIN environment variables in the .env file before deploying. Examples are http://<your-vm-ip>:80 or https://<your-deployed-domain>:443.If you are deploying with Option 1, ZeusCloud expects your AWS configurations in
~/.aws. If your configurations are in a different location, update the AWS_DIRECTORY variable in the .env file. For Windows, change to %USERPROFILE%\.aws.3. Visit UI
Visit http://localhost:80.Connect ZeusCloud to AWS
Once ZeusCloud is deployed, you must connect it to the AWS account(s) you would like to scan. Navigate toSettings > Add new account. Fill in the Account Name with whatever string-identifier you would like. Fill in remaining fields based on whether you are deploying with Option 1 or 2.
Option 1: IAM role
Option 1: IAM role
- Select
Named ProfileforConnection Method. - In the
Profiledropdown, select the named profile you created earlier.
Option 2: IAM user + access key
Option 2: IAM user + access key
- Select
User Access KeyforConnection Method. - Fill in the
AWS Access Key IDandAWS Secret Access Keywith the access key credentials you just created. - Optionally, change the default region.
Wait for Scan
Once you connect your account(s), ZeusCloud will scan them and run various security rules. This process may take 10-15 minutes.- Monitor progress through the UI: the
Settingspage should show a percentage completed. - Monitor the terminal as well: you should see logs from the
cartographycontainer.
You should see backend container logs like above if the scan has successfully completed.
Explore ZeusCloud Findings
At the end of the scan, navigate to theAlerts tab to see findings for misconfiguration and attack path security rules.
Check out the Rules tab for a catalog of the security rules that were run. Check your compliance posture for various frameworks in the Compliance tab.
