← zabolotny.de
DEENRUUA

Home / Notes

DevOps · Cloudflare · Zero Trust

Zero Trust for the homelab: Cloudflare Tunnel and Access instead of open dashboards

An internal dashboard was publicly reachable via a subdomain. Here is how I locked it down with Cloudflare Tunnel, Cloudflare Access and Tailscale.

Serge Zabolotny ·

Starting point

My homelab (Proxmox VE with LXC containers) runs a dashboard that lists all services. It was publicly reachable via a subdomain – without a login. That is exactly the typical gap in self-hosting: the service is handy, but anyone who guesses or finds the address sees the overview.

The solution in four building blocks

  1. Cloudflare Tunnel as the only entrance. The tunnel makes an outbound connection to Cloudflare. So no port forwarding is needed on the router and no ports are open to the outside.
  2. Cloudflare Access as the zero-trust layer. An Access policy sits in front of the dashboard: only my email address may enter, and sign-in works via one-time PIN.
  3. Tailscale for everything private. Services that should never be public (e.g. photo management) are reachable only through the WireGuard-based Tailscale network.
  4. Regularly check what is published. The actual trigger was a forgotten publication.

How I check what is really public

The key lesson: it is not only the service that counts, but also what DNS and the tunnel publish. My checklist:

cloudflared tunnel list
cloudflared tunnel info <tunnel-name>

Rule of thumb: zero trust does not mean switching on a tool, but making a conscious decision for every access: public with login, private via Tailscale – or not reachable at all.

Result

The dashboard is now reachable only after login, no port is open on the router, and private services live entirely inside the Tailscale network. One dashboard less that gives away the internal infrastructure.

Keep reading

Access · Security · Backup

Reaching and protecting a home server: Tailscale, Cloudflare Tunnel, vzdump

A home server is only as good as its access and its backups. My principle: no port forwarding, every access path a conscious decision, a backup every day.

Self-hosting · Homelab · Privacy

Leaving the cloud: a home server instead of Google, iCloud & co.

At home I run a Proxmox server with 15+ services. Here is which cloud services it replaces for me, what it costs – in time – and where you are better off staying in the cloud.

Proxmox · LXC · Homelab

Proxmox & LXC in a homelab: which containers I run and why

Four containers, four roles: how my home server is built, which programs run where and how I laid out the storage.

DevOps · CI/CD · Next.js

CI/CD for Next.js 15 on a VPS: GitHub Actions, PM2 reload and Caddy

Manual deployments were slow and error-prone. Today a git push is enough – no downtime and no PaaS.

Comments

Join the discussion: comments run on GitHub Discussions (sign in with a GitHub account). Content from GitHub/giscus is only loaded after you click. Privacy

More from practice

Find more notes, case studies and projects on the homepage.

All notes Case study MeisterMeld Case study PflegeOasis Case study Kernbohr-Expert Back to the homepage