stunnel TLS Proxy on Ubuntu 24.04 LTS

Azure Networking

add TLS encryption to any TCP service without changing the application

Base
Hardened build
minimal ports, security patches applied at build time
Access
Unique credentials
generated on first boot, readable only by root
Verified
Boots working
services pass a health gate before release
Support
24/7, 365 days
by email and live chat, 24 hour response SLA

Overview

stunnel is a TLS proxy that wraps existing network services in encryption. It sits in front of a plaintext service and terminates TLS on its behalf, or connects outward over TLS for a client that only speaks plaintext, so software with no encryption of its own can still be reached safely across an untrusted network. Tunnels are defined in a short text configuration file, one block per service, and a tunnel can require the client to prove itself with a shared secret or a certificate before the connection is allowed through to the backend at all.

Why the cloudimg image

cloudimg ships stunnel secure by default. Nothing usable is baked into the image: the TLS certificate, its private key and the tunnel shared secret are all generated on first boot, so no two instances hold the same key material, and the daemon is held behind a bootstrap gate until that has happened. The tunnel that ships enabled demands the shared secret before the TLS handshake will even complete, so a client without it never reaches the backend, and the daemon itself runs unprivileged under systemd with a modern TLS floor. Every deployment is fully patched, with a paired deploy guide and 24/7 cloudimg support.

Common uses

  • Put TLS in front of a service that has no encryption of its own
  • Reach an internal service across an untrusted network over an authenticated tunnel
  • Terminate TLS for legacy applications without touching their code