This guide will help you deploy the Metalware firmware fuzzer as a Docker container in your cloud environment. Follow the instructions below to choose the proper instance, set up the prerequisites, load the Docker image, run the container with the appropriate environment variables, and verify the service.
1. Pre-Deployment Requirements
Before you run the Docker container, ensure that you have completed the following steps:
- Minimum System Requirements:
- Memory: At least 8GB RAM
- CPU: At least 2 CPU cores (performance scales vertically)
- Operating System: A supported Linux distribution (e.g., Ubuntu, Amazon Linux 2) with Docker installed
- Docker Installation: Ensure Docker is installed and running.
- Example (Ubuntu):
bashsudo apt-get update sudo apt-get install -y docker.io sudo systemctl start docker sudo systemctl enable docker
- Okta Setup: Confirm that your Okta credentials are prepared, as youβll need to provide the following environment variables when running the container:
OKTA_ISSUER
OKTA_CLIENT_ID
OKTA_CLIENT_SECRET
- Networking:
- Ensure that your firewall or security groups allow traffic on the port you plan to use (default 8080 or your chosen alternative).
2. Load the Docker Image
Load the Metalware image (e.g.,
havoc-0.x.x.tar
) into your local Docker environment:bashdocker load -i havoc-0.x.x.tar
This command imports the image and outputs the corresponding image ID.
3. Running the Docker Container
Before running the container, double-check that Docker is running on your instance and that your Okta settings are correctly configured.
- Using the Default Port (8080):
bashdocker run -e OKTA_ISSUER=<okta issuer url> \ -e OKTA_CLIENT_ID=<okta client id> \ -e OKTA_CLIENT_SECRET=<okta client secret> \ -p 0.0.0.0:8080:8080 havoc:latest
- Mapping to an Alternative Host Port (e.g., 8082):
bashdocker run -e OKTA_ISSUER=<okta issuer url> \ -e OKTA_CLIENT_ID=<okta client id> \ -e OKTA_CLIENT_SECRET=<okta client secret> \ -p 0.0.0.0:8082:8080 havoc:latest
4. Verify That Metalware is Running
- Open a browser and navigate to:
plain texthttp://<host ip>:<host port>
- You should now see the Okta login screen, where users can authenticate using their Okta credentials.
5. Troubleshooting & Notes
- Okta API Settings: Ensure that the Okta API settings match your deployment environment.
- Firewall/Security Group Rules: Verify that port forwarding and network rules allow traffic between Okta and your instance.
- Authorization Server Configuration: If authentication fails, check that the Authorization Serverβs audience (
api://metalware/havoc
) is set to the expected value.