
- AWS· soonComing soon on Amazon Web Services
- Azure· soonComing soon on Microsoft Azure
- GCP· nextGoogle Cloud is next on the roadmap
OpenVPN Community Server with Web Admin
OpenVPN 2.7.7 community server with a web admin for creating, downloading and revoking client profiles, Easy-RSA 3.2.7 for the certificates and Webmin for the host. Full-tunnel routing, NAT and DNS are already configured, there is no per-user licence or connection cap, and every server generates its own certificate authority on first boot.
- Version
- v2.7.7
- Operating system
- Ubuntu 24.04 LTS
- Architecture
- x86_64
- Support
- Community
What's installed
Every package and version on the image, identical on every cloud it ships on. Nothing else is installed.
- OpenVPN 2.7.7 (community edition)
- Easy-RSA 3.2.7
- ProvenCloud VPN Admin 1.0
- nginx 1.24.0
- Webmin 2.670
- Certbot (for an optional Let's Encrypt certificate)
LicensingOpen source (OpenVPN and Easy-RSA GPL-2.0), no licence key or per-user fee
Deploy anywhere
OpenVPN Community Server with Web Admin on AWS and Azure.
Google Cloud is next on the roadmap. One clean-room build, one first-boot credential model, one patch cadence — identical on every cloud you run. Every identifier below is the real one; copy it and launch.
- AWSComing soon
Amazon Web Services
AMI · v2.7.7
AWS AMI IDami-0448214981788179c- Released
- Root volume
- gp3 · 20 GiB
Instance types- t3a.medium
- t3.medium
- t3a.small
- c6a.large
Regions- us-east-1
- AzureComing soon
Microsoft Azure
Compute Gallery image · v2.7.7
Azure Compute Gallery image ID…/galleries/provencloud/images/openvpn/versions/2026.10.1- Released
- OS disk
- Premium_LRS · 30 GiB
- Gallery
- provencloud
- Definition
- openvpn
- Resource group
- provencloud-images-rg
VM sizes- Standard_D2as_v7
- Standard_D2as_v5
- Standard_B2ms
- Standard_D4as_v7
Regions- eastus
Getting started on Amazon Web Services
From launch to signed in, step by step.
Launch in us-east-1 with UDP
1194and TCP22,80,443and8000open; wait two to three minutes. Port 1194 must be UDP, or the admin page works while every VPN connection times out.Open
https://<instance-public-ip>/and accept the browser warning for the server's own certificate. Sign in with usernameadminand your EC2 Instance ID as the password (for examplei-0123456789abcdef0).Click Create client, name the device, then Download .ovpn and import it into any OpenVPN-compatible app. Use one client per device; Revoke cuts that device off immediately.
Profiles connect to the instance's public IP, so attach an Elastic IP or set a DNS name under Settings. For a trusted certificate run
sudo bash /home/ubuntu/iscripts/vpn-https.sh <domain> <email>.Webmin: port
8000, usernameadmin, same password. SSH asubuntu; manage clients there withsudo bash /home/ubuntu/iscripts/vpn-client.sh.
Security posture
What this AWS image does and does not ship with, one fact per line.
Clean-room build on Canonical's official Ubuntu 24.04 LTS image: every component comes from its own official repository or release, and nothing is copied from any third-party image.
Every server generates its own certificate authority, server certificate, tls-crypt key and admin HTTPS certificate on first boot; none of them ships in the image, and the build's copies were deleted and searched for before capture.
Certificates are EC P-384, the control channel needs TLS 1.2 or newer (1.3 negotiated in testing) and is wrapped in tls-crypt, and the data channel uses AES-256-GCM or ChaCha20-Poly1305.
Revoking a client updates the revocation list and pushes a halt to its live session; a reconnect with the revoked profile is refused.
The revocation list is valid for ten years and renewed at boot, so the server never locks every client out when a short default list expires.
The admin page is HTTPS only, with a CSRF token on every form, Secure and SameSite cookies, a 15-minute lockout after five failed sign-ins, rate-limited sign-in attempts and a strict Content-Security-Policy.
The web process runs unprivileged and reaches the certificate authority only through a fixed list of commands.
Passwords are set from EC2 instance metadata (IMDSv2) at first boot, SSH is key-only, and build keys, history and logs were removed before imaging.
Verified on a fresh instance with a real client: full-tunnel traffic, revocation, reboot and a stop/start that changed the IP.
Getting started on Microsoft Azure
From launch to signed in, step by step.
Deploy the gallery image in eastus with UDP
1194and TCP22,80,443and8000open in your network security group. Chooseubuntuas the administrator username so SSH and the script paths match. Wait about two minutes.Open
https://<vm-public-ip>/, accept the browser warning for the VM's own certificate, and sign in with usernameadmin.Click Create client, name the device, then Download .ovpn and import it into any OpenVPN-compatible app. Revoke cuts a device off immediately.
Webmin: port
8000, usernameadmin. SSH asubuntu; manage clients withsudo bash ~/iscripts/vpn-client.sh.The password is your VM ID: in the Azure portal open the virtual machine, choose Properties and copy VM ID - a 36-character value such as
02aab8a4-74ef-476e-8182-f6d2ba4166a6, typed exactly as shown in lower case.
Security posture
What this Azure image does and does not ship with, one fact per line.
Clean-room build on Canonical's official Ubuntu 24.04 LTS image from the Azure Marketplace.
Every server generates its own certificate authority, server certificate, tls-crypt key and admin HTTPS certificate on first boot; none of them ships in the image, and the build's copies were deleted and searched for before capture.
Certificates are EC P-384, the control channel needs TLS 1.2 or newer (1.3 negotiated in testing) and is wrapped in tls-crypt, and the data channel uses AES-256-GCM or ChaCha20-Poly1305.
Revoking a client updates the revocation list and pushes a halt to its live session; a reconnect with the revoked profile is refused.
The revocation list is valid for ten years and renewed at boot, so the server never locks every client out when a short default list expires.
The admin page is HTTPS only, with a CSRF token on every form, Secure and SameSite cookies, a 15-minute lockout after five failed sign-ins, rate-limited sign-in attempts and a strict Content-Security-Policy.
The web process runs unprivileged and reaches the certificate authority only through a fixed list of commands.
Passwords are set from the VM's own vmId read from Azure IMDS; the ubuntu account ships password-locked with an empty authorized_keys.
Microsoft's documented Linux certification checks: 13 passed, 0 failures, with VM extension provisioning confirmed and a real client tested end to end.