UNCLASSIFIED

README.md 5.12 KB
Newer Older
1
## Welcome to Aqua Cloud Native Security Platform (CSP)!
Joshua Eason's avatar
Joshua Eason committed
2

3 4 5 6 7 8 9 10 11 12 13
Aqua CSP provides full lifecycle security for your cloud native applications (containers, orchestrators, cloud VMs, and serverless functions) at a very granular level. Aqua includes preventive controls to secure the development pipeline; protects applications in runtime; detects and blocks attacks; and provides visibility and auditing for security risk management and compliance.

Aqua CSP:

* Integrates with your existing workflows for building, shipping, running, and securing your cloud workloads
* Works with the leading orchestrators and cloud provider platforms
* Secures environments consisting of servers running Linux and Windows, as well as CaaS and FaaS cloud services
* Provides you with full audit logs of security-related events that have occurred on your hosts or in your containers and serverless functions

Aqua CSP Version 5.0 includes several new features, other improvements, and changes with respect to CSP Version 4.6. They are described below.

14
### What's new in this version?
15 16 17 18 19 20 21 22 23 24 25 26 27 28
* Multi-Application Role-Based Access Control
* Aqua Dynamic Threat Analysis (DTA)
* Temporal exploitability information for vulnerabilities
* Risk-based Insights and enhanced filtering for vulnerability management
* Automated Kubernetes discovery without Aqua Enforcer (Linux hosts)
* Automatic NanoEnforcer deployment and Runtime Policy scope for AWS Lambda functions
* Improved calculation of vulnerability severity
* Scanning of local images in tar/OCI format
* New policy scope category: Cloud Attributes
* New and enhanced Host Runtime Policy controls
* Serverless runtime: event management via cloud native storage

More information at https://www.aquasec.com

29
### Aqua images and containers
30 31 32 33 34 35 36
Aqua components are supplied as product images in the Aqua Registry, and deployed as containers. The typical exceptions to this are:
* Aqua Server is  the central control component of Aqua CSP.
* Aqua Gateway(s) handle communication between the Aqua Server and the Aqua Enforcer(s), and use the Aqua Database. 
* Aqua Scanner(s) scan images for security issues (vulnerabilities, sensitive data, and malware) and send the results to the Aqua Server. The Scanners are directed by the Image Assurance Policies you have configured using the Aqua UI.
* Aqua Enforcer(s) provide runtime security-related monitoring of your running containers, in order to provide enforcement of the Container Runtime Policies you have configured using the Aqua UI. The Aqua Enforcer(s) also ensure that
 only registered and scanned images will run on the hosts where the Aqua Enforcer is deployed.
  
37
### Deploying Aqua CSP 
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

Follow the example below for a simple ``podman`` based deployment.

**Other deplyment options are available at https://github.com/aquasecurity/deployments/**

* ```<DB_HOST>``` must be changed to a resolvable DNS name or the IP address of the database host.
* Replace all occurrences of ```<DB_PASSWORD>``` with a password of your choice.
* Replace ```<CONSOLE_HOST>``` with a resolvable DNS name or the IP address of the Aqua Server host.
* Replace the image name with the appropriate Ironbank image source.

```
podman run -d -p 5432:5432 --name aqua-db \
   -e POSTGRES_PASSWORD=<DB_PASSWORD> \
   -v /var/lib/aqua-db/data:/var/lib/postgresql/data \
   registry.aquasec.com/database:5.0
    
 podman run -d -p 8080:8080 -p 443:8443 \
   --name aqua-web \
   -e SCALOCK_DBHOST=<DB_HOST> \
   -e SCALOCK_DBNAME=scalock \
   -e SCALOCK_DBUSER=postgres \
   -e SCALOCK_DBPASSWORD=<DB_PASSWORD> \
   -e SCALOCK_AUDIT_DBHOST=<DB_HOST> \
   -e SCALOCK_AUDIT_DBNAME=slk_audit \
   -e SCALOCK_AUDIT_DBUSER=postgres \
   -e SCALOCK_AUDIT_DBPASSWORD=<DB_PASSWORD> \
   -v /var/run/docker.sock:/var/run/docker.sock \
   registry.aquasec.com/console:5.0
 
 podman run -d -p 3622:3622 -p 8443:8443 --name aqua-gateway \
   -e AQUA_CONSOLE_SECURE_ADDRESS=<CONSOLE_HOST>:443 \
   -e SCALOCK_DBHOST=<DB_HOST> \
   -e SCALOCK_DBNAME=scalock \
   -e SCALOCK_DBUSER=postgres \
   -e SCALOCK_DBPASSWORD=<DB_PASSWORD> \
   -e SCALOCK_AUDIT_DBHOST=<DB_HOST> \
   -e SCALOCK_AUDIT_DBNAME=slk_audit \
   -e SCALOCK_AUDIT_DBUSER=postgres \
   -e SCALOCK_AUDIT_DBPASSWORD=<DB_PASSWORD> \
   registry.aquasec.com/gateway:5.0
```

80
 The instructions to deploy the Enforcer are installation dependent and can be retrieved from Enforcers page on the Aqua console web ui. Open the 3-dot menu on the right side of the default enforcer group and select 'Copy Deployment Command'.     
81

82
###  Sizing Guide
83 84 85 86 87 88 89 90 91 92 93 94 95
The sizing guidance below is based on a small kubernetes deployment as decribed in the following table:

| Hosts | Pods | Gateways | Scanners | Enforcers |
| --- | --- | --- | --- | --- |
| 50 | 4000 | 1 | 10 | 50 | 

| Component	| CPU (millicores) | RAM (GB)   | Storage (GB) |
|-----------| --- | ------ | --- |
| Aqua Server | Min: 2,000 Rec: 3,000 | Min: 3.0 Rec: 5.0 | Min: 5.0 Rec: 6.0 |
| Aqua Gateway (each) | Min: 1,000 Rec: 1,000 | Min: 1.0 Rec: 2.0 | | 
| Aqua Scanner (each) | Min: 500 Rec: 800 | Min: 2.0 Rec: 6.0 | Size of the largest image |
| Aqua Enforcer (each) | Min: 350 Rec: 500 | Min: 0.5 Rec: 1.5 | |
| PostgreSQL DB | Min: 2,000 Rec: 5,000 | Min: 10.0 Rec: 20.0 | Min: 50 Rec: 250 |