We offer a number of flexible deployment options based on what you need. This includes the
Standard Deployment which requires filling out only 5 fields in the CloudFormation Template. This also includes a completely
Private Deployment where all of our components run in private VPCs and private Subnets with no public IPs assigned at all. We also offer the inbetween where you have public access (public Load Balancer) while still running all solution components in private VPC/Subnets. You can mix and match as well as incorporate VPC Endpoints to keep as much traffic as possible going over the AWS backbone.
All components deployed, created and installed run inside of your account. We do not host any of them and we never send any of your objects/files outside of your account. All scanning is performed close to the data inside your account(s) and in-region.
As you'll learn below, we may send some data (IP address, account email, version numbers) to a Cloud Storage Security AWS account to assist you and your users with accessing your application. You can opt out of even this.
No matter the deployment option you choose, you can leverage local signature updates for both the Sophos engine and the ClamAV engine.
Standard Deployment is the simplest deployment. After providing only 5 inputs to the CloudFormation Template you will have a deployed and running solution in ~5 minutes. This deployment expects the Console and the Agent(s) to be placed in VPCs and Subnets that have an Internet Gateway allowing for outbound traffic. This a typical setup for VPCs and Subnets.The outbound routing allows ECS to pull down images from ECR, allows the Console and Agent(s) to communicate with required AWS Services and provides access to the management UI. Although public IPs are assigned, control is still done through Security Groups and access can be limited. With this deployment, we register your application subdomain with a Route53 we host in one of the Cloud Storage Security AWS accounts. This allows you to have consistent access to your application. If you'd prefer to manage the domain and SSL cert yourself, you can leverage the Application Load Balancer options discussed below.
Private Deployments are defined by locking down the solution components (Console and Agents) such that they do not have public IPs. You can still provide public access if desired while locking everything else down. Whether it is best practices, compliance or internal rules you can deploy and leverage the solution as needed. You'll see the deployment options below leveraging Application Load Balancers. These can be
internal and can even be leveraged with the
Standard Deployment. You do not have to leverage an ALB in a private deployment, but there are a number of reasons you might want to. First off, AWS Fargate tasks do not get assigned persistent IP addresses. As a result, the IP address can change underneath you requiring you to look it up. You may also decide you'd like to manage or apply your own domain and SSL certificate for accessing the application. A load balancer allows you to accomplish all of these things: a persistent access point, apply your own domain and leverage your own certificates.
Public Load Balancer Option¶
With this option we deploy an
internet-facing load balancer on your behalf that will be publicly available based on your Security Group rules. Easy access over HTTPs.
Private Load Balancer Option¶
With this option we deploy an
internal load balancer on your behalf that will be assigned only internal/private IPs. You must be able to access this network, typically through VPN or Direct Connect, in order to access the application.
Leveraging VPC Endpoints¶
In the previous deployment options you either assigned public or private IPs to the solution components and you controlled their privacy by utilizing either an Internet Gateway or a NAT Gateway. In either scenario, all AWS API calls went out over the internet. There are times when you may not want this to happen ... at all. AWS does provide mechanisms (VPC Endpoints) to keep the API call traffic on the AWS backbone and not travel over the internet. VPC Endpoints can be mixed and matched into any of the deployment options, public or private. As seen below, all but 4 services the Console leverages and all but 2 services the Agent leverages can leverage VPC Endpoints. This is a great reduction in the amount of traffic over the public internet so is worth considering.
The Console leverages 4 services that do not have VPC Endpoints today: Marketplace, Security Hub, Cognito and AppConfig. In order to use these services you will be required to provide either an Internet Gateway or a NAT Gateway (or equivalent). Marketplace can be bypassed if you chose BYOL payment model and Security Hub can be bypassed by not using it. That still leaves 2 services the Console requires a route to.
The Agent requires only one service: AppConfig. Optionally Security Hub is another service the Agent can leverage.
The API Endpoint is another Agent Service that allows for an API Driven scan of files and objects. It can be mixed into any of the deployment options above. It earns a special call out because it has its own Application Load Balancer deployed for and associated with it. So you can have a deployment that has an ALB fronting the Console and then another ALB fronting the API Endpoint. Like previously discussed load balancers, you can choose to make the ALB
internal, it all depends on your needs.
We are not showing a multi-region deployment below, but if your requirements dictate it, you can deploy as many API Endpoints as needed so scanning can be close to you users/applications/data.