Server Install - Cloud Image - AWS
Sandfly can be rapidly deployed on Amazon Web Services (AWS) with a single pre-built Amazon Machine Image (AMI). Images deployed in this way will have most configuration options automated, reducing setup time.
Installation Overview
For the basic cloud installation, the server and node are located on the same system. This is not the optimal security configuration for Sandfly as we prefer customers to run the server and nodes on separate Virtual Machines (VMs). However, for small production use and testing, this may be sufficient and allows the product to be deployed with little overhead.
The Sandfly server hosts the User Interface (UI), REST API, and database. A server instance must always be installed and running for Sandfly to work. Likewise, the system will start scanning nodes that are used when searching for compromises and intruders. These nodes also must always be running on the system after installation.
Cloud Image Requirements and Provisioning
When you provision a VM to use with Sandfly, we recommend a minimum of 8GB of RAM and sufficient CPU cores. For small deployments, this is the minimum but may have to be scaled upwards as more hosts are added. The VM image has Sandfly pre-installed and is ready to be configured.
From your EC2 Management Console, launch the Sandfly Security image from the AMI Catalog, or start your provisioned instance and wait a couple of minutes for the VM to start.
Set a Sandfly Admin Password
Open the public IP address of the Sandfly VM in your browser. You will be prompted to set an admin password. Once set, you can log in to Sandfly as the admin using that password.
Optional SSL Signed Certificate
If you want to use an SSL signed certificate with the cloud image, two options are available.
Custom Certificate
To use a custom certificate, perform the following steps:
- Obtain command line access.
- Gain access to the VM's command line by accessing the Console or via SSH, for example:
ssh -i <privatekey.pem> admin@<server_hostname>
- Gain access to the VM's command line by accessing the Console or via SSH, for example:
- Follow the steps in Installing a Custom SSL Certificate.
- The sandfly-setup directory is located under
/opt/.
- The sandfly-setup directory is located under
ACME Certificate Service
Ensure that the hostname is publicly resolvable and port 443 can be reached from the internet. The ACME service will not sign any certificate for servers that are not reachable on the internet.
IMPORTANT: Port 443 Must Be Visible from the Internet During Signing!Make sure the server has a legitimate hostname that is reachable from the internet and resolves correctly. Port 443 will need to be open for the Let's Encrypt server to validate the host.
To use a Let’s Encrypt certificate, perform the following steps:
- Navigate to Settings > Application Settings > General Settings.
- In the Server and Data Retention section, change the following:
- Server Hostname - Set this field to the hostname to be used by Let’s Encrypt.
- In the Server HTTPS Certificate (TLS) section, change the following:
- TLS Mode - Set this field to "acme" .
- ACME Email - Set this field to the email address that will be used by the ACME certificate service.
- Obtain command line access.
- Gain access to the VM's command line by accessing the Console or via SSH, for example:
ssh -i <privatekey.pem> admin@<server_hostname>.
- Gain access to the VM's command line by accessing the Console or via SSH, for example:
- Restart the Sandfly containers.
- Shutdown Sandfly - Run
/opt/sandfly-setup/start_scripts/shutdown_sandfly.shto gracefully shutdown all of the containers. - Start Sandfly Server - Run
/opt/sandfly-setup/start_scripts/start_sandfly.shto start the server-associated containers and load the new SSL certificate. - Start Sandfly Node - Run
/opt/sandfly-setup/start_scripts/start_node.shto start a single node container. If there is sufficient RAM, a second container can be started for node redundancy by running the same command an additional time.
- Shutdown Sandfly - Run
Setup Complete
Sandfly is now ready for use. To continue following the documentation, proceed to Quick Start Overview.
Updated 12 days ago