GoPhish Tutorial

Deploy GoPhish on Azure

Launch a fully-configured GoPhish Cloud instance on Azure in under 5 minutes using ARM templates.

Overview

This tutorial guides you through deploying GoPhish Cloud on Microsoft Azure using our pre-built ARM (Azure Resource Manager) template. The deployment creates all necessary resources including VMs, networking, and managed databases.

Prerequisites

  • Azure Subscription with Contributor access
  • Basic understanding of Azure Resource Groups
  • Azure CLI installed (optional)

What You'll Get

  • Azure VM running GoPhish (Standard_B2s recommended)
  • Network Security Group configured for HTTPS and admin access
  • Public IP address for external connectivity
  • Azure Database for PostgreSQL
  • Managed SSL certificates via Application Gateway
Azure Marketplace GoPhish Listing

GoPhish Cloud on Azure Marketplace

Step 1: Access Azure Portal

Log into the Azure Portal and create a new Resource Group for your GoPhish deployment.

  1. Navigate to portal.azure.com
  2. Click "Resource groups" → "Create"
  3. Name it "rg-gophish-prod" in your preferred region
  4. Click "Review + Create" → "Create"

Step 2: Deploy ARM Template

Use our ARM template to deploy GoPhish infrastructure:

# Using Azure CLI
az deployment group create \
  --resource-group rg-gophish-prod \
  --template-uri https://hailbytes.com/templates/gophish-arm-template.json \
  --parameters vmSize=Standard_B2s adminUsername=azureuser

# Or click this button in the portal:
# Deploy to Azure button links to template

Alternatively, in the Azure Portal: go to "Create a resource" → "Template deployment" → "Build your own template" → paste the ARM template JSON.

Step 3: Configure Deployment Parameters

Fill in the required parameters for your deployment:

Parameter Value Description
vmName vm-gophish-prod Virtual machine name
vmSize Standard_B2s 2 vCPUs, 4GB RAM
adminUsername azureuser SSH admin username
authenticationType sshPublicKey SSH key or password
databaseSKU B_Gen5_1 PostgreSQL tier

Step 4: Review and Create

Validate your configuration and deploy the resources.

  1. Review all parameters in the validation screen
  2. Check estimated costs in the summary
  3. Click "Create" to begin deployment
  4. Monitor deployment progress in "Deployments" tab
  5. Wait for "Deployment succeeded" status (3-5 minutes)

Step 5: Access Your GoPhish Dashboard

Once deployment completes, retrieve your connection information:

# Get public IP address
az vm show -d -g rg-gophish-prod -n vm-gophish-prod \
  --query publicIps -o tsv

# Get deployment outputs
az deployment group show \
  -g rg-gophish-prod \
  -n gophish-deployment \
  --query properties.outputs

# Outputs will include:
# - adminURL: https://:3333
# - publicURL: https://
# - sshCommand: ssh azureuser@

Navigate to the Admin URL and log in with default credentials (sent to your admin email).

Post-Deployment Configuration

Security Best Practices

  • ✓ Change default admin password immediately
  • ✓ Configure Azure Application Gateway for SSL/TLS
  • ✓ Update NSG rules to restrict IP access
  • ✓ Enable Azure Monitor for VM and database metrics
  • ✓ Set up Azure Backup for VM and database
  • ✓ Configure custom domain with Azure DNS

Cost Estimation

Monthly Azure costs for typical GoPhish deployment:

Resource Configuration Est. Monthly Cost
VM Instance Standard_B2s (2 vCPU, 4GB) $36
Azure Database PostgreSQL B_Gen5_1 (1 vCore, 5GB) $28
Managed Disk Premium SSD 128GB $19
Public IP Static IPv4 $3
Bandwidth ~100GB/month egress $8
Total ~$94/month

Next Steps

Create Your First Campaign

Learn how to set up and launch your first phishing simulation campaign.

View Tutorial →

Email Template Best Practices

Design effective phishing templates that test user awareness.

View Tutorial →

Need Help?

If you encounter issues during deployment, our support team is here to help.

Contact Support